Class: EnumStateMachine::WhitelistMatcher

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

Overview

Matches a specific set of values

Instance Attribute Summary

Attributes inherited from Matcher

#values

Instance Method Summary collapse

Methods inherited from Matcher

#filter, #initialize

Constructor Details

This class inherits a constructor from EnumStateMachine::Matcher

Instance Method Details

#descriptionObject

A human-readable description of this matcher



70
71
72
# File 'lib/enum_state_machine/matcher.rb', line 70

def description
  values.length == 1 ? values.first.inspect : values.inspect
end

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

Checks whether the given value exists within the whitelist configured for this matcher.

Examples

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

Returns:

  • (Boolean)


65
66
67
# File 'lib/enum_state_machine/matcher.rb', line 65

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