diff options
author | José Valim <jose.valim@gmail.com> | 2012-03-06 22:04:53 +0100 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2012-03-06 22:05:07 +0100 |
commit | d1a4faf61f64e53797d13b7c2f150b94be94e916 (patch) | |
tree | 26faa6be270164025dde3ab4c830777985fcdf7e /activesupport/lib | |
parent | bc5ac778c0ba250a43d14f09b97e5a99eff8e03b (diff) | |
download | rails-d1a4faf61f64e53797d13b7c2f150b94be94e916.tar.gz rails-d1a4faf61f64e53797d13b7c2f150b94be94e916.tar.bz2 rails-d1a4faf61f64e53797d13b7c2f150b94be94e916.zip |
Ensure load hooks can be called more than once with different contexts.
Diffstat (limited to 'activesupport/lib')
-rw-r--r-- | activesupport/lib/active_support/lazy_load_hooks.rb | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/activesupport/lib/active_support/lazy_load_hooks.rb b/activesupport/lib/active_support/lazy_load_hooks.rb index a070df2ee6..c167efc1a7 100644 --- a/activesupport/lib/active_support/lazy_load_hooks.rb +++ b/activesupport/lib/active_support/lazy_load_hooks.rb @@ -18,15 +18,15 @@ module ActiveSupport # # ActiveSupport.run_load_hooks(:active_record, ActiveRecord::Base) # - @load_hooks = Hash.new {|h,k| h[k] = [] } - @loaded = {} + @load_hooks = Hash.new { |h,k| h[k] = [] } + @loaded = Hash.new { |h,k| h[k] = [] } def self.on_load(name, options = {}, &block) - if base = @loaded[name] + @loaded[name].each do |base| execute_hook(base, options, block) - else - @load_hooks[name] << [block, options] end + + @load_hooks[name] << [block, options] end def self.execute_hook(base, options, block) @@ -38,7 +38,7 @@ module ActiveSupport end def self.run_load_hooks(name, base = Object) - @loaded[name] = base + @loaded[name] << base @load_hooks[name].each do |hook, options| execute_hook(base, options, hook) end |