class Bundler::Source

属性

checksum_store[R]
dependency_names[RW]

公共实例方法

add_dependency_names(names) 点击切换源码
# File bundler/source.rb, line 46
def add_dependency_names(names)
  @dependency_names = Array(dependency_names) | Array(names)
end
cached!() 点击切换源码
# File bundler/source.rb, line 42
def cached!; end
can_lock?(spec) 点击切换源码
# File bundler/source.rb, line 34
def can_lock?(spec)
  spec.source == self
end
dependency_names_to_double_check() 点击切换源码
# File bundler/source.rb, line 55
def dependency_names_to_double_check
  specs.dependency_names
end
double_check_for(*) 点击切换源码

有可能一个来源的 gem 依赖于其他来源的 gem,所以现在我们下载 gemspec 并遍历这些依赖项,查找我们还没有信息的 gem。

# File bundler/source.rb, line 53
def double_check_for(*); end
extension_cache_path(spec) 点击切换源码
# File bundler/source.rb, line 79
def extension_cache_path(spec)
  return unless Bundler.feature_flag.global_gem_cache?
  return unless source_slug = extension_cache_slug(spec)
  Bundler.user_cache.join(
    "extensions", Gem::Platform.local.to_s, Bundler.ruby_scope,
    source_slug, spec.full_name
  )
end
identifier() 点击切换源码
# File bundler/source.rb, line 71
def identifier
  to_s
end
include?(other) 点击切换源码
# File bundler/source.rb, line 63
def include?(other)
  other == self
end
inspect() 点击切换源码
# File bundler/source.rb, line 67
def inspect
  "#<#{self.class}:0x#{object_id} #{self}>"
end
local!() 点击切换源码
# File bundler/source.rb, line 38
def local!; end
local_only!() 点击切换源码
# File bundler/source.rb, line 40
def local_only!; end
path?() 点击切换源码
# File bundler/source.rb, line 75
def path?
  instance_of?(Bundler::Source::Path)
end
remote!() 点击切换源码
# File bundler/source.rb, line 44
def remote!; end
spec_names() 点击切换源码
# File bundler/source.rb, line 59
def spec_names
  specs.spec_names
end
unmet_deps() 点击切换源码
# File bundler/source.rb, line 16
def unmet_deps
  specs.unmet_dependency_names
end
version_message(spec, locked_spec = nil) 点击切换源码
# File bundler/source.rb, line 20
def version_message(spec, locked_spec = nil)
  message = "#{spec.name} #{spec.version}"
  message += " (#{spec.platform})" if spec.platform != Gem::Platform::RUBY && !spec.platform.nil?

  if locked_spec
    locked_spec_version = locked_spec.version
    if locked_spec_version && spec.version != locked_spec_version
      message += Bundler.ui.add_color(" (was #{locked_spec_version})", version_color(spec.version, locked_spec_version))
    end
  end

  message
end

私有实例方法

earlier_version?(spec_version, locked_spec_version) 点击切换源码
# File bundler/source.rb, line 100
def earlier_version?(spec_version, locked_spec_version)
  Gem::Version.new(spec_version) < Gem::Version.new(locked_spec_version)
end
extension_cache_slug(_) 点击切换源码
# File bundler/source.rb, line 112
def extension_cache_slug(_)
  nil
end
print_using_message(message) 点击切换源码
version_color(spec_version, locked_spec_version) 点击切换源码
# File bundler/source.rb, line 90
def version_color(spec_version, locked_spec_version)
  if Gem::Version.correct?(spec_version) && Gem::Version.correct?(locked_spec_version)
    # display yellow if there appears to be a regression
    earlier_version?(spec_version, locked_spec_version) ? :yellow : :green
  else
    # default to green if the versions cannot be directly compared
    :green
  end
end