Module: RubyHaze::Mixins::Proxy::ClassMethods

Defined in:
lib/rubyhaze/mixins/proxy.rb

Instance Method Summary collapse

Instance Method Details

#proxy_accessor(aliased_name, real_name = nil) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/rubyhaze/mixins/proxy.rb', line 25

def proxy_accessor(aliased_name, real_name = nil)
  real_name ||= aliased_name
  aliased_name = aliased_name.to_s
  if aliased_name[-1,1] == '?'
    class_eval %{def #{aliased_name[0..-2]}() proxy_object.send :is_#{real_name}? end}
    class_eval %{def #{aliased_name}() proxy_object.send :is_#{real_name}? end}
    class_eval %{def #{aliased_name[0..-2]}=(v) proxy_object.send :set_#{real_name}, v end}
  else
    class_eval %{def #{aliased_name}() proxy_object.send :get_#{real_name}? end}
    class_eval %{def #{aliased_name}=(v) proxy_object.send :set_#{real_name}, v end}
  end
end

#proxy_accessors(*args) ⇒ Object



38
39
40
# File 'lib/rubyhaze/mixins/proxy.rb', line 38

def proxy_accessors(*args)
  args.each { |arg| proxy_accessor *arg }
end