Sha256: 1d036f64b426948185f8074802812bd81b00d659cfe2c54cee943fbb0c892574

Contents?: true

Size: 886 Bytes

Versions: 1

Compression:

Stored size: 886 Bytes

Contents

require "compact_index/version"
require "compact_index/versions_file"
require "compact_index/gem_info"

module CompactIndex
  def self.names(gem_names)
    "---\n" + gem_names.join("\n") + "\n"
  end

  def self.versions(versions_file, gems)
    versions_file.contents(gems)
  end

  def self.info(params)
    output = "---\n"
    params.each do |version|
      output << version_line(version[:number], version[:dependencies]) << "\n"
    end
    output
  end

  private
    def self.version_line(version, dependencies = nil)
      if dependencies
        dependencies.sort! { |a,b| a[:gem] <=> b[:gem] }
        deps = dependencies.map do |d|
          [
             d[:gem],
             d[:version].gsub(/, /, "&")
          ].join(':')
        end
      else
        deps = []
      end

      line = version
      line << " " << deps.join(",") if deps.any?
      line
    end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
compact_index-0.3.1 lib/compact_index.rb