Module: Textus::Workflow::DSL::PatternMatcher

Included in:
Definition
Defined in:
lib/textus/workflow/dsl/pattern_matcher.rb

Instance Method Summary collapse

Instance Method Details

#match_pattern?(pattern, key) ⇒ Boolean

Returns:

  • (Boolean)


5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/textus/workflow/dsl/pattern_matcher.rb', line 5

def match_pattern?(pattern, key)
  if pattern.end_with?(".**")
    prefix = pattern.delete_suffix(".**")
    key.start_with?("#{prefix}.")
  elsif pattern.end_with?(".*")
    prefix = pattern.delete_suffix(".*")
    suffix = key.delete_prefix("#{prefix}.")
    key != suffix && !suffix.include?(".")
  else
    key == pattern
  end
end