json.ex (759B)
1 defmodule Credo.CLI.Command.Diff.Output.Json do 2 @moduledoc false 3 4 alias Credo.CLI.Output.Formatter.JSON 5 alias Credo.Execution 6 7 def print_before_info(_source_files, _exec), do: nil 8 9 def print_after_info(_source_files, exec, _time_load, _time_run) do 10 issues = Execution.get_issues(exec) 11 new_issues = Enum.filter(issues, &(&1.diff_marker == :new)) 12 fixed_issues = Enum.filter(issues, &(&1.diff_marker == :fixed)) 13 old_issues = Enum.filter(issues, &(&1.diff_marker == :old)) 14 15 %{ 16 "diff" => %{ 17 "new" => Enum.map(new_issues, &JSON.issue_to_json/1), 18 "fixed" => Enum.map(fixed_issues, &JSON.issue_to_json/1), 19 "old" => Enum.map(old_issues, &JSON.issue_to_json/1) 20 } 21 } 22 |> JSON.print_map() 23 end 24 end