Class: Qfill::ListSet
- Inherits:
-
Object
- Object
- Qfill::ListSet
- Defined in:
- lib/qfill/list_set.rb
Instance Attribute Summary collapse
-
#current_index ⇒ Object
Returns the value of attribute current_index.
-
#queues ⇒ Object
Returns the value of attribute queues.
Instance Method Summary collapse
- #[](key) ⇒ Object
- #count_all_elements ⇒ Object
- #index_of(queue_name) ⇒ Object
-
#initialize(*args) ⇒ ListSet
constructor
A new instance of ListSet.
- #reset! ⇒ Object
Constructor Details
#initialize(*args) ⇒ ListSet
Returns a new instance of ListSet.
13 14 15 16 17 18 |
# File 'lib/qfill/list_set.rb', line 13 def initialize(*args) raise ArgumentError, "Missing required arguments for #{self.class}.new(queues)" unless args.length.positive? @queues = args @current_index = 0 end |
Instance Attribute Details
#current_index ⇒ Object
Returns the value of attribute current_index.
11 12 13 |
# File 'lib/qfill/list_set.rb', line 11 def current_index @current_index end |
#queues ⇒ Object
Returns the value of attribute queues.
11 12 13 |
# File 'lib/qfill/list_set.rb', line 11 def queues @queues end |
Instance Method Details
#[](key) ⇒ Object
20 21 22 |
# File 'lib/qfill/list_set.rb', line 20 def [](key) queues.find { |queue| queue.name == key } end |
#count_all_elements ⇒ Object
35 36 37 |
# File 'lib/qfill/list_set.rb', line 35 def count_all_elements queues.inject(0) { |counter, queue| counter += queue.elements.length } end |
#index_of(queue_name) ⇒ Object
24 25 26 27 28 29 |
# File 'lib/qfill/list_set.rb', line 24 def index_of(queue_name) index = queues.index { |queue| queue.name == queue_name } return index if index raise Qfill::Errors::InvalidIndex, "Cannot locate index of #{queue_name}" end |
#reset! ⇒ Object
31 32 33 |
# File 'lib/qfill/list_set.rb', line 31 def reset! self.current_index = 0 end |