diff options
author | José Valim <jose.valim@gmail.com> | 2011-09-24 01:56:49 +0200 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2011-09-24 03:17:23 +0200 |
commit | eb367afeed2905d1036f46940aa6c91323f7faab (patch) | |
tree | ff1b4c849fc21fbb53a992af4ce0439a98defb54 /railties/lib/rails/initializable.rb | |
parent | 096717e6f7ee654639ea141ecd1359f0ca30f71b (diff) | |
download | rails-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.rb | 8 |
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 |