aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/initializable.rb
diff options
context:
space:
mode:
authorJosé Valim and Mikel Lindsaar <pair@programming.com>2010-01-25 09:50:01 +1100
committerJosé Valim and Mikel Lindsaar <pair@programming.com>2010-01-25 09:50:01 +1100
commit4e96442c4e404141830b2d7f0d850b6556190b39 (patch)
treea3ca088ad9d68b5be9ace4d431375bb3fd4ea045 /railties/lib/rails/initializable.rb
parenta74a655648618a6ed568b9b4ef3a17a8970e7774 (diff)
parent396003fc48d7c0ba206ad059646c7414bee22a36 (diff)
downloadrails-4e96442c4e404141830b2d7f0d850b6556190b39.tar.gz
rails-4e96442c4e404141830b2d7f0d850b6556190b39.tar.bz2
rails-4e96442c4e404141830b2d7f0d850b6556190b39.zip
Merge branch 'master' of git://github.com/rails/rails
Conflicts: actionmailer/lib/action_mailer/mail_helper.rb railties/lib/rails/configuration.rb
Diffstat (limited to 'railties/lib/rails/initializable.rb')
-rw-r--r--railties/lib/rails/initializable.rb19
1 files changed, 5 insertions, 14 deletions
diff --git a/railties/lib/rails/initializable.rb b/railties/lib/rails/initializable.rb
index 8fcb254590..cea4a0fdf7 100644
--- a/railties/lib/rails/initializable.rb
+++ b/railties/lib/rails/initializable.rb
@@ -19,12 +19,6 @@ module Rails
@options[:after]
end
- def global
- @options[:global]
- end
-
- alias global? global
-
def run(*args)
@context.instance_exec(*args, &block)
end
@@ -71,7 +65,7 @@ module Rails
def initializers
@initializers ||= begin
- initializers = self.class.initializers_for(:instance)
+ initializers = self.class.initializers_chain
Collection.new(initializers.map { |i| i.bind(self) })
end
end
@@ -81,26 +75,23 @@ module Rails
@initializers ||= []
end
- def initializers_for(scope = :global)
+ def initializers_chain
initializers = Collection.new
ancestors.reverse_each do |klass|
next unless klass.respond_to?(:initializers)
- initializers = initializers + klass.initializers.select { |i|
- (scope == :global) == !!i.global?
- }
+ initializers = initializers + klass.initializers
end
initializers
end
def initializer(name, opts = {}, &blk)
raise ArgumentError, "A block must be passed when defining an initializer" unless blk
- @initializers ||= []
- @initializers << Initializer.new(name, nil, opts, &blk)
+ initializers << Initializer.new(name, nil, opts, &blk)
end
def run_initializers(*args)
return if @ran
- initializers_for(:global).each do |initializer|
+ initializers_chain.each do |initializer|
instance_exec(*args, &initializer.block)
end
@ran = true