class Bundler::Source

def can_lock?(spec)

def can_lock?(spec)
  spec.source == self
end

def earlier_version?(spec_version, locked_spec_version)

def earlier_version?(spec_version, locked_spec_version)
  Gem::Version.new(spec_version) < Gem::Version.new(locked_spec_version)
end

def include?(other)

def include?(other)
  other == self
end

def inspect

def inspect
  "#<#{self.class}:0x#{object_id} #{self}>"
end

def unmet_deps

def unmet_deps
  specs.unmet_dependency_names
end

def version_color(spec_version, locked_spec_version)

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

def version_message(spec)

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