Class: RSMP::Result::Failure

Inherits:
Data
  • Object
show all
Defined in:
lib/rsmp/result.rb

Overview

An expected operational failure.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(failure:) ⇒ Failure

Returns a new instance of Failure.

Raises:

  • (ArgumentError)


33
34
35
36
37
# File 'lib/rsmp/result.rb', line 33

def initialize(failure:)
  raise ArgumentError, 'failure must be an RSMP::Failure' unless failure.is_a?(RSMP::Failure)

  super
end

Instance Attribute Details

#failureObject (readonly)

Returns the value of attribute failure

Returns:

  • (Object)

    the current value of failure



32
33
34
# File 'lib/rsmp/result.rb', line 32

def failure
  @failure
end

Instance Method Details

#and_thenObject



62
63
64
# File 'lib/rsmp/result.rb', line 62

def and_then
  self
end

#failure?Boolean

Returns:

  • (Boolean)


43
44
45
# File 'lib/rsmp/result.rb', line 43

def failure?
  true
end

#mapObject



58
59
60
# File 'lib/rsmp/result.rb', line 58

def map
  self
end

#success?Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/rsmp/result.rb', line 39

def success?
  false
end

#valueObject



47
48
49
# File 'lib/rsmp/result.rb', line 47

def value
  nil
end

#value!Object

Raises:

  • (exception)


51
52
53
54
55
56
# File 'lib/rsmp/result.rb', line 51

def value!
  exception = OperationError.new(failure)
  raise exception, cause: failure.cause if failure.cause

  raise exception
end