class Bundler::DepProxy

def self.get_proxy(dep, platform)

def self.get_proxy(dep, platform)
  @proxies[[dep, platform]] ||= new(dep, platform).freeze
end

def clone

def clone
  raise NoMethodError.new("DepProxy cannot be cloned")
end

def dup

def dup
  raise NoMethodError.new("DepProxy cannot be duplicated")
end

def initialize(dep, platform)

def initialize(dep, platform)
  @dep = dep
  @__platform = platform
end

def method_missing(*args, &blk)

def method_missing(*args, &blk)
  @dep.send(*args, &blk)
end

def name

def name
  @dep.name
end

def requirement

def requirement
  @dep.requirement
end

def to_s

def to_s
  s = name.dup
  s << " (#{requirement})" unless requirement == Gem::Requirement.default
  s << " #{__platform}" unless __platform == Gem::Platform::RUBY
  s
end

def type

def type
  @dep.type
end