Class: CrossSpec::KafkaClient
- Inherits:
-
Object
- Object
- CrossSpec::KafkaClient
- Defined in:
- lib/cross_spec/kafka_client.rb
Constant Summary collapse
- TOPIC =
"cross-spec.messages"
Instance Method Summary collapse
- #broadcast(str) ⇒ Object
- #each_message(&block) ⇒ Object
- #group_id ⇒ Object
-
#initialize(kafka) ⇒ KafkaClient
constructor
A new instance of KafkaClient.
Constructor Details
#initialize(kafka) ⇒ KafkaClient
Returns a new instance of KafkaClient.
4 5 6 |
# File 'lib/cross_spec/kafka_client.rb', line 4 def initialize(kafka) @kafka = kafka end |
Instance Method Details
#broadcast(str) ⇒ Object
8 9 10 |
# File 'lib/cross_spec/kafka_client.rb', line 8 def broadcast(str) @kafka.(str, topic: TOPIC) end |
#each_message(&block) ⇒ Object
12 13 14 15 16 |
# File 'lib/cross_spec/kafka_client.rb', line 12 def (&block) consumer = @kafka.consumer(group_id: group_id) consumer.subscribe(TOPIC) consumer.(&block) end |
#group_id ⇒ Object
18 19 20 |
# File 'lib/cross_spec/kafka_client.rb', line 18 def group_id @group_id ||= "cross-spec-#{SecureRandom.hex}" end |