class ParallelCucumber::Helper::Queue

Attributes

name[R]

Public Class Methods

new(queue_connection_params, append = '') click to toggle source
# File lib/parallel_cucumber/helper/queue.rb, line 8
def initialize(queue_connection_params, append = '')
  # queue_connection_params:
  #   `url--[name]`
  # url:
  #   TCP connection: `redis://[password]@[hostname]:[port]/[db]` (password, port and database are optional),
  #   unix socket connection: `unix://[path to Redis socket]`.
  # name:
  #   queue name, default is `queue`
  url, name = queue_connection_params
  @redis = Redis.new(url: url)
  @name = name + append
end

Public Instance Methods

dequeue() click to toggle source
# File lib/parallel_cucumber/helper/queue.rb, line 25
def dequeue
  @redis.rpop(@name)
end
empty?() click to toggle source
# File lib/parallel_cucumber/helper/queue.rb, line 33
def empty?
  length.zero?
end
enqueue(elements) click to toggle source
# File lib/parallel_cucumber/helper/queue.rb, line 21
def enqueue(elements)
  @redis.lpush(@name, elements) unless elements.empty?
end
length() click to toggle source
# File lib/parallel_cucumber/helper/queue.rb, line 29
def length
  @redis.llen(@name)
end