Class: Pulsar::Message
- Inherits:
-
Object
- Object
- Pulsar::Message
- Defined in:
- lib/pulsar/message.rb
Overview
Immutable message value returned by consumers.
Instance Attribute Summary collapse
-
#event_time ⇒ Object
readonly
Returns the value of attribute event_time.
-
#key ⇒ Object
readonly
Returns the value of attribute key.
-
#message_id ⇒ Object
readonly
Returns the value of attribute message_id.
-
#payload ⇒ Object
readonly
Returns the value of attribute payload.
-
#properties ⇒ Object
readonly
Returns the value of attribute properties.
-
#publish_time ⇒ Object
readonly
Returns the value of attribute publish_time.
-
#topic ⇒ Object
readonly
Returns the value of attribute topic.
Instance Method Summary collapse
-
#initialize(payload:, message_id:, properties: {}, key: nil, topic: nil, publish_time: nil, event_time: nil) ⇒ Message
constructor
A new instance of Message.
Constructor Details
#initialize(payload:, message_id:, properties: {}, key: nil, topic: nil, publish_time: nil, event_time: nil) ⇒ Message
Returns a new instance of Message.
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/pulsar/message.rb', line 8 def initialize(payload:, message_id:, properties: {}, key: nil, topic: nil, publish_time: nil, event_time: nil) raise ArgumentError, 'message_id must be a Pulsar::MessageId' unless .is_a?(MessageId) @payload = String(payload).b.freeze @message_id = @properties = properties.transform_keys(&:to_s).transform_values(&:to_s).freeze @key = key @topic = topic @publish_time = publish_time @event_time = event_time freeze end |
Instance Attribute Details
#event_time ⇒ Object (readonly)
Returns the value of attribute event_time.
6 7 8 |
# File 'lib/pulsar/message.rb', line 6 def event_time @event_time end |
#key ⇒ Object (readonly)
Returns the value of attribute key.
6 7 8 |
# File 'lib/pulsar/message.rb', line 6 def key @key end |
#message_id ⇒ Object (readonly)
Returns the value of attribute message_id.
6 7 8 |
# File 'lib/pulsar/message.rb', line 6 def @message_id end |
#payload ⇒ Object (readonly)
Returns the value of attribute payload.
6 7 8 |
# File 'lib/pulsar/message.rb', line 6 def payload @payload end |
#properties ⇒ Object (readonly)
Returns the value of attribute properties.
6 7 8 |
# File 'lib/pulsar/message.rb', line 6 def properties @properties end |
#publish_time ⇒ Object (readonly)
Returns the value of attribute publish_time.
6 7 8 |
# File 'lib/pulsar/message.rb', line 6 def publish_time @publish_time end |
#topic ⇒ Object (readonly)
Returns the value of attribute topic.
6 7 8 |
# File 'lib/pulsar/message.rb', line 6 def topic @topic end |