frozen_string_literal: true
A source representing a single .gem file. This is used for installation of local gems.
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
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