class Module

Public Instance Methods

__copy_instance_methods_from(mod) click to toggle source

Define instance methods delegating execution to the corresponding ones in 'mod'.

# File lib/drsi/module.rb, line 4
def __copy_instance_methods_from(mod)
  [:public_instance_methods, :protected_instance_methods, :private_instance_methods].each do |methods_type|
    methods = mod.send(methods_type, false).map {|methodname| mod.instance_method(methodname)}
    type    = methods_type.to_s.split('_').first.to_sym
    __add_instance_methods(methods, type)
  end
  self
end

Private Instance Methods

__add_instance_methods(methods, type) click to toggle source

Define instance methods binding to self the unbound ones received in 'methods'. Also, set their visibility from 'type' (:public, :protected, :private).

# File lib/drsi/module.rb, line 18
def __add_instance_methods(methods, type)
  module_exec(methods, type) do |methods, type|
    methods.each {|method| define_method(method.name, method)}
    send(type, *methods.map(&:name))
  end
end