Class: Pitchfork::Listeners::Group

Inherits:
Object
  • Object
show all
Defined in:
lib/pitchfork/listeners.rb

Instance Method Summary collapse

Constructor Details

#initialize(listeners, queues_per_worker:) ⇒ Group

Returns a new instance of Group.



7
8
9
10
# File 'lib/pitchfork/listeners.rb', line 7

def initialize(listeners, queues_per_worker:)
  @listeners = listeners
  @queues_per_worker = queues_per_worker
end

Instance Method Details

#each(&block) ⇒ Object



12
13
14
# File 'lib/pitchfork/listeners.rb', line 12

def each(&block)
  @listeners.each(&block)
end

#for_worker(nr) ⇒ Object



16
17
18
19
20
21
# File 'lib/pitchfork/listeners.rb', line 16

def for_worker(nr)
  index = nr % @listeners.size

  listeners = @listeners.slice(index..-1) + @listeners.slice(0...index)
  listeners.take(@queues_per_worker)
end