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