class GObjectIntrospection::IBaseInfo

Wraps GIBaseInfo struct, the base type for all info types. Decendant types will be implemented as needed.

Public Class Methods

build_array_method(method, single = nil) click to toggle source

This is a helper method to construct a method returning an array, out of the methods returning their number and the individual elements.

For example, given the methods n_foos and foo(i), this method will create an additional method foos returning all args.

Provide the second parameter if the plural is not trivially constructed by adding s to the singular.

# File lib/ffi-gobject_introspection/i_base_info.rb, line 21
    def self.build_array_method method, single = nil
      method = method.to_s
      single ||= method[0..-2]
      count = method.sub(%r^(get_)?/, "\\1n_")
      self.class_eval "        def #{method}
          (0..(#{count} - 1)).map do |i|
            #{single} i
          end
        end
"
    end
wrap(ptr) click to toggle source
# File lib/ffi-gobject_introspection/i_base_info.rb, line 72
def self.wrap ptr
  return nil if ptr.null?
  return new ptr
end

Public Instance Methods

==(other) click to toggle source
# File lib/ffi-gobject_introspection/i_base_info.rb, line 77
def == other
  Lib.g_base_info_equal @gobj, other.to_ptr
end
container() click to toggle source
# File lib/ffi-gobject_introspection/i_base_info.rb, line 63
def container
  ptr = Lib.g_base_info_get_container @gobj
  IRepository.wrap_ibaseinfo_pointer ptr
end
deprecated?() click to toggle source
# File lib/ffi-gobject_introspection/i_base_info.rb, line 68
def deprecated?
  Lib.g_base_info_is_deprecated @gobj
end
info_type() click to toggle source
# File lib/ffi-gobject_introspection/i_base_info.rb, line 51
def info_type
  Lib.g_base_info_get_type @gobj
end
name() click to toggle source
# File lib/ffi-gobject_introspection/i_base_info.rb, line 36
def name
  Lib.g_base_info_get_name @gobj
end
namespace() click to toggle source
# File lib/ffi-gobject_introspection/i_base_info.rb, line 55
def namespace
  Lib.g_base_info_get_namespace @gobj
end
safe_name() click to toggle source
# File lib/ffi-gobject_introspection/i_base_info.rb, line 40
def safe_name
  name.gsub(%r^./) do |char|
    case char
    when "_"
      "Private___"
    else
      char.upcase
    end
  end
end
safe_namespace() click to toggle source
# File lib/ffi-gobject_introspection/i_base_info.rb, line 59
def safe_namespace
  namespace.gsub(%r^(.)/) { $1.upcase }
end
to_ptr() click to toggle source
# File lib/ffi-gobject_introspection/i_base_info.rb, line 9
def to_ptr
  @gobj
end