aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/initializable.rb
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2011-09-24 01:56:49 +0200
committerJosé Valim <jose.valim@gmail.com>2011-09-24 03:17:23 +0200
commiteb367afeed2905d1036f46940aa6c91323f7faab (patch)
treeff1b4c849fc21fbb53a992af4ce0439a98defb54 /railties/lib/rails/initializable.rb
parent096717e6f7ee654639ea141ecd1359f0ca30f71b (diff)
downloadrails-eb367afeed2905d1036f46940aa6c91323f7faab.tar.gz
rails-eb367afeed2905d1036f46940aa6c91323f7faab.tar.bz2
rails-eb367afeed2905d1036f46940aa6c91323f7faab.zip
`rake assets:precompile` loads the application but does not initialize it.
To the app developer, this means configuration add in config/initializers/* will not be executed. Plugins developers need to special case their initializers that are meant to be run in the assets group by adding :group => :assets. Conflicts: railties/CHANGELOG railties/test/application/assets_test.rb
Diffstat (limited to 'railties/lib/rails/initializable.rb')
-rw-r--r--railties/lib/rails/initializable.rb8
1 files changed, 6 insertions, 2 deletions
diff --git a/railties/lib/rails/initializable.rb b/railties/lib/rails/initializable.rb
index 686a2dc0cb..4c1da0a5a5 100644
--- a/railties/lib/rails/initializable.rb
+++ b/railties/lib/rails/initializable.rb
@@ -21,6 +21,10 @@ module Rails
@options[:after]
end
+ def belongs_to?(group)
+ @options[:group] == group || @options[:group] == :all
+ end
+
def run(*args)
@context.instance_exec(*args, &block)
end
@@ -44,10 +48,10 @@ module Rails
end
end
- def run_initializers(*args)
+ def run_initializers(group=nil, *args)
return if instance_variable_defined?(:@ran)
initializers.tsort.each do |initializer|
- initializer.run(*args)
+ initializer.run(*args) if group.nil? || initializer.belongs_to?(group)
end
@ran = true
end