Module: Hashira::CLI::FailOn

Defined in:
lib/hashira/cli/fail_on.rb

Constant Summary collapse

MEASURES =
(Hashira::Pipeline::ANALYZERS - %i[coupling smells]).map(&:to_s).freeze
KINDS =
{
  "cycles" => "cycle", "sdp" => "sdp_violation", "dupe" => "duplication",
  **Hashira::Pipeline::STRUCTURAL.to_h { [it, it] },
  **MEASURES.to_h { [it, it] },
  "smells" => Hashira::Pipeline::SMELLS, **Hashira::Pipeline::SMELLS.to_h { [it, it] }
}.freeze

Class Method Summary collapse

Class Method Details

.kind(name) ⇒ Object



22
23
24
25
26
# File 'lib/hashira/cli/fail_on.rb', line 22

def kind(name)
  KINDS.fetch(name) do
    raise(Hashira::Error, "unknown --fail-on kind #{name.inspect} (use: #{KINDS.keys.join(", ")})")
  end
end

.parse(list) ⇒ Object



17
18
19
20
# File 'lib/hashira/cli/fail_on.rb', line 17

def parse(list)
  return [] unless list
  list.split(",").flat_map { Array(kind(it.strip)) }.uniq
end