module Fear::ExtractorApi
Public Instance Methods
[](pattern)
click to toggle source
Allows to pattern match and extract matcher variables
@param pattern [String] @return [Extractor::Pattern] @note it is not intended to be used by itself, rather then with partial functions
# File lib/fear/extractor_api.rb, line 10 def [](pattern) Extractor::Pattern.new(pattern) end
register_extractor(*args)
click to toggle source
Register extractor for given class @!method register_extractor
(*names, extractor)
@param names [<Class, String>, Class, String] name of a class. You can also pass alias for the name @param extractor [Proc<any => Fear::Option>] proc taking any argument and returned Option of extracted value('s)
@example
register_extractor(Fear::Some, Fear.case(Fear::Some) { |some| some.get }.lift) register_extractor(User, Fear.case(User) { |user|} [user.id, user.email] , )
@example registering an alias. Alias should be CamelCased string
register_extractor(Fear::Some, 'Some', Fear.case(Fear::Some) { |some| some.get }.lift) # no you can extract Fear::Some's using Some alias m.case(Fear['Some(value : Integer)']) { |value:| value * 2 }
# File lib/fear/extractor_api.rb, line 31 def register_extractor(*args) Extractor.register_extractor(*args) end