diff options
author | Stefan Kanev <stefan.kanev@gmail.com> | 2014-07-31 12:05:07 +0200 |
---|---|---|
committer | Stefan Kanev <stefan.kanev@gmail.com> | 2014-08-03 00:29:29 +0200 |
commit | 097b2101897af447591d00fb2809d91894572b87 (patch) | |
tree | 7e93565be3c211ce0eb8339b93e2464ecae56591 /railties/lib/rails/generators | |
parent | dc1a6614dca69a8ec7a368c5a0d7bc32660c1c1d (diff) | |
download | rails-097b2101897af447591d00fb2809d91894572b87.tar.gz rails-097b2101897af447591d00fb2809d91894572b87.tar.bz2 rails-097b2101897af447591d00fb2809d91894572b87.zip |
Add an after_bundle callback in Rails templates
The template runs before the generation of binstubs – this does not
allow to write one, that makes an initial commit to version control.
It is solvable by adding an after_bundle callback.
Diffstat (limited to 'railties/lib/rails/generators')
-rw-r--r-- | railties/lib/rails/generators/actions.rb | 11 | ||||
-rw-r--r-- | railties/lib/rails/generators/rails/app/app_generator.rb | 6 |
2 files changed, 17 insertions, 0 deletions
diff --git a/railties/lib/rails/generators/actions.rb b/railties/lib/rails/generators/actions.rb index a239874df0..4709914947 100644 --- a/railties/lib/rails/generators/actions.rb +++ b/railties/lib/rails/generators/actions.rb @@ -7,6 +7,7 @@ module Rails def initialize(*) # :nodoc: super @in_group = nil + @after_bundle_callbacks = [] end # Adds an entry into +Gemfile+ for the supplied gem. @@ -232,6 +233,16 @@ module Rails log File.read(find_in_source_paths(path)) end + # Registers a callback to be executed after bundle and spring binstubs + # have run. + # + # after_bundle do + # git add: '.' + # end + def after_bundle(&block) + @after_bundle_callbacks << block + end + protected # Define log for backwards compatibility. If just one argument is sent, diff --git a/railties/lib/rails/generators/rails/app/app_generator.rb b/railties/lib/rails/generators/rails/app/app_generator.rb index 188e62b6c8..9110c129d1 100644 --- a/railties/lib/rails/generators/rails/app/app_generator.rb +++ b/railties/lib/rails/generators/rails/app/app_generator.rb @@ -259,6 +259,12 @@ module Rails public_task :apply_rails_template, :run_bundle public_task :generate_spring_binstubs + def run_after_bundle_callbacks + @after_bundle_callbacks.each do |callback| + callback.call + end + end + protected def self.banner |