Module: Hashira::CLI::FailOn
- Defined in:
- lib/hashira/cli/fail_on.rb
Constant Summary collapse
- SMELLS =
%w[ control_parameter data_clump duplicate_method_call feature_envy instance_variable_assumption manual_dispatch module_initialize nil_check repeated_conditional too_many_instance_variables utility_function ].freeze
- 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" => SMELLS, **SMELLS.to_h { [it, it] } }.freeze
Class Method Summary collapse
Class Method Details
.kind(name) ⇒ Object
28 29 30 31 32 |
# File 'lib/hashira/cli/fail_on.rb', line 28 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
23 24 25 26 |
# File 'lib/hashira/cli/fail_on.rb', line 23 def parse(list) return [] unless list list.split(",").flat_map { Array(kind(it.strip)) }.uniq end |