Class: ActiveMutator::Reporter::Json
- Inherits:
-
Object
- Object
- ActiveMutator::Reporter::Json
- Defined in:
- lib/active_mutator/reporter/json.rb
Instance Method Summary collapse
-
#initialize(out: $stdout) ⇒ Json
constructor
A new instance of Json.
- #on_result(result) ⇒ Object
- #summary(results, invalid_count:) ⇒ Object
Constructor Details
#initialize(out: $stdout) ⇒ Json
Returns a new instance of Json.
6 7 8 |
# File 'lib/active_mutator/reporter/json.rb', line 6 def initialize(out: $stdout) @out = out end |
Instance Method Details
#on_result(result) ⇒ Object
10 |
# File 'lib/active_mutator/reporter/json.rb', line 10 def on_result(result); end |
#summary(results, invalid_count:) ⇒ Object
12 13 14 15 16 17 18 19 20 21 |
# File 'lib/active_mutator/reporter/json.rb', line 12 def summary(results, invalid_count:) counts = results.group_by(&:status).transform_values(&:size) @out.puts JSON.pretty_generate( "score" => Terminal.score(counts), "counts" => counts.transform_keys(&:to_s), "invalid" => invalid_count, "results" => results.map { |r| serialize(r) }, "exit_reason" => counts.fetch(:survived, 0).positive? ? "unaccepted_survivors" : "clean" ) end |