Module: Textus::Key::Matching

Defined in:
lib/textus/key/matching.rb

Overview

Dotted-key scope matching, shared by all prefix-scoped sweeps (WS4 / ADR 0089-era cleanup). Canonicalised here so every consumer uses a consistent dotted-boundary check with proper Nested ancestor handling. ADR 0093: Produce is the sole engine calling this.

Class Method Summary collapse

Class Method Details

.matches_prefix?(key, prefix, nested: false) ⇒ Boolean

Is key within the prefix scope?

  • exact match, or a dotted descendant (the prefix. boundary, so prefix "art" does NOT match key "artifacts"), and
  • for a nested entry, also when prefix descends INTO it — the nested parent owns the leaf the prefix names (e.g. prefix "feeds.machines.host1" still selects the nested entry "feeds.machines").

Returns:

  • (Boolean)


17
18
19
20
21
# File 'lib/textus/key/matching.rb', line 17

def matches_prefix?(key, prefix, nested: false)
  return true if key == prefix || key.start_with?("#{prefix}.")

  nested && prefix.start_with?("#{key}.")
end