Module: Gemkeeper::CompactIndexServer::SpecMapper
- Defined in:
- lib/gemkeeper/compact_index_server/spec_mapper.rb
Overview
Maps a Gem::Specification to the compact-index representations the index is built from: the on-disk gem filename and a CompactIndex::GemVersion entry.
Class Method Summary collapse
Class Method Details
.dependencies(spec) ⇒ Object
31 32 33 34 35 |
# File 'lib/gemkeeper/compact_index_server/spec_mapper.rb', line 31 def dependencies(spec) (spec.runtime_dependencies || []).map do |dep| CompactIndex::Dependency.new(dep.name, dep.requirement.to_s) end end |
.filename(spec) ⇒ Object
13 14 15 16 17 |
# File 'lib/gemkeeper/compact_index_server/spec_mapper.rb', line 13 def filename(spec) platform = spec.platform.to_s suffix = platform.empty? || platform == "ruby" ? "" : "-#{platform}" "#{spec.name}-#{spec.version}#{suffix}.gem" end |
.gem_version(spec, gem_file) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/gemkeeper/compact_index_server/spec_mapper.rb', line 19 def gem_version(spec, gem_file) CompactIndex::GemVersion.new( spec.version.to_s, spec.platform.to_s, Digest::SHA256.file(gem_file).hexdigest, nil, dependencies(spec), spec.required_ruby_version&.to_s, spec.required_rubygems_version&.to_s ) end |