zf

zenflows testing
git clone https://s.sonu.ch/~srfsh/zf.git
Log | Files | Refs | Submodules | README | LICENSE

filter.ex (956B)


      1 defmodule Credo.CLI.Filter do
      2   @moduledoc false
      3 
      4   # TODO: is this the right place for this module?
      5 
      6   alias Credo.Check.ConfigComment
      7   alias Credo.Execution
      8   alias Credo.Issue
      9   alias Credo.SourceFile
     10 
     11   def important(list, exec) when is_list(list) do
     12     Enum.filter(list, &important?(&1, exec))
     13   end
     14 
     15   def important?(%Issue{} = issue, exec) do
     16     issue.priority >= exec.min_priority
     17   end
     18 
     19   def important?(%SourceFile{filename: filename}, exec) do
     20     exec
     21     |> Execution.get_issues(filename)
     22     |> Enum.any?(&important?(&1, exec))
     23   end
     24 
     25   def valid_issues(list, exec) when is_list(list) do
     26     Enum.reject(list, fn issue ->
     27       ignored_by_config_comment?(issue, exec)
     28     end)
     29   end
     30 
     31   def ignored_by_config_comment?(%Issue{} = issue, exec) do
     32     case exec.config_comment_map[issue.filename] do
     33       list when is_list(list) ->
     34         Enum.any?(list, &ConfigComment.ignores_issue?(&1, issue))
     35 
     36       _ ->
     37         false
     38     end
     39   end
     40 end