module Kind::Maybe::Wrapper
Public Instance Methods
from(&block)
click to toggle source
# File lib/kind/maybe/wrapper.rb, line 24 def from(&block) wrap(&block) end
wrap(arg = UNDEFINED) { || ... }
click to toggle source
# File lib/kind/maybe/wrapper.rb, line 6 def wrap(arg = UNDEFINED) if block_given? begin return new(yield) if UNDEFINED == arg input = __call_before_expose_the_arg_in_a_block(arg) input.kind_of?(Maybe::None) ? input : new(yield(input)) rescue StandardError => exception Maybe::None.new(exception) end else return new(arg) if UNDEFINED != arg Error.wrong_number_of_args!(given: 0, expected: 1) end end
Private Instance Methods
__call_before_expose_the_arg_in_a_block(input)
click to toggle source
# File lib/kind/maybe/wrapper.rb, line 30 def __call_before_expose_the_arg_in_a_block(input) input end