diff options
Diffstat (limited to 'lib/bundler/dep_proxy.rb')
-rw-r--r-- | lib/bundler/dep_proxy.rb | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/lib/bundler/dep_proxy.rb b/lib/bundler/dep_proxy.rb new file mode 100644 index 0000000000..998975bbaf --- /dev/null +++ b/lib/bundler/dep_proxy.rb @@ -0,0 +1,46 @@ +# frozen_string_literal: true +module Bundler + class DepProxy + attr_reader :__platform, :dep + + def initialize(dep, platform) + @dep = dep + @__platform = platform + end + + def hash + @hash ||= dep.hash + end + + def ==(other) + dep == other.dep && __platform == other.__platform + end + + alias_method :eql?, :== + + def type + @dep.type + end + + def name + @dep.name + end + + def requirement + @dep.requirement + end + + def to_s + s = name.dup + s << " (#{requirement})" unless requirement == Gem::Requirement.default + s << " #{__platform}" unless __platform == Gem::Platform::RUBY + s + end + + private + + def method_missing(*args, &blk) + @dep.send(*args, &blk) + end + end +end |