class Bundler::Source

Attributes

checksum_store[R]
dependency_names[RW]

Public Instance Methods

add_dependency_names(names) click to toggle source
# File bundler/source.rb, line 46
def add_dependency_names(names)
  @dependency_names = Array(dependency_names) | Array(names)
end
cached!() click to toggle source
# File bundler/source.rb, line 42
def cached!; end
can_lock?(spec) click to toggle source
# File bundler/source.rb, line 34
def can_lock?(spec)
  spec.source == self
end
dependency_names_to_double_check() click to toggle source
# File bundler/source.rb, line 55
def dependency_names_to_double_check
  specs.dependency_names
end
double_check_for(*) click to toggle source

it’s possible that gems from one source depend on gems from some other source, so now we download gemspecs and iterate over those dependencies, looking for gems we don’t have info on yet.

# File bundler/source.rb, line 53
def double_check_for(*); end
extension_cache_path(spec) click to toggle source
# 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() click to toggle source
# File bundler/source.rb, line 71
def identifier
  to_s
end
include?(other) click to toggle source
# File bundler/source.rb, line 63
def include?(other)
  other == self
end
inspect() click to toggle source
# File bundler/source.rb, line 67
def inspect
  "#<#{self.class}:0x#{object_id} #{self}>"
end
local!() click to toggle source
# File bundler/source.rb, line 38
def local!; end
local_only!() click to toggle source
# File bundler/source.rb, line 40
def local_only!; end
path?() click to toggle source
# File bundler/source.rb, line 75
def path?
  instance_of?(Bundler::Source::Path)
end
remote!() click to toggle source
# File bundler/source.rb, line 44
def remote!; end
spec_names() click to toggle source
# File bundler/source.rb, line 59
def spec_names
  specs.spec_names
end
unmet_deps() click to toggle source
# File bundler/source.rb, line 16
def unmet_deps
  specs.unmet_dependency_names
end
version_message(spec, locked_spec = nil) click to toggle source
# 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

Private Instance Methods

earlier_version?(spec_version, locked_spec_version) click to toggle source
# 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(_) click to toggle source
# File bundler/source.rb, line 112
def extension_cache_slug(_)
  nil
end
print_using_message(message) click to toggle source
version_color(spec_version, locked_spec_version) click to toggle source
# 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