class Either::Match::Evaluation
Attributes
either[R]
match[R]
Public Class Methods
new(match, either)
click to toggle source
# File lib/either/match.rb, line 35 def initialize(match, either) @match = match @either = either end
Public Instance Methods
result()
click to toggle source
# File lib/either/match.rb, line 42 def result either.left? ? left_result : right_result end
Private Instance Methods
left_match()
click to toggle source
# File lib/either/match.rb, line 56 def left_match lefts.find { |pattern, _| either.left.select(&pattern).some? }.last end
left_result()
click to toggle source
# File lib/either/match.rb, line 48 def left_result left_match.call(either.left.value) end
lefts()
click to toggle source
# File lib/either/match.rb, line 64 def lefts match.lefts end
right_match()
click to toggle source
# File lib/either/match.rb, line 60 def right_match rights.find { |pattern, _| either.right.select(&pattern).some? }.last end
right_result()
click to toggle source
# File lib/either/match.rb, line 52 def right_result right_match.call(either.right.value) end
rights()
click to toggle source
# File lib/either/match.rb, line 68 def rights match.rights end