Class: Hx::Interop::RPC::Magic

Inherits:
BasicObject
Defined in:
lib/interop/rpc/magic.rb

Overview

:nodoc:

Instance Method Summary collapse

Constructor Details

#initialize(receiver, symbol, &transformer) ⇒ Magic

Returns a new instance of Magic.



6
7
8
9
10
# File 'lib/interop/rpc/magic.rb', line 6

def initialize(receiver, symbol, &transformer)
  @receiver    = receiver
  @symbol      = symbol
  @transformer = transformer
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(symbol, *args) ⇒ Object (private)



14
15
16
17
# File 'lib/interop/rpc/magic.rb', line 14

def method_missing(symbol, *args)
  args = [@transformer.call(*args)] if @transformer
  @receiver.__send__ @symbol, symbol, *args
end