class Bundler::ChecksumMismatchError

def mismatch_resolution_instructions

def mismatch_resolution_instructions
  removable, remote = [@existing, @checksum].partition(&:removable?)
  case removable.size
  when 0
    msg = +"Mismatched checksums each have an authoritative source:\n"
    msg << "  1. #{@existing.sources.reject(&:removable?).map(&:to_s).join(" and ")}\n"
    msg << "  2. #{@checksum.sources.reject(&:removable?).map(&:to_s).join(" and ")}\n"
    msg << "You may need to alter your Gemfile sources to resolve this issue.\n"
  when 1
    msg = +"If you trust #{remote.first.sources.first}, to resolve this issue you can:\n"
    msg << removable.first.removal_instructions
  when 2
    msg = +"To resolve this issue you can either:\n"
    msg << @checksum.removal_instructions
    msg << "or if you are sure that the new checksum from #{@checksum.sources.first} is correct:\n"
    msg << @existing.removal_instructions
  end
end