|
1 |
| -require 'exceptions' |
2 |
| -## |
3 |
| -## Check for dependencies |
4 |
| -## |
5 |
| - |
6 |
| -version = Rails::VERSION::STRING.split(".") |
7 |
| -if version[0] < "1" or (version[0] == "1" and version[1] < "2") |
8 |
| - message = <<-EOM |
9 |
| - ************************************************************************ |
10 |
| - Rails 1.2.1 or greater is required. Please remove ActiveScaffold or |
11 |
| - upgrade Rails. After you upgrade Rails, be sure to run |
12 |
| -
|
13 |
| - > rake rails:update:javascripts |
14 |
| -
|
15 |
| - to get the newest prototype.js. |
16 |
| - ************************************************************************ |
17 |
| - EOM |
18 |
| - ActionController::Base::logger.error message |
19 |
| - puts message |
20 |
| - raise ActiveScaffold::DependencyFailure |
21 |
| -end |
22 |
| - |
23 |
| -begin |
24 |
| - Paginator rescue require('paginator') |
25 |
| -end |
26 |
| - |
27 |
| -## |
28 |
| -## Load the library |
29 |
| -## |
30 | 1 | require 'active_scaffold'
|
31 |
| -require 'configurable' |
32 |
| -require 'finder' |
33 |
| -require 'constraints' |
34 |
| -require 'attribute_params' |
35 |
| -require 'active_record_permissions' |
36 |
| -require 'responds_to_parent' |
37 |
| -require 'composite_keys' |
38 |
| - |
39 |
| -## |
40 |
| -## Autoloading for some directories |
41 |
| -## (this could probably be optimized more -lance) |
42 |
| -## |
43 |
| -def autoload_dir(directory, namespace) |
44 |
| - Dir.entries(directory).each do |file| |
45 |
| - next unless file =~ /\.rb$/ |
46 |
| - if file =~ /^[a-z_]+\.rb$/ |
47 |
| - constant = File.basename(file, '.rb').camelcase |
48 |
| - eval(namespace).autoload constant, File.join(directory, file) |
49 |
| - else |
50 |
| - message = "ActiveScaffold: could not autoload #{File.join(directory, file)}" |
51 |
| - RAILS_DEFAULT_LOGGER.error message |
52 |
| - puts message |
53 |
| - end |
54 |
| - end |
55 |
| -end |
56 |
| -[:config, :actions, :data_structures].each do |namespace| |
57 |
| - ActiveScaffold.class_eval "module #{namespace.to_s.camelcase}; end" |
58 |
| - autoload_dir "#{File.dirname __FILE__}/lib/#{namespace}", "ActiveScaffold::#{namespace.to_s.camelcase}" |
59 |
| -end |
60 | 2 |
|
61 |
| -## |
62 |
| -## Preload other directories |
63 |
| -## |
| 3 | +# TODO: clean up extensions. some could be organized for autoloading, and others could be removed entirely. |
64 | 4 | Dir["#{File.dirname __FILE__}/lib/extensions/*.rb"].each { |file| require file }
|
65 |
| -Dir["#{File.dirname __FILE__}/lib/helpers/*.rb"].each do |file| |
66 |
| - require file unless ['view_helpers.rb', 'controller_helpers.rb'].include? File.basename(file) |
67 |
| -end |
68 |
| -require "#{File.dirname __FILE__}/lib/helpers/view_helpers" |
69 |
| -require "#{File.dirname __FILE__}/lib/helpers/controller_helpers" |
70 | 5 |
|
71 |
| -## |
72 |
| -## Load the bridge infrastructure |
73 |
| -## |
74 |
| -require 'bridges/bridge.rb' |
75 |
| - |
76 |
| - |
77 |
| -## |
78 |
| -## Inject includes for ActiveScaffold libraries |
79 |
| -## |
80 | 6 | ActionController::Base.send(:include, ActiveScaffold)
|
81 | 7 | ActionController::Base.send(:include, RespondsToParent)
|
82 | 8 | ActionController::Base.send(:include, ActiveScaffold::Helpers::ControllerHelpers)
|
83 | 9 | ActionView::Base.send(:include, ActiveScaffold::Helpers::ViewHelpers)
|
84 | 10 |
|
| 11 | +ActionController::Base.class_eval {include ActiveRecordPermissions::ModelUserAccess::Controller} |
| 12 | +ActiveRecord::Base.class_eval {include ActiveRecordPermissions::ModelUserAccess::Model} |
| 13 | +ActiveRecord::Base.class_eval {include ActiveRecordPermissions::Permissions} |
| 14 | + |
| 15 | +require 'bridges/bridge.rb' |
0 commit comments