class Gem::RequestSet::GemDependencyAPI

def gem(name, *requirements)

def gem(name, *requirements)
  options = requirements.pop if requirements.last.is_a?(Hash)
  options ||= {}
  options[:git] = @current_repository if @current_repository
  source_set = false
  source_set ||= gem_path       name, options
  source_set ||= gem_git        name, options
  source_set ||= gem_git_source name, options
  source_set ||= gem_source     name, options
  duplicate = @dependencies.include? name
  @dependencies[name] =
    if requirements.empty? && !source_set
      Gem::Requirement.default
    elsif source_set
      Gem::Requirement.source_set
    else
      Gem::Requirement.create requirements
    end
  return unless gem_platforms name, options
  groups = gem_group name, options
  return unless (groups & @without_groups).empty?
  pin_gem_source name, :default unless source_set
  gem_requires name, options
  if duplicate
    warn <<-WARNING
m dependencies file #{@path} requires #{name} more than once.
    WARNING
  end
  @set.gem name, *requirements
end