Module: MetzScan::Analyzers::ServiceSoup::SetupWorkflowTriage
- Defined in:
- lib/metz_scan/analyzers/service_soup/setup_workflow_triage.rb
Constant Summary collapse
- CONFIDENCE =
"low"- TRIAGE_SEVERITY =
"setup orchestration"- TRIAGE_SUMMARY =
"Setup workflow signal; review only when setup orchestration changes often " \ "or hides domain workflow pressure."
- WHY =
"Setup orchestration often intentionally runs a list of tasks; review only when it " \ "changes often or hides domain workflow pressure."
- SUGGESTED_NEXT_MOVES =
[ "Leave setup orchestration as a list when it is stable and declarative.", "Extract a named workflow only when setup steps change together or need clearer sequencing." ].freeze
- TOKEN_PATTERN =
/\A(?:seeds?|seeders?|setup|install(?:er|ation)?|bootstrap)\z/i
Class Method Summary collapse
- .attributes(status) ⇒ Object
- .setup?(workflow) ⇒ Boolean
- .setup_method?(method_name) ⇒ Boolean
- .setup_name?(name) ⇒ Boolean
- .setup_path?(path) ⇒ Boolean
- .setup_token?(token) ⇒ Boolean
Class Method Details
.attributes(status) ⇒ Object
25 26 27 28 |
# File 'lib/metz_scan/analyzers/service_soup/setup_workflow_triage.rb', line 25 def attributes(status) { project_analyzer_status: status, confidence: CONFIDENCE, triage_severity: TRIAGE_SEVERITY, triage_summary: TRIAGE_SUMMARY } end |
.setup?(workflow) ⇒ Boolean
21 22 23 |
# File 'lib/metz_scan/analyzers/service_soup/setup_workflow_triage.rb', line 21 def setup?(workflow) setup_path?(workflow.path) || setup_name?(workflow.name) || setup_method?(workflow.method_name) end |
.setup_method?(method_name) ⇒ Boolean
38 39 40 |
# File 'lib/metz_scan/analyzers/service_soup/setup_workflow_triage.rb', line 38 def setup_method?(method_name) setup_token?(method_name.to_s.delete_prefix("#").delete_prefix(".")) end |
.setup_name?(name) ⇒ Boolean
34 35 36 |
# File 'lib/metz_scan/analyzers/service_soup/setup_workflow_triage.rb', line 34 def setup_name?(name) name.to_s.split("::").any? { |segment| setup_token?(segment.delete_prefix("#").delete_prefix(".")) } end |
.setup_path?(path) ⇒ Boolean
30 31 32 |
# File 'lib/metz_scan/analyzers/service_soup/setup_workflow_triage.rb', line 30 def setup_path?(path) path.to_s.split(%r{[/\\]}).any? { |segment| setup_token?(File.basename(segment, ".rb")) } end |
.setup_token?(token) ⇒ Boolean
42 43 44 |
# File 'lib/metz_scan/analyzers/service_soup/setup_workflow_triage.rb', line 42 def setup_token?(token) token.to_s.split(/[_\-.]/).any? { |part| part.match?(TOKEN_PATTERN) } end |