Class: StateMachines::BlacklistMatcher

Inherits:
Matcher
  • Object
show all
Defined in:
lib/state_machines/matcher.rb

Overview

Matches everything but a specific set of values

Instance Attribute Summary

Attributes inherited from Matcher

#values

Instance Method Summary collapse

Methods inherited from Matcher

#initialize

Constructor Details

This class inherits a constructor from StateMachines::Matcher

Instance Method Details

#descriptionObject

A human-readable description of this matcher



94
95
96
# File 'lib/state_machines/matcher.rb', line 94

def description
  "all - #{values.length == 1 ? values.first.inspect : values.inspect}"
end

#filter(values) ⇒ Object

Finds all values that are not within the blacklist configured for this matcher



89
90
91
# File 'lib/state_machines/matcher.rb', line 89

def filter(values)
  values - self.values
end

#matches?(value, context = {}) ⇒ Boolean

Checks whether the given value exists outside the blacklist configured for this matcher.

Examples

matcher = StateMachines::BlacklistMatcher.new([:parked, :idling])
matcher.matches?(:parked)       # => false
matcher.matches?(:first_gear)   # => true

Returns:

  • (Boolean)


83
84
85
# File 'lib/state_machines/matcher.rb', line 83

def matches?(value, context = {})
  !values.include?(value)
end