class Gem::Resolver::ActivationRequest
def == other # :nodoc:
def == other # :nodoc: case other when Gem::Specification @spec == other when Gem::Resolver::ActivationRequest @spec == other.spec && @request == other.request else false end end
def development?
def development? @request.development? end
def download path
def download path Gem.ensure_gem_subdirectories path if @spec.respond_to? :sources exception = nil path = @spec.sources.find{ |source| begin source.download full_spec, path rescue exception end } return path if path raise exception if exception elsif @spec.respond_to? :source source = @spec.source source.download full_spec, path else source = Gem.sources.first source.download full_spec, path end end
def full_name
def full_name @spec.full_name end
def full_spec
def full_spec Gem::Specification === @spec ? @spec : @spec.spec end
def initialize spec, request, others_possible = true
def initialize spec, request, others_possible = true @spec = spec @request = request @others_possible = others_possible end
def inspect # :nodoc:
def inspect # :nodoc: others = case @others_possible when true then # TODO remove at RubyGems 3 ' (others possible)' when false then # TODO remove at RubyGems 3 nil else unless @others_possible.empty? then others = @others_possible.map { |s| s.full_name } " (others possible: #{others.join ', '})" end end '#<%s for %p from %s%s>' % [ self.class, @spec, @request, others ] end
def installed?
def installed? case @spec when Gem::Resolver::VendorSpecification then true else this_spec = full_spec Gem::Specification.any? do |s| s == this_spec end end end
def name
def name @spec.name end
def others_possible?
def others_possible? case @others_possible when true, false then @others_possible else not @others_possible.empty? end end
def parent
def parent @request.requester end
def pretty_print q # :nodoc:
def pretty_print q # :nodoc: q.group 2, '[Activation request', ']' do q.breakable q.pp @spec q.breakable q.text ' for ' q.pp @request case @others_possible when false then when true then q.breakable q.text 'others possible' else unless @others_possible.empty? then q.breakable q.text 'others ' q.pp @others_possible.map { |s| s.full_name } end end end end
def version
def version @spec.version end