diff options
author | ryan <ryan@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-01-19 00:08:49 +0000 |
---|---|---|
committer | ryan <ryan@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-01-19 00:08:49 +0000 |
commit | e798ccbacf489a3af2201ae30058ff0ae7f79045 (patch) | |
tree | 4147a7834eb88323057fd2120a2ddc96c1eb32ab /lib/rubygems/dependency.rb | |
parent | d26fb035cae8d351dc238376722c980230dc5fbd (diff) |
Import rubygems 1.5.0 (release candidate)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30599 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rubygems/dependency.rb')
-rw-r--r-- | lib/rubygems/dependency.rb | 83 |
1 files changed, 21 insertions, 62 deletions
diff --git a/lib/rubygems/dependency.rb b/lib/rubygems/dependency.rb index ec5d88b607..d19663e4bd 100644 --- a/lib/rubygems/dependency.rb +++ b/lib/rubygems/dependency.rb @@ -1,3 +1,9 @@ +###################################################################### +# This file is imported from the rubygems project. +# DO NOT make modifications in this repo. They _will_ be reverted! +# File a patch instead and assign it to Ryan Davis or Eric Hodel. +###################################################################### + require "rubygems/requirement" ## @@ -5,18 +11,6 @@ require "rubygems/requirement" class Gem::Dependency - # :stopdoc: - @warned_version_requirement = false - - def self.warned_version_requirement - @warned_version_requirement - end - - def self.warned_version_requirement= value - @warned_version_requirement = value - end - # :startdoc: - ## # Valid dependency types. #-- @@ -54,7 +48,7 @@ class Gem::Dependency unless TYPES.include? type raise ArgumentError, "Valid types are #{TYPES.inspect}, " - + "not #{@type.inspect}" + + "not #{type.inspect}" end @name = name @@ -88,7 +82,7 @@ class Gem::Dependency @prerelease || requirement.prerelease? end - def pretty_print(q) # :nodoc: + def pretty_print q # :nodoc: q.group 1, 'Gem::Dependency.new(', ')' do q.pp name q.text ',' @@ -133,12 +127,6 @@ class Gem::Dependency @requirement = @version_requirements if defined?(@version_requirements) end - ## - # Rails subclasses Gem::Dependency and uses this method, so we'll hack - # around it. - - alias __requirement requirement # :nodoc: - def requirements_list requirement.as_list end @@ -147,30 +135,6 @@ class Gem::Dependency "#{name} (#{requirement}, #{type})" end - def version_requirements # :nodoc: - unless Gem::Dependency.warned_version_requirement then - warn "#{Gem.location_of_caller.join ':'}:Warning: " \ - "Gem::Dependency#version_requirements is deprecated " \ - "and will be removed on or after August 2010. " \ - "Use #requirement" - - Gem::Dependency.warned_version_requirement = true - end - - __requirement - end - - alias version_requirement version_requirements # :nodoc: - - def version_requirements= requirements # :nodoc: - warn "#{Gem.location_of_caller.join ':'}:Warning: " \ - "Gem::Dependency#version_requirements= is deprecated " \ - "and will be removed on or after August 2010. " \ - "Use Gem::Dependency.new." - - @requirement = Gem::Requirement.create requirements - end - def == other # :nodoc: Gem::Dependency === other && self.name == other.name && @@ -182,7 +146,7 @@ class Gem::Dependency # Dependencies are ordered by name. def <=> other - [@name] <=> [other.name] + @name <=> other.name end ## @@ -193,16 +157,11 @@ class Gem::Dependency def =~ other unless Gem::Dependency === other - other = Gem::Dependency.new other.name, other.version rescue return false + return unless other.respond_to?(:name) && other.respond_to?(:version) + other = Gem::Dependency.new other.name, other.version end - pattern = name - - if Regexp === pattern then - return false unless pattern =~ other.name - else - return false unless pattern == other.name - end + return false unless name === other.name reqs = other.requirement.requirements @@ -214,18 +173,18 @@ class Gem::Dependency requirement.satisfied_by? version end - def match?(spec_name, spec_version) - pattern = name + def match? name, version + return false unless self.name === name + return true if requirement.none? - if Regexp === pattern - return false unless pattern =~ spec_name - else - return false unless pattern == spec_name - end + requirement.satisfied_by? Gem::Version.new(version) + end - return true if requirement.none? + def matches_spec? spec + return false unless name === spec.name + return true if requirement.none? - requirement.satisfied_by? Gem::Version.new(spec_version) + requirement.satisfied_by?(spec.version) end end |