method

validate_keys

v2_6_3 - Show latest stable - Class: Bundler::Dsl
validate_keys(command, opts, valid_keys)
private

No documentation available.

# File lib/bundler/dsl.rb, line 433
    def validate_keys(command, opts, valid_keys)
      invalid_keys = opts.keys - valid_keys

      git_source = opts.keys & @git_sources.keys.map(&:to_s)
      if opts["branch"] && !(opts["git"] || opts["github"] || git_source.any?)
        raise GemfileError, %(The `branch` option for `#{command}` is not allowed. Only gems with a git source can specify a branch)
      end

      return true unless 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(", ")}."
      message << " You may be able to resolve this by upgrading Bundler to the newest version."
      raise InvalidOption, message
    end