Module: SnippetCli::VarUsageChecker
- Defined in:
- lib/snippet_cli/var_usage_checker.rb
Overview
Checks variable usage in a single snippet match. Detects declared-but-unused vars and used-but-undeclared {refs}.
Constant Summary collapse
- VAR_REF_PATTERN =
/\{\{(\w+(?:\.\w+)?)\}\}/- REPLACEMENT_KEYS =
%i[replace html markdown image_path].freeze
Class Method Summary collapse
-
.match_warnings(vars, replacement, global_var_names: []) ⇒ Object
Returns a hash { unused: […], undeclared: […] } of variable name arrays.
Class Method Details
.match_warnings(vars, replacement, global_var_names: []) ⇒ Object
Returns a hash { unused: […], undeclared: […] } of variable name arrays. vars: array of var hashes (symbol or string keyed) replacement: hash with one of :replace, :html, :markdown, :image_path
15 16 17 18 19 20 21 22 23 |
# File 'lib/snippet_cli/var_usage_checker.rb', line 15 def self.match_warnings(vars, replacement, global_var_names: []) declared = extract_names(vars) used = extract_refs(replacement) known = declared + Array(global_var_names) { unused: declared - used, undeclared: used - known } end |