class Gem::Comparator::Base

Attributes

compares[RW]

Public Class Methods

new() click to toggle source

Compare Gem::Specification objects by default

To override create your own initialize method and set expect(:packages) to expect Gem::Package objects.

# File lib/rubygems/comparator/base.rb, line 18
def initialize
  expect(:specs)
end

Private Instance Methods

expect(what) click to toggle source
# File lib/rubygems/comparator/base.rb, line 24
def expect(what)
  @compares = what
end
extract_gem(package, target_dir) click to toggle source
# File lib/rubygems/comparator/base.rb, line 28
def extract_gem(package, target_dir)
  gem_file = File.basename(package.spec.full_name, '.gem')
  gem_dir = File.join(target_dir, gem_file)

  if Dir.exist? gem_dir
    info "Unpacked gem version exists, using #{gem_dir}."
    return gem_dir
  end

  info "Unpacking gem '#{package.spec.full_name}' in " + gem_dir
  package.extract_files gem_dir
  gem_dir
end