Class: Relevance::Tarantula::IOReporter

Inherits:
Object
  • Object
show all
Includes:
Relevance::Tarantula
Defined in:
lib/relevance/tarantula/io_reporter.rb

Defined Under Namespace

Classes: IOResultOverview

Constant Summary

Constants included from Relevance::Tarantula

VERSION

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Relevance::Tarantula

#log, #rails_root, #tarantula_home, #verbose

Constructor Details

#initialize(io) ⇒ IOReporter

Returns a new instance of IOReporter.



12
13
14
15
# File 'lib/relevance/tarantula/io_reporter.rb', line 12

def initialize(io)
  @io = io
  @results = Struct.new(:successes, :failures).new([], [])
end

Instance Attribute Details

#ioObject

Returns the value of attribute io.



7
8
9
# File 'lib/relevance/tarantula/io_reporter.rb', line 7

def io
  @io
end

#resultsObject

Returns the value of attribute results.



7
8
9
# File 'lib/relevance/tarantula/io_reporter.rb', line 7

def results
  @results
end

Instance Method Details

#finish_report(test_name) ⇒ Object



27
28
29
30
31
32
33
34
35
# File 'lib/relevance/tarantula/io_reporter.rb', line 27

def finish_report(test_name)
  unless (failures).empty?
    io.puts "****** FAILURES"
    failures.each do |failure|
      io.puts "#{failure.code}: #{failure.url}"
    end
    raise "#{failures.size} failures"
  end
end

#report(result) ⇒ Object



17
18
19
20
21
22
23
24
25
# File 'lib/relevance/tarantula/io_reporter.rb', line 17

def report(result)
  return if result.nil?

  unless result.success # collection = result.success ? results.successes : results.failures
    results.failures << IOResultOverview.new(
      result.code, result.url
    )
  end
end