class Libvirt::BaseInfo
Attributes
_struct_class[RW]
Public Class Methods
new(pointer)
click to toggle source
@param pointer [FFI::Pointer]
# File lib/libvirt/base_info.rb, line 20 def initialize(pointer) raise ArgumentError, "Can't initialize base class #{self.class}" if self.class == BaseInfo @ptr = pointer @struct = self.class._struct_class.new(pointer) end
struct_class(klass)
click to toggle source
@param [Class<FFI::Struct>]
# File lib/libvirt/base_info.rb, line 11 def struct_class(klass) self._struct_class = klass klass.members.each do |attr| define_method(attr) { @struct[attr] } end end
Public Instance Methods
[](attr)
click to toggle source
@param attr [Symbol] @return [Object, nil]
# File lib/libvirt/base_info.rb, line 29 def [](attr) @struct[attr] end
to_h()
click to toggle source
@return [Hash]
# File lib/libvirt/base_info.rb, line 34 def to_h @struct.members.map { |attr| [attr, @struct[attr]] }.to_h end
to_ptr()
click to toggle source
# File lib/libvirt/base_info.rb, line 38 def to_ptr @struct.to_ptr end