Method: Gem::Dependency#match?

Defined in:
lib/rubygems/dependency.rb

#match?(obj, version = nil, allow_prerelease = false) ⇒ Boolean

:call-seq:

dep.match? name          => true or false
dep.match? name, version => true or false
dep.match? spec          => true or false

Does this dependency match the specification described by name and version or match spec?

NOTE: Unlike #matches_spec? this method does not return true when the version is a prerelease version unless this is a prerelease dependency.

Returns:

  • (Boolean)


220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
# File 'lib/rubygems/dependency.rb', line 220

def match?(obj, version=nil, allow_prerelease=false)
  if !version
    name = obj.name
    version = obj.version
  else
    name = obj
  end

  return false unless self.name === name

  version = Gem::Version.new version

  return true if requirement.none? && !version.prerelease?
  return false if version.prerelease? &&
                  !allow_prerelease &&
                  !prerelease?

  requirement.satisfied_by? version
end