Class: Qfill::ListSet

Inherits:
Object
  • Object
show all
Defined in:
lib/qfill/list_set.rb

Direct Known Subclasses

Popper, Pusher

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ ListSet

Returns a new instance of ListSet.

Raises:

  • (ArgumentError)


10
11
12
13
14
# File 'lib/qfill/list_set.rb', line 10

def initialize(*args)
  raise ArgumentError, "Missing required arguments for #{self.class}.new(queues)" unless args.length > 0
  @queues = args
  @current_index = 0
end

Instance Attribute Details

#current_indexObject

Returns the value of attribute current_index.



8
9
10
# File 'lib/qfill/list_set.rb', line 8

def current_index
  @current_index
end

#queuesObject

Returns the value of attribute queues.



8
9
10
# File 'lib/qfill/list_set.rb', line 8

def queues
  @queues
end

Instance Method Details

#[](key) ⇒ Object



16
17
18
# File 'lib/qfill/list_set.rb', line 16

def [](key)
  return self.queues.find { |queue| queue.name == key }
end

#get_total_elementsObject



24
25
26
# File 'lib/qfill/list_set.rb', line 24

def get_total_elements
  self.queues.inject(0) {|counter, queue| counter += queue.elements.length}
end

#reset!Object



20
21
22
# File 'lib/qfill/list_set.rb', line 20

def reset!
  self.current_index = 0
end