Class: Corindon::Result::Success

Inherits:
Result
  • Object
show all
Defined in:
lib/corindon/result/success.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Result

#failure?

Constructor Details

#initialize(value) ⇒ Success

Returns a new instance of Success.

Parameters:

  • value (Object)


10
11
12
13
14
# File 'lib/corindon/result/success.rb', line 10

def initialize(value)
  super()

  @value = value
end

Instance Attribute Details

#valueObject (readonly)

Returns:

  • (Object)


7
8
9
# File 'lib/corindon/result/success.rb', line 7

def value
  @value
end

Instance Method Details

#and_then(&block) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/corindon/result/success.rb', line 26

def and_then(&block)
  retval = block.call(value)

  if retval.is_a?(Result)
    retval
  else
    Failure.new(Errors::BadReturnTypeError.new(retval))
  end
rescue StandardError => error
  Failure.new(error)
end

#success?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/corindon/result/success.rb', line 17

def success?
  true
end

#unwrap!Object

Returns:

  • (Object)


22
23
24
# File 'lib/corindon/result/success.rb', line 22

def unwrap!
  value
end