Class: Rapporteur::CheckList

Inherits:
Object
  • Object
show all
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

Constructor Details

#initializeCheckList

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

#clearObject

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.

Returns:

  • (Boolean)


52
53
54
# File 'lib/rapporteur/check_list.rb', line 52

def empty?
  @list.empty?
end

#to_aObject

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