class RedPack::SimpleInstanceDispatcher

Public Class Methods

new(target, responder) click to toggle source
# File lib/redpack-ruby/method-dispatchers/simple.rb, line 32
def initialize(target, responder)
  @target = target
  @responder = responder
end

Public Instance Methods

dispatch(ctx, method, params) click to toggle source
# File lib/redpack-ruby/method-dispatchers/simple.rb, line 37
def dispatch(ctx, method, params)
  if @target.respond_to? method then
    begin
      result = @target.send(method, *params)
      @responder.ok(ctx, result)
    rescue
      @responder.fail(ctx, $!)
    end
  else
    @responder.fail(ctx, "no-such-method: #{method} on: #{target}")
  end
end