defmodule Credo.Test.CheckRunner do alias Credo.Execution alias Credo.Execution.ExecutionIssues def run_check(source_files, check, params \\ []) do exec = Execution.build() source_files |> List.wrap() |> issues_for(check, exec, params) end defp issues_for(source_files, check, exec, params) when is_list(source_files) do :ok = check.run_on_all_source_files(exec, source_files, params) Enum.flat_map(source_files, &get_issues_from_source_file(&1, exec)) end defp get_issues_from_source_file(source_file, exec) do ExecutionIssues.get(exec, source_file) end end