class RailwayIpc::Rabbitmq::Payload
Attributes
message[R]
type[R]
Public Class Methods
decode(message)
click to toggle source
# File lib/railway_ipc/rabbitmq/payload.rb, line 19 def self.decode(message) message = JSON.parse(message) type = message['type'] message = Base64.decode64(message['encoded_message']) new(type, message) end
encode(message)
click to toggle source
# File lib/railway_ipc/rabbitmq/payload.rb, line 8 def self.encode(message) type = message.class.to_s begin message = Base64.encode64(message.class.encode(message)) # TODO: also need to rescue Google::Protobuf::TypeError rescue NoMethodError raise RailwayIpc::InvalidProtobuf.new("Message #{message} is not a valid protobuf") end new(type, message).to_json end
new(type, message)
click to toggle source
# File lib/railway_ipc/rabbitmq/payload.rb, line 26 def initialize(type, message) @type = type @message = message end
Public Instance Methods
to_json()
click to toggle source
rubocop:disable Lint/ToJSON
# File lib/railway_ipc/rabbitmq/payload.rb, line 32 def to_json { type: type, encoded_message: message }.to_json end