aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2014-08-19 19:41:15 -0300
committerRafael Mendonça França <rafaelmfranca@gmail.com>2014-08-19 19:41:15 -0300
commit43073b393d234acd094ac7c220163f4e419d11f5 (patch)
tree0d78982dfb1b93f929cc186c951f775a494af621 /railties/lib
parent867631f9cfa6d639baacc09aac76e68819d5501f (diff)
downloadrails-43073b393d234acd094ac7c220163f4e419d11f5.tar.gz
rails-43073b393d234acd094ac7c220163f4e419d11f5.tar.bz2
rails-43073b393d234acd094ac7c220163f4e419d11f5.zip
Revert "Improve custom configuration"
This reverts commit de4891344ccc074f6d5693f4fac6ad610584e336. Conflicts: railties/lib/rails/railtie/configuration.rb It added regression. Will be back after the beta
Diffstat (limited to 'railties/lib')
-rw-r--r--railties/lib/rails/application/configuration.rb14
-rw-r--r--railties/lib/rails/railtie/configuration.rb38
2 files changed, 15 insertions, 37 deletions
diff --git a/railties/lib/rails/application/configuration.rb b/railties/lib/rails/application/configuration.rb
index 5e8f4de847..782bc4b0f1 100644
--- a/railties/lib/rails/application/configuration.rb
+++ b/railties/lib/rails/application/configuration.rb
@@ -13,7 +13,7 @@ module Rails
:railties_order, :relative_url_root, :secret_key_base, :secret_token,
:serve_static_assets, :ssl_options, :static_cache_control, :session_options,
:time_zone, :reload_classes_only_on_change,
- :beginning_of_week, :filter_redirect
+ :beginning_of_week, :filter_redirect, :x
attr_writer :log_level
attr_reader :encoding
@@ -48,6 +48,7 @@ module Rails
@eager_load = nil
@secret_token = nil
@secret_key_base = nil
+ @x = Custom.new
@assets = ActiveSupport::OrderedOptions.new
@assets.enabled = true
@@ -154,6 +155,17 @@ module Rails
def annotations
SourceAnnotationExtractor::Annotation
end
+
+ private
+ class Custom
+ def initialize
+ @configurations = Hash.new
+ end
+
+ def method_missing(method, *args)
+ @configurations[method] ||= ActiveSupport::OrderedOptions.new
+ end
+ end
end
end
end
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