class Dry::Types::Result

Monad extension for Result

@api public

Result class used by {Type#try}

@api public

Attributes

input[R]

@return [Object]

Public Class Methods

new(input) click to toggle source

@param [Object] input

@api private

# File lib/dry/types/result.rb, line 19
def initialize(input)
  @input = input
end

Public Instance Methods

to_monad() click to toggle source

Turn result into a monad

This makes result objects work with dry-monads (or anything with a compatible interface)

@return [Dry::Monads::Success,Dry::Monads::Failure]

@api public

# File lib/dry/types/extensions/monads.rb, line 20
def to_monad
  if success?
    Success(input)
  else
    Failure([error, input])
  end
end