class Bundler::Source

Parent:
Object

Attributes

dependency_names[RW]

Public Instance Methods

can_lock?(spec) Show source
# File lib/bundler/source.rb, line 32
def can_lock?(spec)
  spec.source == self
end
dependency_names_to_double_check() Show source
# File lib/bundler/source.rb, line 41
def dependency_names_to_double_check
  specs.dependency_names
end
double_check_for(*) Show source
# File lib/bundler/source.rb, line 39
def double_check_for(*); end

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.

extension_cache_path(spec) Show source
# File lib/bundler/source.rb, line 57
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
include?(other) Show source
# File lib/bundler/source.rb, line 45
def include?(other)
  other == self
end
inspect() Show source
# File lib/bundler/source.rb, line 49
def inspect
  "#<#{self.class}:0x#{object_id} #{self}>"
end
path?() Show source
# File lib/bundler/source.rb, line 53
def path?
  instance_of?(Bundler::Source::Path)
end
unmet_deps() Show source
# File lib/bundler/source.rb, line 13
def unmet_deps
  specs.unmet_dependency_names
end
version_message(spec) Show source
# File lib/bundler/source.rb, line 17
def version_message(spec)
  message = "#{spec.name} #{spec.version}"
  message += " (#{spec.platform})" if spec.platform != Gem::Platform::RUBY && !spec.platform.nil?

  if Bundler.locked_gems
    locked_spec = Bundler.locked_gems.specs.find {|s| s.name == spec.name }
    locked_spec_version = locked_spec.version if locked_spec
    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) Show source
# File lib/bundler/source.rb, line 78
def earlier_version?(spec_version, locked_spec_version)
  Gem::Version.new(spec_version) < Gem::Version.new(locked_spec_version)
end
extension_cache_slug(_) Show source
# File lib/bundler/source.rb, line 90
def extension_cache_slug(_)
  nil
end
print_using_message(message) Show source
version_color(spec_version, locked_spec_version) Show source
# File lib/bundler/source.rb, line 68
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

Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.