class RPM::Problem
Public Class Methods
Source
# File lib/rpm/problem.rb, line 29 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
Create a problem item. @param [RPM::ProblemType] type problem type @param [String] pkg_nver name-version-edition-release of the related package @param [String] key key of the related package @param [String] alt_nver name-version-edition-release of the other related package @param [String] str generic data string from a problem
Source
# File lib/rpm/problem.rb, line 14 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
Creates a problem from an existing C
pointer, refcounting it first. @param [FFI::Pointer] ptr existing C
pointer @return [RPM::Problem] wrapped object
Source
# File lib/rpm/problem.rb, line 35 def initialize(ptr) @ptr = ptr end
@visibility private
Source
# File lib/rpm/problem.rb, line 6 def self.release(ptr) RPM::C.rpmProblemFree(ptr) end
Public Instance Methods
Source
# File lib/rpm/problem.rb, line 60 def <=>(other) RPM::C.rpmProblemCompare(@ptr, other.ptr) end
@return [Fixnum] compare two problems for equality.
Source
# File lib/rpm/problem.rb, line 45 def key RPM::C.rpmProblemGetKey(@ptr).read_string end
@return [String] filename or python object address of a problem.
Source
# File lib/rpm/problem.rb, line 50 def str RPM::C.rpmProblemGetStr(@ptr) end
@return [String] a generic data string from a problem.
Source
# File lib/rpm/problem.rb, line 55 def to_s RPM::C.rpmProblemString(@ptr) end
@return [String] formatted string representation of a problem
Source
# File lib/rpm/problem.rb, line 40 def type RPM::C.rpmProblemGetType(@ptr) end
@return [RPM::ProblemType] type of problem (dependency, diskpace etc).