class Dry::Monads::Result::Fixed

@see Monads#Result @private

Public Class Methods

[](error, **options) click to toggle source
# File lib/dry/monads/result/fixed.rb, line 11
def self.[](error, **options)
  new(error, **options)
end
new(error, **_options) click to toggle source
Calls superclass method
# File lib/dry/monads/result/fixed.rb, line 15
def initialize(error, **_options)
  super()

  @mod = ::Module.new do
    define_method(:Failure) do |value|
      if error === value
        Failure.new(value, RightBiased::Left.trace_caller)
      else
        # per https://github.com/dry-rb/dry-monads/pull/142
        raise InvalidFailureTypeError.new(value)
      end
    end

    def Success(value = Undefined, &block)
      v = Undefined.default(value, block || Unit)
      Success.new(v)
    end
  end
end

Public Instance Methods

Success(value = Undefined, &block) click to toggle source
# File lib/dry/monads/result/fixed.rb, line 28
def Success(value = Undefined, &block)
  v = Undefined.default(value, block || Unit)
  Success.new(v)
end

Private Instance Methods

included(base) click to toggle source
Calls superclass method
# File lib/dry/monads/result/fixed.rb, line 37
def included(base)
  super

  base.include(@mod)
end