diff options
author | José Valim <jose.valim@gmail.com> | 2010-01-26 00:08:08 +0100 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2010-01-26 00:08:08 +0100 |
commit | 5d078692453c454289823700b67e64bcd4c8de7f (patch) | |
tree | 4b05a44b3183e1ab3c575e7ba37f628c76e95c9c /railties/lib/rails/initializable.rb | |
parent | a89c8cb5289d5af32352ed46eca74138685a3259 (diff) | |
download | rails-5d078692453c454289823700b67e64bcd4c8de7f.tar.gz rails-5d078692453c454289823700b67e64bcd4c8de7f.tar.bz2 rails-5d078692453c454289823700b67e64bcd4c8de7f.zip |
Ensure all initializers are collections.
Diffstat (limited to 'railties/lib/rails/initializable.rb')
-rw-r--r-- | railties/lib/rails/initializable.rb | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/railties/lib/rails/initializable.rb b/railties/lib/rails/initializable.rb index cea4a0fdf7..d91f67823f 100644 --- a/railties/lib/rails/initializable.rb +++ b/railties/lib/rails/initializable.rb @@ -64,10 +64,7 @@ module Rails end def initializers - @initializers ||= begin - initializers = self.class.initializers_chain - Collection.new(initializers.map { |i| i.bind(self) }) - end + @initializers ||= self.class.initializers_for(self) end module ClassMethods @@ -84,6 +81,10 @@ module Rails initializers end + def initializers_for(binding) + Collection.new(initializers_chain.map { |i| i.bind(binding) }) + end + def initializer(name, opts = {}, &blk) raise ArgumentError, "A block must be passed when defining an initializer" unless blk initializers << Initializer.new(name, nil, opts, &blk) |