aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/configuration.rb
diff options
context:
space:
mode:
authorYehuda Katz <wycats@Yehuda-Katz.local>2009-12-27 14:36:59 -0800
committerYehuda Katz <wycats@Yehuda-Katz.local>2009-12-27 14:36:59 -0800
commit12e43494a748e0144195be12dc19161cc3e4d39f (patch)
treec06f88b7ddf6e41205838cc6f4edd2257a801dcb /railties/lib/rails/configuration.rb
parent1c26ba486c23f229a12fea6ccad33e6cb3122b91 (diff)
parent97db79ab3c0af7b6805dcaee99384d96ccb3567d (diff)
downloadrails-12e43494a748e0144195be12dc19161cc3e4d39f.tar.gz
rails-12e43494a748e0144195be12dc19161cc3e4d39f.tar.bz2
rails-12e43494a748e0144195be12dc19161cc3e4d39f.zip
Merge remote branch 'jose/perf'
Diffstat (limited to 'railties/lib/rails/configuration.rb')
-rw-r--r--railties/lib/rails/configuration.rb20
1 files changed, 19 insertions, 1 deletions
diff --git a/railties/lib/rails/configuration.rb b/railties/lib/rails/configuration.rb
index 086f67a419..cb321536d2 100644
--- a/railties/lib/rails/configuration.rb
+++ b/railties/lib/rails/configuration.rb
@@ -1,6 +1,24 @@
require 'active_support/ordered_options'
module Rails
+ # Create a Plugin::Options from ActiveSuppot::OrderedOptions,
+ # which support the following syntax:
+ #
+ # controller.action_controller.include FooBar
+ #
+ class Plugin::Options < ActiveSupport::OrderedOptions #:nodoc:
+ attr_reader :includes
+
+ def initialize(*args)
+ @includes = []
+ super
+ end
+
+ def include(*args)
+ @includes.concat(args)
+ end
+ end
+
# Temporarily separate the plugin configuration class from the main
# configuration class while this bit is being cleaned up.
class Plugin::Configuration
@@ -16,7 +34,7 @@ module Rails
@options = base.options.dup
@middleware = base.middleware.dup
else
- @options = Hash.new { |h,k| h[k] = ActiveSupport::OrderedOptions.new }
+ @options = Hash.new { |h,k| h[k] = Rails::Plugin::Options.new }
@middleware = ActionDispatch::MiddlewareStack.new
end
end