class GLib::Instantiatable
Public Class Methods
Source
# File lib/glib2.rb, line 142 def include(*modules, &block) result = super modules.each do |mod| next if mod.is_a?(Interface) mod.public_instance_methods(false).each do |name| check_new_method(name) end mod.protected_instance_methods(false).each do |name| check_new_method(name) end mod.private_instance_methods(false).each do |name| check_new_method(name) end end result end
Calls superclass method
Source
# File lib/glib2.rb, line 136 def method_added(name) result = super check_new_method(name) result end
Calls superclass method
Private Class Methods
Source
# File lib/glib2.rb, line 160 def check_new_method(name) case name.to_s when /\A#{Regexp.escape(SIGNAL_HANDLER_PREFIX)}/o signal_name = $POSTMATCH begin signal_ = signal(signal_name) rescue NoSignalError return end return unless signal_.class != self signal_handler_attach(signal_, name.to_s) do |instance, *args| instance.__send__(name, *args) end when /\A#{Regexp.escape(VIRTUAL_FUNCTION_IMPLEMENTATION_PREFIX)}/o ancestors.each do |klass| next unless klass.respond_to?(:implement_virtual_function) return if klass.implement_virtual_function(self, name) end end end
Private Instance Methods
Source
# File lib/glib2.rb, line 183 def create_signal_handler(signal_name, callback) callback end