Class: Serviced::Success

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

Overview

A successful outcome carrying a payload.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Result

#and_then, #failure?, #map, #on_failure, #on_success

Constructor Details

#initialize(value = nil) ⇒ Success

Returns a new instance of Success.

Parameters:

  • value (Object, nil) (defaults to: nil)

    the payload the caller cares about



91
92
93
94
95
# File 'lib/serviced/result.rb', line 91

def initialize(value = nil)
  super()
  @value = value
  freeze
end

Instance Attribute Details

#valueObject? (readonly)

Returns the success payload.

Returns:

  • (Object, nil)

    the success payload



88
89
90
# File 'lib/serviced/result.rb', line 88

def value
  @value
end

Instance Method Details

#deconstructObject



106
107
108
# File 'lib/serviced/result.rb', line 106

def deconstruct
  [value]
end

#deconstruct_keys(_keys) ⇒ Object



110
111
112
# File 'lib/serviced/result.rb', line 110

def deconstruct_keys(_keys)
  { value: value }
end

#success?Boolean

Returns:

  • (Boolean)


97
98
99
# File 'lib/serviced/result.rb', line 97

def success?
  true
end

#value!Object?

Returns the payload (never raises for a success).

Returns:

  • (Object, nil)

    the payload (never raises for a success)



102
103
104
# File 'lib/serviced/result.rb', line 102

def value!
  value
end