Class: MessagePack::RPC::ObjectDispatcher

Inherits:
Object
  • Object
show all
Includes:
Dispatcher
Defined in:
lib/msgpack/rpc/dispatcher.rb

Instance Method Summary collapse

Constructor Details

#initialize(obj, accept = obj.public_methods) ⇒ ObjectDispatcher

Returns a new instance of ObjectDispatcher.



29
30
31
32
# File 'lib/msgpack/rpc/dispatcher.rb', line 29

def initialize(obj, accept = obj.public_methods)
	@obj = obj
	@accept = accept.map {|m| m.is_a?(Integer) ? m : m.to_s }
end

Instance Method Details

#dispatch(method, param, &block) ⇒ Object



34
35
36
37
38
39
# File 'lib/msgpack/rpc/dispatcher.rb', line 34

def dispatch(method, param, &block)
	unless @accept.include?(method)
		raise NoMethodError, "method `#{method}' is not accepted"
	end
	@obj.send(method, *param, &block)
end