diff options
author | Agrim Mittal <agrimmittal97@gmail.com> | 2018-04-26 03:34:55 +0530 |
---|---|---|
committer | Agrim Mittal <agrimmittal97@gmail.com> | 2018-06-28 15:35:16 +0530 |
commit | 4749c804e2687d769d6d8db18fa115fefdd38254 (patch) | |
tree | 308ad6bd22e8ed8ed781c32c10620b664afd7f8d /lib/bundler/dsl.rb | |
parent | 2681937f3606592b7b247e975a41e6b8e611c0db (diff) | |
download | bundler-4749c804e2687d769d6d8db18fa115fefdd38254.tar.gz |
Add support for mutiple gems and add failing specs
Diffstat (limited to 'lib/bundler/dsl.rb')
-rw-r--r-- | lib/bundler/dsl.rb | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/lib/bundler/dsl.rb b/lib/bundler/dsl.rb index 86d993b716..72bea6ccaa 100644 --- a/lib/bundler/dsl.rb +++ b/lib/bundler/dsl.rb @@ -91,17 +91,23 @@ module Bundler end end - def remove_gem(gem_name) - dep_to_remove = @dependencies.find {|d| d.name == gem_name } + def remove_gems(gems) + removed_deps = [] - if dep_to_remove.nil? - raise GemfileError, "You cannot remove a gem which not specified in Gemfile.\n" \ - "#{gem_name} is not specified in Gemfile so not removed." - end + gems.each do |gem_name| + deleted_dep = @dependencies.find {|d| d.name == gem_name } + + if deleted_dep.nil? + raise GemfileError, "You cannot remove a gem which not specified in Gemfile.\n" \ + "#{gem_name} is not specified in Gemfile so not removed." + end - @dependencies.delete(dep_to_remove) + @dependencies.delete(deleted_dep) + + removed_deps << deleted_dep + end - dep_to_remove + removed_deps end def gem(name, *args) |