class Resonad::Success

Attributes

value[RW]

Private Class Methods

[](value = nil) click to toggle source
# File lib/resonad.rb, line 8
def self.[](value = nil)
  if nil == value
    NIL_SUCCESS
  else
    new(value)
  end
end
new(value) click to toggle source
# File lib/resonad.rb, line 16
def initialize(value)
  @value = value
  freeze
end

Private Instance Methods

__flat_map(callable) click to toggle source
# File lib/resonad.rb, line 61
def __flat_map(callable)
  callable.(value)
end
__flat_map_error(_) click to toggle source
# File lib/resonad.rb, line 65
def __flat_map_error(_)
  self
end
__map(callable) click to toggle source
# File lib/resonad.rb, line 48
def __map(callable)
  new_value = callable.(value)
  if new_value.__id__ == value.__id__
    self
  else
    self.class.new(new_value)
  end
end
__map_error(_) click to toggle source
# File lib/resonad.rb, line 57
def __map_error(_)
  self
end
__on_failure(_) click to toggle source
# File lib/resonad.rb, line 44
def __on_failure(_)
  self
end
__on_success(callable) click to toggle source
# File lib/resonad.rb, line 39
def __on_success(callable)
  callable.(value)
  self
end
deconstruct() click to toggle source
# File lib/resonad.rb, line 25
def deconstruct
  [:success, value]
end
deconstruct_keys(_) click to toggle source
# File lib/resonad.rb, line 29
def deconstruct_keys(_)
  { value: value }
end
error() click to toggle source
# File lib/resonad.rb, line 33
def error
  raise NonExistentError, "Success resonads do not have errors"
end
success?() click to toggle source
# File lib/resonad.rb, line 21
def success?
  true
end