Class: Core::Operation::Result

Inherits:
Object
  • Object
show all
Includes:
Inspect
Defined in:
lib/core/operation/result.rb

Overview

public

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeResult

Returns a new instance of Result.



13
14
15
16
17
18
# File 'lib/core/operation/result.rb', line 13

def initialize
  @value = nil
  @failure = nil
  @succeeded = false
  @failed = false
end

Instance Attribute Details

#failureObject (readonly)

public


22
23
24
# File 'lib/core/operation/result.rb', line 22

def failure
  @failure
end

Instance Method Details

#failed(value) ⇒ Object

public


41
42
43
44
45
# File 'lib/core/operation/result.rb', line 41

def failed(value)
  @failure = value
  @failed = true
  finalize
end

#failure?Boolean

public

Returns:

  • (Boolean)


55
56
57
# File 'lib/core/operation/result.rb', line 55

def failure?
  @failed == true
end

#finalizeObject

public


61
62
63
64
# File 'lib/core/operation/result.rb', line 61

def finalize
  freeze
  self
end

#succeeded(value) ⇒ Object

public


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

def succeeded(value)
  @value = value
  @succeeded = true
  finalize
end

#success?Boolean

public

Returns:

  • (Boolean)


49
50
51
# File 'lib/core/operation/result.rb', line 49

def success?
  @succeeded == true
end

#valueObject

public

Raises:



26
27
28
29
# File 'lib/core/operation/result.rb', line 26

def value
  raise Failed.new(@failure) if failure?
  @value
end