class Gem::Source::SpecificFile

一个表示单个 .gem 文件的源。这用于安装本地 gem。

属性

path[R]

此特定文件的 gem 的路径。

spec[R]

从这个 .gem 中提取的 Gem::Specification

公共类方法

new(file) 单击以切换源代码

file 中的 gem 创建一个新的 SpecificFile

# 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

公共实例方法

<=>(other) 单击以切换源代码

将此源与 other 进行排序。

如果 other 是来自不同 gem 名称的 SpecificFile,则返回 nil

如果 other 是来自相同 gem 名称的 SpecificFile,则使用 Gem::Version#<=>比较版本。

否则使用 Gem::Source#<=>。

调用超类方法 Gem::Source#<=>
# File rubygems/source/specific_file.rb, line 63
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