Class: Rapporteur::CheckList
- Inherits:
-
Object
- Object
- Rapporteur::CheckList
- Defined in:
- lib/rapporteur/check_list.rb
Overview
Manages a list of checks.
The goals of this object are to store and return the check objects given to it in the same order they were given (in Ruby 1.8 and newer). And, to ensure that the same check is not added twice to be run.
Previously, a native Ruby Set was used. However, Sets do not guarantee order, particularly in Ruby 1.8. A simple Array is possible, but loses the uniqueness constraint of the objects added.
Instance Method Summary collapse
-
#add(check) ⇒ Object
Public: Add a new check to the list.
-
#clear ⇒ Object
Public: Empties all checks from the list.
-
#each(&block) ⇒ Object
Public: Iterates over all of the contained objects and yields them out, individually.
-
#empty? ⇒ Boolean
Public: Returns true if the list is empty.
-
#initialize ⇒ CheckList
constructor
Public: Returns a new, empty CheckList instance.
-
#to_a ⇒ Object
Public: Returns the objects in the list in an Array.
Constructor Details
#initialize ⇒ CheckList
Public: Returns a new, empty CheckList instance.
17 18 19 |
# File 'lib/rapporteur/check_list.rb', line 17 def initialize @list = [] end |
Instance Method Details
#add(check) ⇒ Object
Public: Add a new check to the list.
Returns the CheckList instance.
25 26 27 28 |
# File 'lib/rapporteur/check_list.rb', line 25 def add(check) @list << check unless @list.include?(check) self end |
#clear ⇒ Object
Public: Empties all checks from the list. This functionally resets the list to an initial state.
Returns the CheckList instance.
35 36 37 38 |
# File 'lib/rapporteur/check_list.rb', line 35 def clear @list.clear self end |
#each(&block) ⇒ Object
Public: Iterates over all of the contained objects and yields them out, individually.
Returns the CheckList instance.
45 46 47 48 |
# File 'lib/rapporteur/check_list.rb', line 45 def each(&block) @list.each(&block) self end |
#empty? ⇒ Boolean
Public: Returns true if the list is empty.
52 53 54 |
# File 'lib/rapporteur/check_list.rb', line 52 def empty? @list.empty? end |
#to_a ⇒ Object
Public: Returns the objects in the list in an Array.
58 59 60 |
# File 'lib/rapporteur/check_list.rb', line 58 def to_a @list.dup end |