Class: RPM::Dependency
- Inherits:
-
Object
- Object
- RPM::Dependency
- Defined in:
- lib/rpm/dependency.rb
Instance Attribute Summary (collapse)
-
- (String) flags
Dependency flags.
-
- (Object) flagstag
Returns the value of attribute flagstag.
-
- (String) name
Dependency name.
-
- (Object) nametag
Returns the value of attribute nametag.
-
- (Package) owner
Package this dependency belongs to.
-
- (String) version
Dependency version.
-
- (Object) versiontag
Returns the value of attribute versiontag.
Instance Method Summary (collapse)
-
- (Boolean) eq?
True if '=', '==' are used to compare the version.
-
- (Boolean) ge?
True if '>=' is used to compare the version.
-
- (Boolean) gt?
True if '>' or '>=' are used to compare the version.
-
- (Dependency) initialize(name, version, flags, owner)
constructor
A new instance of Dependency.
-
- (Boolean) le?
True if '=<' is used to compare the version.
-
- (Boolean) lt?
True if '<' or '=<' are used to compare the version.
-
- (Boolean) pre?
True if this is a pre-requires.
-
- (Boolean) satisfy?(other)
True if other satisfies this dependency.
Constructor Details
- (Dependency) initialize(name, version, flags, owner)
A new instance of Dependency
20 21 22 23 24 25 26 27 28 |
# 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 |
Instance Attribute Details
- (String) flags
Dependency flags
12 13 14 |
# File 'lib/rpm/dependency.rb', line 12 def flags @flags end |
- (Object) flagstag
Returns the value of attribute flagstag
18 19 20 |
# File 'lib/rpm/dependency.rb', line 18 def flagstag @flagstag end |
- (String) name
Dependency name
8 9 10 |
# File 'lib/rpm/dependency.rb', line 8 def name @name end |
- (Object) nametag
Returns the value of attribute nametag
16 17 18 |
# File 'lib/rpm/dependency.rb', line 16 def @nametag end |
- (Package) owner
Package this dependency belongs to
14 15 16 |
# File 'lib/rpm/dependency.rb', line 14 def owner @owner end |
- (String) version
Dependency version
10 11 12 |
# File 'lib/rpm/dependency.rb', line 10 def version @version end |
- (Object) versiontag
Returns the value of attribute versiontag
17 18 19 |
# File 'lib/rpm/dependency.rb', line 17 def versiontag @versiontag end |
Instance Method Details
- (Boolean) eq?
True if '=', '=<' or '>=' are used to compare the version
67 68 69 |
# File 'lib/rpm/dependency.rb', line 67 def eq? flags & RPM::SENSE[:equal] end |
- (Boolean) ge?
True if '>=' is used to compare the version
77 78 79 |
# File 'lib/rpm/dependency.rb', line 77 def ge? (flags & RPM::SENSE[:greater]) && (flags & RPMSENSE[:equal]) end |
- (Boolean) gt?
True if '>' or '>=' are used to compare the version
62 63 64 |
# File 'lib/rpm/dependency.rb', line 62 def gt? flags & RPM::SENSE[:greater] end |
- (Boolean) le?
True if '=<' is used to compare the version
72 73 74 |
# File 'lib/rpm/dependency.rb', line 72 def le? (flags & RPM::SENSE[:less]) && (flags & RPMSENSE[:equal]) end |
- (Boolean) lt?
True if '<' or '=<' are used to compare the version
57 58 59 |
# File 'lib/rpm/dependency.rb', line 57 def lt? flags & RPM::SENSE[:less] end |
- (Boolean) pre?
True if this is a pre-requires
82 83 84 |
# File 'lib/rpm/dependency.rb', line 82 def pre? flags & RPM::SENSE[:prereq] end |
- (Boolean) satisfy?(other)
True if other satisfies this dependency
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# 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::FFI.rpmdsCompare( RPM::FFI.rpmdsSingle(:providename, other.name, other.version.to_vre, other.flags), RPM::FFI.rpmdsSingle(:providename, name, version.to_vre, flags)) != 0 when RPM::Version then RPM::FFI.rpmdsCompare( RPM::FFI.rpmdsSingle(:providename, name, other.to_vre, other.to_vre.empty? ? 0 : :equal), RPM::FFI.rpmdsSingle(:providename, name, version.to_vre, flags)) != 0 else raise(TypeError, "#{other} is not a Version or Dependency") end end |