class Rapporteur::CheckList
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.
Public Class Methods
Public: Returns a new, empty CheckList
instance.
# File lib/rapporteur/check_list.rb, line 17 def initialize @list = [] end
Public Instance Methods
Public: Add a new check to the list.
Returns the CheckList
instance.
# File lib/rapporteur/check_list.rb, line 25 def add(check) @list << check unless @list.include?(check) self end
Public: Empties all checks from the list. This functionally resets the list to an initial state.
Returns the CheckList
instance.
# File lib/rapporteur/check_list.rb, line 35 def clear @list.clear self end
Public: Iterates over all of the contained objects and yields them out, individually.
Returns the CheckList
instance.
# File lib/rapporteur/check_list.rb, line 45 def each(&block) @list.each(&block) self end
Public: Returns true if the list is empty.
# File lib/rapporteur/check_list.rb, line 52 def empty? @list.empty? end
Public: Returns the objects in the list in an Array.
# File lib/rapporteur/check_list.rb, line 58 def to_a @list.dup end