aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/railtie/configuration.rb
diff options
context:
space:
mode:
Diffstat (limited to 'railties/lib/rails/railtie/configuration.rb')
-rw-r--r--railties/lib/rails/railtie/configuration.rb38
1 files changed, 2 insertions, 36 deletions
diff --git a/railties/lib/rails/railtie/configuration.rb b/railties/lib/rails/railtie/configuration.rb
index c15cc1a144..eb3b2d8ef4 100644
--- a/railties/lib/rails/railtie/configuration.rb
+++ b/railties/lib/rails/railtie/configuration.rb
@@ -88,45 +88,11 @@ module Rails
def method_missing(name, *args, &blk)
if name.to_s =~ /=$/
- key = $`.to_sym
- value = args.first
-
- if value.is_a?(Hash)
- @@options[key] = ChainedConfigurationOptions.new value
- else
- @@options[key] = value
- end
+ @@options[$`.to_sym] = args.first
elsif @@options.key?(name)
@@options[name]
else
- @@options[name] = ActiveSupport::OrderedOptions.new
- end
- end
-
- class ChainedConfigurationOptions < ActiveSupport::OrderedOptions # :nodoc:
- def initialize(value)
- value.each_pair { |k, v| set_value k, v }
- end
-
- def method_missing(meth, *args)
- if meth =~ /=$/
- key = $`.to_sym
- value = args.first
-
- set_value key, value
- else
- self.fetch(meth) { super }
- end
- end
-
- private
-
- def set_value(key, value)
- if value.is_a?(Hash)
- value = self.class.new(value)
- end
-
- self[key] = value
+ super
end
end
end