class Pango::Loader

Private Instance Methods

load_field_reader(info, i, field_info, klass, name, method_name) click to toggle source
Calls superclass method
# File lib/pango/loader.rb, line 52
def load_field_reader(info, i, field_info, klass, name, method_name)
  case klass.name
  when "Pango::AttrShape"
    return if klass.method_defined?(method_name)
  end
  super
end
load_method_info(info, klass, method_name) click to toggle source
Calls superclass method
# File lib/pango/loader.rb, line 60
def load_method_info(info, klass, method_name)
  case klass.name
  when "Pango::Matrix"
    case method_name
    when "translate", "scale", "rotate", "concat"
      method_name += "!"
    end
  when "Pango::AttrList"
    return if klass.method_defined?(method_name)
  end
  super(info, klass, method_name)
end
load_struct_info(info) click to toggle source
Calls superclass method
# File lib/pango/loader.rb, line 35
def load_struct_info(info)
  case info.name
  when /Class\z/
    super
  when "Attribute"
    @pending_attribute_infos << info
  when /\AAttr[A-Z]/
    if info.name == "AttrIterator"
      super
    else
      @pending_attribute_infos << info
    end
  else
    super
  end
end
post_load(repository, namespace) click to toggle source
# File lib/pango/loader.rb, line 24
def post_load(repository, namespace)
  require_extension
  @pending_attribute_infos.each do |info|
    name = rubyish_class_name(info)
    klass = @base_module.const_get(name)
    load_fields(info, klass)
    load_methods(info, klass)
  end
  require_libraries
end
pre_load(repository, namespace) click to toggle source
# File lib/pango/loader.rb, line 20
def pre_load(repository, namespace)
  @pending_attribute_infos = []
end
require_extension() click to toggle source
# File lib/pango/loader.rb, line 73
def require_extension
  begin
    major, minor, _ = RUBY_VERSION.split(/\./)
    require "#{major}.#{minor}/pango.so"
  rescue LoadError
    require "pango.so"
  end
end
require_libraries() click to toggle source
# File lib/pango/loader.rb, line 82
def require_libraries
  require "pango/color"
  require "pango/font-description"
  require "pango/language"
  require "pango/layout"
  require "pango/rectangle"
  require "pango/markup"
  require "pango/matrix"
  require "pango/version"

  require "pango/deprecated"
end