diff options
Diffstat (limited to 'activesupport/lib/active_support/dependency_module.rb')
-rw-r--r-- | activesupport/lib/active_support/dependency_module.rb | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/activesupport/lib/active_support/dependency_module.rb b/activesupport/lib/active_support/dependency_module.rb index c690b49a2b..8c202acc8f 100644 --- a/activesupport/lib/active_support/dependency_module.rb +++ b/activesupport/lib/active_support/dependency_module.rb @@ -4,14 +4,15 @@ module ActiveSupport return if base < self (@_dependencies ||= []).each { |dep| base.send(:include, dep) } super + base.extend const_get("ClassMethods") if const_defined?("ClassMethods") + base.class_eval(&@_included_block) if instance_variable_defined?("@_included_block") end def included(base = nil, &block) - if base.nil? && block_given? + if base.nil? @_included_block = block else - base.extend const_get("ClassMethods") if const_defined?("ClassMethods") - base.class_eval(&@_included_block) if instance_variable_defined?("@_included_block") + super end end |