aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/initializable.rb
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2010-01-26 00:08:08 +0100
committerJosé Valim <jose.valim@gmail.com>2010-01-26 00:08:08 +0100
commit5d078692453c454289823700b67e64bcd4c8de7f (patch)
tree4b05a44b3183e1ab3c575e7ba37f628c76e95c9c /railties/lib/rails/initializable.rb
parenta89c8cb5289d5af32352ed46eca74138685a3259 (diff)
downloadrails-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.rb9
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)