Module: Textus::Workflow::Pattern

Defined in:
lib/textus/workflow/pattern.rb

Class Method Summary collapse

Class Method Details

.match?(pattern, key) ⇒ Boolean

Returns:

  • (Boolean)


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

def self.match?(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