Class: Qless::JobReservers::Ordered

Inherits:
Object
  • Object
show all
Defined in:
lib/qless/job_reservers/ordered.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(queues) ⇒ Ordered

Returns a new instance of Ordered.



8
9
10
# File 'lib/qless/job_reservers/ordered.rb', line 8

def initialize(queues)
  @queues = queues
end

Instance Attribute Details

#queuesObject (readonly)

Returns the value of attribute queues.



6
7
8
# File 'lib/qless/job_reservers/ordered.rb', line 6

def queues
  @queues
end

Instance Method Details

#descriptionObject



24
25
26
# File 'lib/qless/job_reservers/ordered.rb', line 24

def description
  @description ||= @queues.map(&:name).join(', ') + ' (ordered)'
end

#prep_for_work!Object



20
21
22
# File 'lib/qless/job_reservers/ordered.rb', line 20

def prep_for_work!
  # nothing here on purpose
end

#reserveObject



12
13
14
15
16
17
18
# File 'lib/qless/job_reservers/ordered.rb', line 12

def reserve
  @queues.each do |q|
    job = q.pop
    return job if job
  end
  nil
end