class Gem::RequestSet::Lockfile

def add_GEM out, spec_groups # :nodoc:

:nodoc:
def add_GEM out, spec_groups # :nodoc:
  return if spec_groups.empty?
  source_groups = spec_groups.values.flatten.group_by do |request|
    request.spec.source.uri
  end
  source_groups.sort_by { |group,| group.to_s }.map do |group, requests|
    out << "GEM"
    out << "  remote: #{group}"
    out << "  specs:"
    requests.sort_by { |request| request.name }.each do |request|
      next if request.spec.name == 'bundler'
      platform = "-#{request.spec.platform}" unless
        Gem::Platform::RUBY == request.spec.platform
      out << "    #{request.name} (#{request.version}#{platform})"
      request.full_spec.dependencies.sort.each do |dependency|
        next if dependency.type == :development
        requirement = dependency.requirement
        out << "      #{dependency.name}#{requirement.for_lockfile}"
      end
    end
    out << nil
  end
end