diff options
author | Samuel Giddins <segiddins@segiddins.me> | 2016-08-25 15:42:20 -0500 |
---|---|---|
committer | Samuel Giddins <segiddins@segiddins.me> | 2016-08-25 15:42:20 -0500 |
commit | 065388971e4e970194dda8b3be22cb30aa6bcc47 (patch) | |
tree | 854f780b0030a99e2acdd014c5e49550688ee892 | |
parent | c71f43fbcb9ee25bc4466137cc29545cda1375e2 (diff) | |
download | bundler-seg-warn-on-unknown-ops.tar.gz |
[DSL] Warn on invalid options instead of raisingseg-warn-on-unknown-ops
-rw-r--r-- | lib/bundler/dsl.rb | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/lib/bundler/dsl.rb b/lib/bundler/dsl.rb index b064c80d4c..7585a8c6a2 100644 --- a/lib/bundler/dsl.rb +++ b/lib/bundler/dsl.rb @@ -382,20 +382,21 @@ module Bundler opts["optional"] ||= false end - def validate_keys(command, opts, valid_keys) + def validate_keys(command, opts, valid_keys, raise_on_invalid_keys = false) invalid_keys = opts.keys - valid_keys - if invalid_keys.any? - message = String.new - message << "You passed #{invalid_keys.map {|k| ":" + k }.join(", ")} " - message << if invalid_keys.size > 1 - "as options for #{command}, but they are invalid." - else - "as an option for #{command}, but it is invalid." - end - - message << " Valid options are: #{valid_keys.join(", ")}" - raise InvalidOption, message - end + return true if invalid_keys.empty? + message = String.new + message << "You passed #{invalid_keys.map {|k| ":" + k }.join(", ")} " + message << if invalid_keys.size > 1 + "as options for #{command}, but they are invalid." + else + "as an option for #{command}, but it is invalid." + end + + message << " Valid options are: #{valid_keys.join(", ")}" + raise InvalidOption, message if raise_on_invalid_keys + Bundler.ui.warn(message) + false end def normalize_source(source) |