module StrongDelegate::ClassMethods
Attributes
delegate_variable_name[R]
Public Instance Methods
def_delegate(delegate_variable_name = nil, &block)
click to toggle source
# File lib/strong_delegate.rb, line 13 def def_delegate(delegate_variable_name = nil, &block) @delegate_variable_name = delegate_variable_name set_method_defines block end
delegate_methods()
click to toggle source
# File lib/strong_delegate.rb, line 22 def delegate_methods @delegate_methods ||= {} end
delegate_to(delegate_variable_name)
click to toggle source
# File lib/strong_delegate.rb, line 18 def delegate_to(delegate_variable_name) @delegate_variable_name = delegate_variable_name end
Private Instance Methods
set_method_defines(define_proc)
click to toggle source
# File lib/strong_delegate.rb, line 28 def set_method_defines(define_proc) obj = Object.new obj.singleton_class.class_eval &define_proc obj.singleton_methods.each do |method_name| m = obj.singleton_class.instance_method(method_name) delegate_methods[method_name] = m.parameters end end