zf

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

iex_pry.ex (1203B)


      1 defmodule Credo.Check.Warning.IExPry do
      2   use Credo.Check,
      3     base_priority: :high,
      4     explanations: [
      5       check: """
      6       While calls to IEx.pry might appear in some parts of production code,
      7       most calls to this function are added during debugging sessions.
      8 
      9       This check warns about those calls, because they might have been committed
     10       in error.
     11       """
     12     ]
     13 
     14   @call_string "IEx.pry"
     15 
     16   @doc false
     17   @impl true
     18   def run(%SourceFile{} = source_file, params) do
     19     issue_meta = IssueMeta.for(source_file, params)
     20 
     21     Credo.Code.prewalk(source_file, &traverse(&1, &2, issue_meta))
     22   end
     23 
     24   defp traverse(
     25          {
     26            {:., _, [{:__aliases__, _, [:IEx]}, :pry]},
     27            meta,
     28            _arguments
     29          } = ast,
     30          issues,
     31          issue_meta
     32        ) do
     33     {ast, issues_for_call(meta, issues, issue_meta)}
     34   end
     35 
     36   defp traverse(ast, issues, _issue_meta) do
     37     {ast, issues}
     38   end
     39 
     40   defp issues_for_call(meta, issues, issue_meta) do
     41     new_issue =
     42       format_issue(
     43         issue_meta,
     44         message: "There should be no calls to IEx.pry/0.",
     45         trigger: @call_string,
     46         line_no: meta[:line]
     47       )
     48 
     49     [new_issue | issues]
     50   end
     51 end