class Pheromone::Messaging::Message
Attributes
blob[R]
metadata[R]
options[R]
topic[R]
Public Class Methods
new(topic:, blob:, metadata: {}, options: {}, encoder:, message_format:, embed_blob:)
click to toggle source
# File lib/pheromone/messaging/message.rb, line 5 def initialize(topic:, blob:, metadata: {}, options: {}, encoder:, message_format:, embed_blob:) @topic = topic @blob = blob @options = options || {} @metadata = metadata || {} @encoder = encoder @message_format = message_format @embed_blob = embed_blob end
Public Instance Methods
send!()
click to toggle source
# File lib/pheromone/messaging/message.rb, line 17 def send! WaterDrop::SyncProducer.call( MessageFormatter.new( message, @encoder, @message_format ).format, { topic: topic.to_s }.merge!(options) ) end
Private Instance Methods
message()
click to toggle source
# File lib/pheromone/messaging/message.rb, line 30 def message if @embed_blob @metadata.merge!(blob: @blob) else { metadata: @metadata, blob: @blob } end end