class Resonad::Failure

Attributes

error[RW]

Private Class Methods

[](error = nil) click to toggle source
# File lib/resonad.rb, line 73
def self.[](error = nil)
  if nil == error
    NIL_FAILURE
  else
    new(error)
  end
end
new(error) click to toggle source
# File lib/resonad.rb, line 81
def initialize(error)
  @error = error
  freeze
end

Private Instance Methods

__flat_map(_) click to toggle source
# File lib/resonad.rb, line 126
def __flat_map(_)
  self
end
__flat_map_error(callable) click to toggle source
# File lib/resonad.rb, line 130
def __flat_map_error(callable)
  callable.(error)
end
__map(_) click to toggle source
# File lib/resonad.rb, line 104
def __map(_)
  self
end
__map_error(callable) click to toggle source
# File lib/resonad.rb, line 117
def __map_error(callable)
  new_error = callable.(error)
  if new_error.__id__ == error.__id__
    self
  else
    self.class.new(new_error)
  end
end
__on_failure(callable) click to toggle source
# File lib/resonad.rb, line 112
def __on_failure(callable)
  callable.(error)
  self
end
__on_success(_) click to toggle source
# File lib/resonad.rb, line 108
def __on_success(_)
  self
end
deconstruct() click to toggle source
# File lib/resonad.rb, line 94
def deconstruct
  [:failure, error]
end
deconstruct_keys(_) click to toggle source
# File lib/resonad.rb, line 98
def deconstruct_keys(_)
  { error: error }
end
success?() click to toggle source
# File lib/resonad.rb, line 86
def success?
  false
end
value() click to toggle source
# File lib/resonad.rb, line 90
def value
  raise NonExistentValue, "Failure resonads do not have values"
end