module DDP::Server::Protocol::RPC
Protocol
regarding remote procedure calls
Constants
- NO_RESULT
Public Instance Methods
handle_method(id, method, params)
click to toggle source
# File lib/ddp/server/protocol/rpc.rb, line 18 def handle_method(id, method, params) params ||= [] result = api.invoke_rpc(method, *params) send_result(id, result) rescue => e send_error_result(id, e) end
handle_rpc()
click to toggle source
# File lib/ddp/server/protocol/rpc.rb, line 8 def handle_rpc case @message['msg'] when 'method' handle_method(@message['id'], @message['method'], @message['params']) true else false end end
send_error_result(id, error)
click to toggle source
# File lib/ddp/server/protocol/rpc.rb, line 32 def send_error_result(id, error) message = { msg: 'result', id: id } message['error'] = { error: error.class.name, reason: error.message, details: "Backtrace: \n#{error.backtrace.join("\n")}" } write_message(message) end
send_result(id, result = NO_RESULT)
click to toggle source
# File lib/ddp/server/protocol/rpc.rb, line 26 def send_result(id, result = NO_RESULT) message = { msg: 'result', id: id } message['result'] = result unless result == NO_RESULT write_message(message) end
send_updated(methods)
click to toggle source
# File lib/ddp/server/protocol/rpc.rb, line 42 def send_updated(methods) write_message msg: 'updated', methods: methods end