Sha256: b5c32a0cd4b5bb29a31c0bbb876b90fac990aee952bbbc8c06645e1b4532eaeb
Contents?: true
Size: 1.47 KB
Versions: 2
Compression:
Stored size: 1.47 KB
Contents
module BBK module App class Dispatcher class Message attr_reader :consumer, :delivery_info, :headers, :body def initialize(consumer, delivery_info, headers, body, *_args, **_kwargs) @consumer = consumer @delivery_info = delivery_info @headers = headers.to_h.with_indifferent_access @body = body end # Lazy body parsing def payload @payload ||= begin JSON.parse(@body).with_indifferent_access rescue StandardError {}.with_indifferent_access end end def ack(*args, answer: nil, **kwargs) consumer.ack(self, *args, answer: answer, **kwargs) end def nack(*args, error: nil, **kwargs) consumer.nack(self, *args, error: error, **kwargs) end def message_id raise NotImplementedError.new("#{self.class.name} does not implement #{__method__} method") end def reply_to raise NotImplementedError.new("#{self.class.name} does not implement #{__method__} method") end def user_id raise NotImplementedError.new("#{self.class.name} does not implement #{__method__} method") end def reply_message_id(addon) Digest::SHA1.hexdigest("#{addon}#{message_id}") end def to_h { headers: headers, body: body } end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
bbk-app-1.1.1.273312 | lib/bbk/app/dispatcher/message.rb |
bbk-app-1.1.1.273294 | lib/bbk/app/dispatcher/message.rb |