class RPM::Dependency
Attributes
flags[RW]
@return [String] dependency flags
flagstag[RW]
name[RW]
@return [String] dependency name
nametag[RW]
owner[RW]
@return [Package] package this dependency belongs to
version[RW]
@return [String] dependency version
versiontag[RW]
Public Class Methods
new(name, version, flags, owner)
click to toggle source
# File lib/rpm/dependency.rb, line 20 def initialize(name, version, flags, owner) RPM::Utils.check_type(version, RPM::Version) @name = name @version = version @flags = flags @owner = owner end
Public Instance Methods
eq?()
click to toggle source
@return [Boolean] true if ‘=’, ‘=<’ or ‘>=’ are used to compare the version
# File lib/rpm/dependency.rb, line 67 def eq? flags & RPM::SENSE[:equal] end
ge?()
click to toggle source
@return [Boolean] true if ‘>=’ is used to compare the version
# File lib/rpm/dependency.rb, line 77 def ge? (flags & RPM::SENSE[:greater]) && (flags & RPM::SENSE[:equal]) end
gt?()
click to toggle source
@return [Boolean] true if ‘>’ or ‘>=’ are used to compare the version
# File lib/rpm/dependency.rb, line 62 def gt? flags & RPM::SENSE[:greater] end
le?()
click to toggle source
@return [Boolean] true if ‘=<’ is used to compare the version
# File lib/rpm/dependency.rb, line 72 def le? (flags & RPM::SENSE[:less]) && (flags & RPM::SENSE[:equal]) end
lt?()
click to toggle source
@return [Boolean] true if ‘<’ or ‘=<’ are used to compare the version
# File lib/rpm/dependency.rb, line 57 def lt? flags & RPM::SENSE[:less] end
pre?()
click to toggle source
@return [Boolean] true if this is a pre-requires
# File lib/rpm/dependency.rb, line 82 def pre? flags & RPM::SENSE[:prereq] end
satisfy?(other)
click to toggle source
@param [Package, Dependency
, Version] other @return [Boolean] true if other
satisfies this dependency
# File lib/rpm/dependency.rb, line 32 def satisfy?(other) case other when RPM::Package then other.provides.each do |prov| return true if self.satisfy?(prov) end return false when RPM::Dependency then RPM::C.rpmdsCompare( RPM::C.rpmdsSingle(:providename, other.name, other.version.to_vre, other.flags), RPM::C.rpmdsSingle(:providename, name, version.to_vre, flags)) != 0 when RPM::Version then RPM::C.rpmdsCompare( RPM::C.rpmdsSingle(:providename, name, other.to_vre, other.to_vre.empty? ? 0 : :equal), RPM::C.rpmdsSingle(:providename, name, version.to_vre, flags)) != 0 else raise(TypeError, "#{other} is not a Version or Dependency") end end