Class: RPM::Problem
- Inherits:
-
Object
- Object
- RPM::Problem
- Defined in:
- lib/rpm/problem.rb
Class Method Summary collapse
-
.create(type, pkg_nevr, key, alt_nevr, str, number) ⇒ Object
Create a problem item.
-
.from_ptr(ptr) ⇒ RPM::Problem
Creates a problem from an existing C pointer, refcounting it first.
- .release(ptr) ⇒ Object
Instance Method Summary collapse
-
#<=>(other) ⇒ Fixnum
Compare two problems for equality.
-
#key ⇒ String
Filename or python object address of a problem.
-
#str ⇒ String
A generic data string from a problem.
-
#to_s ⇒ String
Formatted string representation of a problem.
-
#type ⇒ RPM::ProblemType
Type of problem (dependency, diskpace etc).
Class Method Details
.create(type, pkg_nevr, key, alt_nevr, str, number) ⇒ Object
Create a problem item.
27 28 29 30 |
# File 'lib/rpm/problem.rb', line 27 def self.create(type, pkg_nevr, key, alt_nevr, str, number) ptr = ::FFI::AutoPointer.new(RPM::C.rpmProblemCreate(type, pkg_nevr, key, alt_nevr, str, number), Problem.method(:release)) new(ptr) end |
.from_ptr(ptr) ⇒ RPM::Problem
Creates a problem from an existing C pointer, refcounting it first.
12 13 14 15 16 17 18 19 |
# File 'lib/rpm/problem.rb', line 12 def self.from_ptr(ptr) case ptr when FFI::Pointer new(FFI::AutoPointer.new(RPM::C.rpmProblemLink(ptr), Problem.method(:release))) else raise "Can't initialize header with '#{ptr}'" end end |
.release(ptr) ⇒ Object
4 5 6 |
# File 'lib/rpm/problem.rb', line 4 def self.release(ptr) RPM::C.rpmProblemFree(ptr) end |
Instance Method Details
#<=>(other) ⇒ Fixnum
58 59 60 |
# File 'lib/rpm/problem.rb', line 58 def <=>(other) RPM::C.rpmProblemCompare(@ptr, other.ptr) end |
#key ⇒ String
43 44 45 |
# File 'lib/rpm/problem.rb', line 43 def key RPM::C.rpmProblemGetKey(@ptr).read_string end |
#str ⇒ String
48 49 50 |
# File 'lib/rpm/problem.rb', line 48 def str RPM::C.rpmProblemGetStr(@ptr) end |
#to_s ⇒ String
53 54 55 |
# File 'lib/rpm/problem.rb', line 53 def to_s RPM::C.rpmProblemString(@ptr) end |
#type ⇒ RPM::ProblemType
38 39 40 |
# File 'lib/rpm/problem.rb', line 38 def type RPM::C.rpmProblemGetType(@ptr) end |