Class: RPM::Dependency
- Inherits:
-
Object
- Object
- RPM::Dependency
- Defined in:
- lib/rpm/dependency.rb
Instance Attribute Summary collapse
-
#flags ⇒ String
Dependency flags.
-
#flagstag ⇒ Object
Returns the value of attribute flagstag.
-
#name ⇒ String
Dependency name.
-
#nametag ⇒ Object
Returns the value of attribute nametag.
-
#owner ⇒ Package
Package this dependency belongs to.
-
#version ⇒ String
Dependency version.
-
#versiontag ⇒ Object
Returns the value of attribute versiontag.
Instance Method Summary collapse
-
#eq? ⇒ Boolean
True if ‘=’, ‘=<’ or ‘>=’ are used to compare the version.
-
#ge? ⇒ Boolean
True if ‘>=’ is used to compare the version.
-
#gt? ⇒ Boolean
True if ‘>’ or ‘>=’ are used to compare the version.
-
#initialize(name, version, flags, owner) ⇒ Dependency
constructor
A new instance of Dependency.
-
#le? ⇒ Boolean
True if ‘=<’ is used to compare the version.
-
#lt? ⇒ Boolean
True if ‘<’ or ‘=<’ are used to compare the version.
-
#pre? ⇒ Boolean
True if this is a pre-requires.
-
#satisfy?(other) ⇒ Boolean
True if
othersatisfies this dependency.
Constructor Details
#initialize(name, version, flags, owner) ⇒ Dependency
Returns a new instance of Dependency.
17 18 19 20 21 22 23 24 |
# File 'lib/rpm/dependency.rb', line 17 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
#flags ⇒ String
Returns dependency flags.
9 10 11 |
# File 'lib/rpm/dependency.rb', line 9 def flags @flags end |
#flagstag ⇒ Object
Returns the value of attribute flagstag.
15 16 17 |
# File 'lib/rpm/dependency.rb', line 15 def flagstag @flagstag end |
#name ⇒ String
Returns dependency name.
5 6 7 |
# File 'lib/rpm/dependency.rb', line 5 def name @name end |
#nametag ⇒ Object
Returns the value of attribute nametag.
13 14 15 |
# File 'lib/rpm/dependency.rb', line 13 def end |
#owner ⇒ Package
Returns package this dependency belongs to.
11 12 13 |
# File 'lib/rpm/dependency.rb', line 11 def owner @owner end |
#version ⇒ String
Returns dependency version.
7 8 9 |
# File 'lib/rpm/dependency.rb', line 7 def version @version end |
#versiontag ⇒ Object
Returns the value of attribute versiontag.
14 15 16 |
# File 'lib/rpm/dependency.rb', line 14 def versiontag @versiontag end |
Instance Method Details
#eq? ⇒ Boolean
Returns true if ‘=’, ‘=<’ or ‘>=’ are used to compare the version.
65 66 67 |
# File 'lib/rpm/dependency.rb', line 65 def eq? flags & RPM::SENSE[:equal] end |
#ge? ⇒ Boolean
Returns true if ‘>=’ is used to compare the version.
75 76 77 |
# File 'lib/rpm/dependency.rb', line 75 def ge? (flags & RPM::SENSE[:greater]) && (flags & RPM::SENSE[:equal]) end |
#gt? ⇒ Boolean
Returns true if ‘>’ or ‘>=’ are used to compare the version.
60 61 62 |
# File 'lib/rpm/dependency.rb', line 60 def gt? flags & RPM::SENSE[:greater] end |
#le? ⇒ Boolean
Returns true if ‘=<’ is used to compare the version.
70 71 72 |
# File 'lib/rpm/dependency.rb', line 70 def le? (flags & RPM::SENSE[:less]) && (flags & RPM::SENSE[:equal]) end |
#lt? ⇒ Boolean
Returns true if ‘<’ or ‘=<’ are used to compare the version.
55 56 57 |
# File 'lib/rpm/dependency.rb', line 55 def lt? flags & RPM::SENSE[:less] end |
#pre? ⇒ Boolean
Returns true if this is a pre-requires.
80 81 82 |
# File 'lib/rpm/dependency.rb', line 80 def pre? flags & RPM::SENSE[:prereq] end |
#satisfy?(other) ⇒ Boolean
Returns true if other satisfies this dependency.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/rpm/dependency.rb', line 28 def satisfy?(other) case other when RPM::Package then other.provides.each do |prov| return true if satisfy?(prov) end 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 |