summaryrefslogtreecommitdiff
path: root/lib/bundler/dsl.rb
diff options
context:
space:
mode:
authorAgrim Mittal <agrimmittal97@gmail.com>2018-04-26 03:34:55 +0530
committerAgrim Mittal <agrimmittal97@gmail.com>2018-06-28 15:35:16 +0530
commit4749c804e2687d769d6d8db18fa115fefdd38254 (patch)
tree308ad6bd22e8ed8ed781c32c10620b664afd7f8d /lib/bundler/dsl.rb
parent2681937f3606592b7b247e975a41e6b8e611c0db (diff)
downloadbundler-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.rb22
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)