class Lab42::Rgxargs::ArgumentMatcher
Constants
- Error
- Predefined
Attributes
arg_name[R]
converter[R]
matcher[R]
Public Class Methods
new(matcher, converter, arg_name: nil)
click to toggle source
# File lib/lab42/rgxargs/argument_matcher.rb, line 24 def initialize(matcher, converter, arg_name: nil) @arg_name = arg_name @matcher = matcher @converter = converter || _get_predefined end
Public Instance Methods
match(value)
click to toggle source
# File lib/lab42/rgxargs/argument_matcher.rb, line 12 def match value case matcher when Regexp match = matcher.match(value) match && [converter.(*match.captures), arg_name] else matcher.to_s == value && [converter.(), arg_name] end end
Private Instance Methods
_get_predefined()
click to toggle source
# File lib/lab42/rgxargs/argument_matcher.rb, line 30 def _get_predefined @matcher, converter = Predefined.fetch(matcher) { raise Error, "undefined syntax #{matcher}" } converter end