class OskieRpc::Message
Attributes
command[RW]
params[RW]
Public Class Methods
new(command = '', params = {})
click to toggle source
# File lib/oskie_rpc/message.rb, line 6 def initialize(command = '', params = {}) @command = command @params = params @message_id = SecureRandom.uuid end
Public Instance Methods
dump()
click to toggle source
# File lib/oskie_rpc/message.rb, line 22 def dump validate! { 'type' => 'rpcMessage', 'message' => { 'command' => @command, 'params' => @params, 'messageId' => @message_id } } end
load(payload)
click to toggle source
# File lib/oskie_rpc/message.rb, line 12 def load(payload) @command = payload['message']['command'] @params = payload['message']['params'] @message_id = payload['message']['messageId'] validate! self end
validate!()
click to toggle source
# File lib/oskie_rpc/message.rb, line 35 def validate! @command.is_a?(String) || raise(ValidationError, "Command is not a string.") @params.is_a?(Hash) || raise(ValidationError, "Params is not a hash.") @message_id.is_a?(String) || raise(ValidationError, "Message ID is not a string.") nil end