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

new() click to toggle source

Public: Returns a new, empty CheckList instance.

# File lib/rapporteur/check_list.rb, line 17
def initialize
  @list = []
end

Public Instance Methods

add(check) click to toggle source

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
clear() click to toggle source

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
each(&block) click to toggle source

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
empty?() click to toggle source

Public: Returns true if the list is empty.

# File lib/rapporteur/check_list.rb, line 52
def empty?
  @list.empty?
end
to_a() click to toggle source

Public: Returns the objects in the list in an Array.

# File lib/rapporteur/check_list.rb, line 58
def to_a
  @list.dup
end