Class: Evilution::Runner::ReportPublisher

Inherits:
Object
  • Object
show all
Defined in:
lib/evilution/runner/report_publisher.rb

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ ReportPublisher

Returns a new instance of ReportPublisher.



11
12
13
# File 'lib/evilution/runner/report_publisher.rb', line 11

def initialize(config)
  @config = config
end

Instance Method Details

#publish(summary) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/evilution/runner/report_publisher.rb', line 15

def publish(summary)
  reporter = build_reporter
  return unless reporter

  output = reporter.call(summary)
  return if config.quiet

  if config.html?
    path = "evilution-report.html"
    File.write(path, output)
    warn "HTML report written to #{path}"
  else
    $stdout.puts(output)
  end
end

#save_session(summary) ⇒ Object



31
32
33
34
35
36
37
# File 'lib/evilution/runner/report_publisher.rb', line 31

def save_session(summary)
  return unless config.save_session?

  Evilution::Session::Store.new.save(summary)
rescue StandardError => e
  warn "[evilution] failed to save session: #{e.message}" unless config.quiet
end