Class: ParallelCucumber::Helper::Queue
- Inherits:
-
Object
- Object
- ParallelCucumber::Helper::Queue
- Defined in:
- lib/parallel_cucumber/helper/queue.rb
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Instance Method Summary collapse
- #dequeue ⇒ Object
- #empty? ⇒ Boolean
- #enqueue(elements) ⇒ Object
-
#initialize(queue_connection_params, append = '') ⇒ Queue
constructor
A new instance of Queue.
- #length ⇒ Object
Constructor Details
#initialize(queue_connection_params, append = '') ⇒ Queue
Returns a new instance of Queue.
8 9 10 11 12 13 14 15 16 17 18 19 |
# 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 |
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
6 7 8 |
# File 'lib/parallel_cucumber/helper/queue.rb', line 6 def name @name end |
Instance Method Details
#dequeue ⇒ Object
25 26 27 |
# File 'lib/parallel_cucumber/helper/queue.rb', line 25 def dequeue @redis.rpop(@name) end |
#empty? ⇒ Boolean
33 34 35 |
# File 'lib/parallel_cucumber/helper/queue.rb', line 33 def empty? length.zero? end |
#enqueue(elements) ⇒ Object
21 22 23 |
# File 'lib/parallel_cucumber/helper/queue.rb', line 21 def enqueue(elements) @redis.lpush(@name, elements) unless elements.empty? end |
#length ⇒ Object
29 30 31 |
# File 'lib/parallel_cucumber/helper/queue.rb', line 29 def length @redis.llen(@name) end |