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



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)



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

def value
  @value
end

Instance Method Details

#and_then(&block) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/corindon/result/success.rb', line 21

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



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

def success?
  true
end