Class: StateMachines::BlacklistMatcher
- Defined in:
- lib/state_machines/matcher.rb
Overview
Matches everything but a specific set of values
Instance Attribute Summary
Attributes inherited from Matcher
Instance Method Summary collapse
-
#description ⇒ Object
A human-readable description of this matcher.
-
#filter(values) ⇒ Object
Finds all values that are not within the blacklist configured for this matcher.
-
#matches?(value, context = {}) ⇒ Boolean
Checks whether the given value exists outside the blacklist configured for this matcher.
Methods inherited from Matcher
Constructor Details
This class inherits a constructor from StateMachines::Matcher
Instance Method Details
#description ⇒ Object
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
83 84 85 |
# File 'lib/state_machines/matcher.rb', line 83 def matches?(value, context = {}) !values.include?(value) end |