Class: Gem::Source::SpecificFile (Ruby 2.3.4)

In Files

  • rubygems/source/specific_file.rb

Parent

Methods

Class/Module Index [+]

Quicksearch

Gem::Source::SpecificFile

frozen_string_literal: true

A source representing a single .gem file. This is used for installation of local gems.

Attributes

path[R]

The path to the gem for this specific file.

spec[R]

The Gem::Specification extracted from this .gem.

Public Class Methods

new(file)

Creates a new SpecificFile for the gem in file

 
               # File rubygems/source/specific_file.rb, line 16
def initialize(file)
  @uri = nil
  @path = ::File.expand_path(file)

  @package = Gem::Package.new @path
  @spec = @package.spec
  @name = @spec.name_tuple
end
            

Public Instance Methods

<=>(other)

Orders this source against other.

If other is a SpecificFile from a different gem name nil is returned.

If other is a SpecificFile from the same gem name the versions are compared using Gem::Version#<=>

Otherwise Gem::Source#<=> is used.

 
               # File rubygems/source/specific_file.rb, line 62
def <=> other
  case other
  when Gem::Source::SpecificFile then
    return nil if @spec.name != other.spec.name

    @spec.version <=> other.spec.version
  else
    super
  end
end