Either Result Matcher
Usage
Operate an an Either
object from the outside:
result = Right("some result")
MatchEitherResult(result) do |m|
m.success do |v|
"Success: #{v}"
end
m.failure do |v|
"Failure: #{v}"
end
end
Or extend your own Either
-returning classes to support result match blocks:
class MyOperation
include EitherResultMatcher.for(:call)
def call
Right("some result")
end
end
my_op = MyOperation.new
my_op.call() do |m|
m.success do |v|
"Success: #{v}"
end
m.failure do |v|
"Failure: #{v}"
end
end