Module: ProxyObject

Defined in:
lib/proxy_object.rb

Instance Method Summary collapse

Instance Method Details

#proxiesObject



17
18
19
# File 'lib/proxy_object.rb', line 17

def proxies
  @proxies ||= Hash.new([])
end

#proxy(message, target, target_message = message) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/proxy_object.rb', line 3

def proxy(message, target, target_message=message)
  proxies[message] << [target, target_message]

  file, line = caller.first.split(':')

  instance_eval %{
    def #{message}(*args, &block)
      proxies[:#{message}].each do |target, message|
        target.send(message, *args, &block)
      end
    end
  }, file, line.to_i
end