Class: Qube::Queue

Inherits:
Object
  • Object
show all
Defined in:
lib/qube/model/queue.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeQueue

Returns a new instance of Queue.



6
7
8
9
10
11
# File 'lib/qube/model/queue.rb', line 6

def initialize
  @config     = Qube.config
  @client     = Client.new
  @tubes      = nil
  @statistics = nil
end

Instance Attribute Details

#statisticsObject (readonly)

Returns the value of attribute statistics.



4
5
6
# File 'lib/qube/model/queue.rb', line 4

def statistics
  @statistics
end

#tubesObject (readonly)

Returns the value of attribute tubes.



3
4
5
# File 'lib/qube/model/queue.rb', line 3

def tubes
  @tubes
end

Instance Method Details

#create_tube(options = {}) ⇒ Object



26
27
28
# File 'lib/qube/model/queue.rb', line 26

def create_tube(options = {})
  Tube.new(options)
end

#delete_tube(name) ⇒ Object



34
35
36
# File 'lib/qube/model/queue.rb', line 34

def delete_tube(name)
  @client.delete("tubes/#{name}")&.body
end

#enqueue(tube, task, options = {}) ⇒ Object



13
14
15
16
# File 'lib/qube/model/queue.rb', line 13

def enqueue(tube, task, options = {})
  response = @client.post("tubes/#{tube}", tube: tube, task: task, options: options)
  response.code == 200
end

#tube_exist?(name) ⇒ Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/qube/model/queue.rb', line 30

def tube_exist?(name)
  tubes.include?(name)
end