26 lines
726 B
Ruby
26 lines
726 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Bundler
|
|
module Plugin
|
|
# Stands in for a source handled by a plugin that is not loaded yet, so
|
|
# that the lockfile can still be parsed during the plugin install pass,
|
|
# and by external tools reading a lockfile without the plugin installed.
|
|
class UnloadedSource
|
|
include API::Source
|
|
|
|
# Unlike real plugin sources, where the handling class encodes the
|
|
# source type, all unloaded sources share this class, so the type must
|
|
# be compared explicitly.
|
|
def ==(other)
|
|
super && options["type"] == other.options["type"]
|
|
end
|
|
|
|
alias_method :eql?, :==
|
|
|
|
def hash
|
|
[super, options["type"]].hash
|
|
end
|
|
end
|
|
end
|
|
end
|