class Result::Case

Public Class Methods

new(result, ok_block:) click to toggle source
# File lib/result/case.rb, line 2
def initialize(result, ok_block:)
  @result = result
  @ok_block = ok_block
end
when_ok(result, &block) click to toggle source
# File lib/result/case.rb, line 7
def self.when_ok(result, &block)
  new(result, ok_block: block)
end

Public Instance Methods

when_error(&block) click to toggle source
# File lib/result/case.rb, line 11
def when_error(&block)
  case @result.send(:_result)
  when Result::Ok
    @ok_block.call(@result.send(:_result).extract)
  when Result::Err
    block.call(@result.send(:_result).extract)
  end
end