Class: PulsarSdk::Producer::Message

Inherits:
Object
  • Object
show all
Includes:
Tweaks::CleanInspect
Defined in:
lib/pulsar_sdk/producer/message.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Tweaks::CleanInspect

#inspect

Constructor Details

#initialize(msg, metadata = nil, key = nil) ⇒ Message

Returns a new instance of Message.



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/pulsar_sdk/producer/message.rb', line 8

def initialize(msg,  = nil, key = nil)
  # TODO check metadata type
  @message,  = msg, 
   ||= Pulsar::Proto::.new

  # msg must convet to string
  json_encode! unless @message.is_a?(String)

  publish_time = .publish_time
  .publish_time = publish_time.zero? ? TimeX.now.timestamp : publish_time

  self.key = key
end

Instance Attribute Details

#keyObject

Returns the value of attribute key.



6
7
8
# File 'lib/pulsar_sdk/producer/message.rb', line 6

def key
  @key
end

#messageObject (readonly)

Returns the value of attribute message.



6
7
8
# File 'lib/pulsar_sdk/producer/message.rb', line 6

def message
  @message
end

#metadataObject (readonly)

Returns the value of attribute metadata.



6
7
8
# File 'lib/pulsar_sdk/producer/message.rb', line 6

def 
  
end

Instance Method Details

#binary_stringObject



30
31
32
# File 'lib/pulsar_sdk/producer/message.rb', line 30

def binary_string
  @message.bytes.pack('C*')
end

#producer_name=(v) ⇒ Object



22
23
24
# File 'lib/pulsar_sdk/producer/message.rb', line 22

def producer_name=(v)
  .producer_name = v
end

#sequence_id=(v) ⇒ Object



26
27
28
# File 'lib/pulsar_sdk/producer/message.rb', line 26

def sequence_id=(v)
  .sequence_id = v
end