Class: CIAT::Test

Inherits:
Object
  • Object
show all
Defined in:
lib/ciat/test.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(filename, elements, options = {}) ⇒ Test

:nodoc:



8
9
10
11
12
13
# File 'lib/ciat/test.rb', line 8

def initialize(filename, elements, options={}) #:nodoc:
  @filename = filename
  @elements = elements
  @processors = options[:processors]
  @feedback = options[:feedback]
end

Instance Attribute Details

#elementsObject (readonly)

Returns the value of attribute elements.



6
7
8
# File 'lib/ciat/test.rb', line 6

def elements
  @elements
end

#filenameObject (readonly)

Returns the value of attribute filename.



4
5
6
# File 'lib/ciat/test.rb', line 4

def filename
  @filename
end

#processorsObject (readonly)

Returns the value of attribute processors.



5
6
7
# File 'lib/ciat/test.rb', line 5

def processors
  @processors
end

Instance Method Details

#element(*names) ⇒ Object



34
35
36
# File 'lib/ciat/test.rb', line 34

def element(*names)
  elements[names.compact.join("_").to_sym]
end

#element?(*names) ⇒ Boolean



38
39
40
# File 'lib/ciat/test.rb', line 38

def element?(*names)
  elements.has_key?(names.compact.join("_").to_sym)
end

#report_lightsObject

:nodoc:



28
29
30
31
32
# File 'lib/ciat/test.rb', line 28

def report_lights #:nodoc:
  processors.each do |processor|
    @feedback.processor_result(processor)
  end
end

#runObject



15
16
17
18
19
# File 'lib/ciat/test.rb', line 15

def run
  run_processors
  report_lights
  self
end

#run_processorsObject

:nodoc:



21
22
23
24
25
26
# File 'lib/ciat/test.rb', line 21

def run_processors #:nodoc:
  processors.each do |processor|
    processor.process(self)
    break unless processor.light.green?
  end
end