Class: Lens::Worker::Queue

Inherits:
Queue
  • Object
show all
Defined in:
lib/lens/worker.rb

Overview

A queue which enforces a maximum size. NOTE: can be replaced with SizedQueue?

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Queue

Returns a new instance of Queue.

Raises:

  • (ArgumentError)


8
9
10
11
12
13
# File 'lib/lens/worker.rb', line 8

def initialize(options = {})
  raise ArgumentError unless options[:max_size]

  @max_size = options[:max_size]
  super()
end

Instance Attribute Details

#max_sizeObject (readonly)

Returns the value of attribute max_size.



6
7
8
# File 'lib/lens/worker.rb', line 6

def max_size
  @max_size
end

Instance Method Details

#push(obj) ⇒ Object



15
16
17
# File 'lib/lens/worker.rb', line 15

def push(obj)
  super unless size >= max_size
end