class RabbitRPC::Message
Attributes
args[R]
method_name[R]
Public Class Methods
generate_id()
click to toggle source
# File lib/rabbit_rpc/message.rb, line 29 def self.generate_id SecureRandom.uuid end
new(method_name, *args)
click to toggle source
# File lib/rabbit_rpc/message.rb, line 8 def initialize(method_name, *args) @method_name = method_name @args = args end
unpack(message)
click to toggle source
Unpacks a serialized message to a hash containing the method and its args. This method needs to be modified if a serializer other than MessagePack is to be used.
Returns a Hash
# File lib/rabbit_rpc/message.rb, line 25 def self.unpack(message) MessagePack.unpack message end
Public Instance Methods
pack()
click to toggle source
Squeezes and serializes the RPC method name and arguments
Returns the packed and serialized string
# File lib/rabbit_rpc/message.rb, line 16 def pack serialize(method: @method_name, args: @args) end
Private Instance Methods
serialize(message)
click to toggle source
Private: Serialize the message. Currently using message pack. The implementation can be changed in order to use some other serializer.
Returns the serialized String
# File lib/rabbit_rpc/message.rb, line 39 def serialize(message) message.to_msgpack end