class Phobos::Producer::PublicAPI
Public Class Methods
new(host_obj)
click to toggle source
# File lib/phobos/producer.rb, line 14 def initialize(host_obj) @host_obj = host_obj end
Public Instance Methods
async_publish(topic:, payload:, key: nil, partition_key: nil, headers: nil)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
@param 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' } } ]
# File lib/phobos/producer.rb, line 40 def publish_list(messages) class_producer.publish_list(messages) end
Private Instance Methods
class_producer()
click to toggle source
# File lib/phobos/producer.rb, line 50 def class_producer @host_obj.class.producer end