class Bundler::Dsl
def _normalize_options(name, version, opts)
def _normalize_options(name, version, opts) _normalize_hash(opts) invalid_keys = opts.keys - %w(group git path name branch ref tag require) if invalid_keys.any? plural = invalid_keys.size > 1 message = "You passed #{invalid_keys.map{|k| ':'+k }.join(", ")} " if plural message << "as options for gem '#{name}', but they are invalid." else message << "as an option for gem '#{name}', but it is invalid." end raise InvalidOption, message end group = opts.delete("group") || @group # Normalize git and path options ["git", "path"].each do |type| if param = opts[type] options = _version?(version) ? opts.merge("name" => name, "version" => version) : opts.dup source = send(type, param, options, :prepend => true) opts["source"] = source end end opts["source"] ||= @source opts["group"] = group end