Class: Phobos::Producer::PublicAPI

Inherits:
Object
  • Object
show all
Defined in:
lib/phobos/producer.rb

Instance Method Summary collapse

Constructor Details

#initialize(host_obj) ⇒ PublicAPI

Returns a new instance of PublicAPI.



14
15
16
# File 'lib/phobos/producer.rb', line 14

def initialize(host_obj)
  @host_obj = host_obj
end

Instance Method Details

#async_publish(topic:, payload:, key: nil, partition_key: nil, headers: nil) ⇒ Object



26
27
28
29
30
31
32
# File 'lib/phobos/producer.rb', line 26

def async_publish(topic:, payload:, key: nil, partition_key: nil, headers: nil)
  class_producer.async_publish(topic: topic,
                               payload: payload,
                               key: key,
                               partition_key: partition_key,
                               headers: headers)
end

#async_publish_list(messages) ⇒ Object



44
45
46
# File 'lib/phobos/producer.rb', line 44

def async_publish_list(messages)
  class_producer.async_publish_list(messages)
end

#publish(topic:, payload:, key: nil, partition_key: nil, headers: nil) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/phobos/producer.rb', line 18

def publish(topic:, payload:, key: nil, partition_key: nil, headers: nil)
  class_producer.publish(topic: topic,
                         payload: payload,
                         key: key,
                         partition_key: partition_key,
                         headers: headers)
end

#publish_list(messages) ⇒ Object

Parameters:

  • messages (Array(Hash(:topic, :payload, :key, :headers)))

    e.g.: [

    { topic: 'A', payload: 'message-1', key: '1', headers: { foo: 'bar' } },
    { topic: 'B', payload: 'message-2', key: '2', headers: { foo: 'bar' } }
    

    ]



40
41
42
# File 'lib/phobos/producer.rb', line 40

def publish_list(messages)
  class_producer.publish_list(messages)
end