Class: CrossSpec::KafkaClient

Inherits:
Object
  • Object
show all
Defined in:
lib/cross_spec/kafka_client.rb

Constant Summary collapse

TOPIC =
"cross-spec.messages"

Instance Method Summary collapse

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.deliver_message(str, topic: TOPIC)
end

#each_message(&block) ⇒ Object



12
13
14
15
16
# File 'lib/cross_spec/kafka_client.rb', line 12

def each_message(&block)
  consumer = @kafka.consumer(group_id: group_id)
  consumer.subscribe(TOPIC)
  consumer.each_message(&block)
end

#group_idObject



18
19
20
# File 'lib/cross_spec/kafka_client.rb', line 18

def group_id
  @group_id ||= "cross-spec-#{SecureRandom.hex}"
end