class Pango::CairoLoader
Private Instance Methods
load_function_info(info)
click to toggle source
# File lib/pango/cairo-loader.rb, line 28 def load_function_info(info) case info.name when /\Acontext_get_(.+)\z/ method_name = $1 define_method(info, @context_class, method_name) when /\Acontext_set_(.+)\z/ method_base_name = $1 setter_method_name = "set_#{method_base_name}" if @context_class.method_defined?(setter_method_name) # ignore return end define_method(info, @context_class, setter_method_name) if info.n_args == 2 equal_method_name = "#{method_base_name}=" remove_existing_method(@context_class, equal_method_name) @context_class.__send__(:alias_method, equal_method_name, setter_method_name) end when /\Afont_map_/ # ignore when /\Acreate_(.+)\z/ define_method(info, Cairo::Context, "create_pango_#{$1}") when /\A(.+_path)\z/ define_method(info, Cairo::Context, "pango_#{$1}") when /\Ashow_(.+)\z/ define_method(info, Cairo::Context, "show_pango_#{$1}") when /\Aupdate_(.+)\z/ define_method(info, Cairo::Context, "update_pango_#{$1}") else warn("Unsupported PangoCairo function: #{info.name}") end end
pre_load(repository, namespace)
click to toggle source
# File lib/pango/cairo-loader.rb, line 20 def pre_load(repository, namespace) @context_class = @base_module.const_get(:Context) end
rubyish_class_name(info)
click to toggle source
# File lib/pango/cairo-loader.rb, line 24 def rubyish_class_name(info) "Cairo#{super}" end