diff options
author | Oriol Gual and Josep M. Bach <dev+oriol+txus@codegram.com> | 2011-02-28 14:31:29 +0100 |
---|---|---|
committer | Santiago Pastorino <santiago@wyeworks.com> | 2011-02-28 13:30:32 -0200 |
commit | f42562f97bb791a7662fce0106a93eec211b2803 (patch) | |
tree | 99779ed409b770f3506f252fe03fd6a74ba705f5 /activesupport | |
parent | a0629927b2b615a747eb223eb82e84b208d49188 (diff) | |
download | rails-f42562f97bb791a7662fce0106a93eec211b2803.tar.gz rails-f42562f97bb791a7662fce0106a93eec211b2803.tar.bz2 rails-f42562f97bb791a7662fce0106a93eec211b2803.zip |
Make ActiveSupport::Configurable work with modules
[#6486 state:committed]
Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
Diffstat (limited to 'activesupport')
-rw-r--r-- | activesupport/lib/active_support/configurable.rb | 2 | ||||
-rw-r--r-- | activesupport/test/configurable_test.rb | 8 |
2 files changed, 8 insertions, 2 deletions
diff --git a/activesupport/lib/active_support/configurable.rb b/activesupport/lib/active_support/configurable.rb index 644db0b205..be19189c04 100644 --- a/activesupport/lib/active_support/configurable.rb +++ b/activesupport/lib/active_support/configurable.rb @@ -26,7 +26,7 @@ module ActiveSupport module ClassMethods def config - @_config ||= if superclass.respond_to?(:config) + @_config ||= if respond_to?(:superclass) && superclass.respond_to?(:config) superclass.config.inheritable_copy else # create a new "anonymous" class that will host the compiled reader methods diff --git a/activesupport/test/configurable_test.rb b/activesupport/test/configurable_test.rb index 9c773c1944..2b28e61815 100644 --- a/activesupport/test/configurable_test.rb +++ b/activesupport/test/configurable_test.rb @@ -21,6 +21,12 @@ class ConfigurableActiveSupport < ActiveSupport::TestCase assert_equal({ :foo => :bar }, Parent.config) end + test "adds a configuration hash to a module as well" do + mixin = Module.new { include ActiveSupport::Configurable } + mixin.config.foo = :bar + assert_equal({ :foo => :bar }, mixin.config) + end + test "configuration hash is inheritable" do assert_equal :bar, Child.config.foo assert_equal :bar, Parent.config.foo @@ -57,4 +63,4 @@ class ConfigurableActiveSupport < ActiveSupport::TestCase assert_respond_to child.config, :bar assert_respond_to child.new.config, :bar end -end
\ No newline at end of file +end |