diff options
author | Hirofumi Wakasugi <baenej@gmail.com> | 2015-06-25 13:35:18 +0900 |
---|---|---|
committer | Hirofumi Wakasugi <baenej@gmail.com> | 2015-06-25 15:25:14 +0900 |
commit | ce3d2fa05ad0b6b475d1dc90a93c5aa1722d604e (patch) | |
tree | eae61fd4ac090eeb27131a891c217c4b56aa785c /railties/lib/rails/generators | |
parent | 204c45e4be6e031c19d45e11dff77ecfed380773 (diff) | |
download | rails-ce3d2fa05ad0b6b475d1dc90a93c5aa1722d604e.tar.gz rails-ce3d2fa05ad0b6b475d1dc90a93c5aa1722d604e.tar.bz2 rails-ce3d2fa05ad0b6b475d1dc90a93c5aa1722d604e.zip |
modify add_source in application template to take a block for gem entries
Diffstat (limited to 'railties/lib/rails/generators')
-rw-r--r-- | railties/lib/rails/generators/actions.rb | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/railties/lib/rails/generators/actions.rb b/railties/lib/rails/generators/actions.rb index 70a20801a0..560a553789 100644 --- a/railties/lib/rails/generators/actions.rb +++ b/railties/lib/rails/generators/actions.rb @@ -63,12 +63,26 @@ module Rails # Add the given source to +Gemfile+ # + # If block is given, gem entries in block are wrapped into the source group. + # # add_source "http://gems.github.com/" - def add_source(source, options={}) + # + # add_source "http://gems.github.com/" do + # gem "rspec-rails" + # end + def add_source(source, options={}, &block) log :source, source in_root do - prepend_file "Gemfile", "source #{quote(source)}\n", verbose: false + if block + append_file "Gemfile", "source #{quote(source)} do", force: true + @in_group = true + instance_eval(&block) + @in_group = false + append_file "Gemfile", "\nend\n", force: true + else + prepend_file "Gemfile", "source #{quote(source)}\n", verbose: false + end end end |