Module: Teckel::Result::InstanceMethods

Defined in:
lib/teckel/result.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#valueMixed (readonly)

Returns the value/payload.

Returns:

  • (Mixed)

    the value/payload

Raises:

  • (NotImplementedError)


41
42
43
# File 'lib/teckel/result.rb', line 41

def value
  raise NotImplementedError, "Result object does not implement `value`"
end

Instance Method Details

#deconstructObject



45
46
47
# File 'lib/teckel/result.rb', line 45

def deconstruct
  [successful?, value]
end

#deconstruct_keys(keys) ⇒ Object



49
50
51
52
53
54
# File 'lib/teckel/result.rb', line 49

def deconstruct_keys(keys)
  e = {}
  e[:success] = successful? if keys.include?(:success)
  e[:value] = value if keys.include?(:value)
  e
end

#failure?Boolean

Whether this is a error/failure result

Returns:

  • (Boolean)


35
36
37
# File 'lib/teckel/result.rb', line 35

def failure?
  !successful?
end

#successful?Boolean

Whether this is a success result

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


29
30
31
# File 'lib/teckel/result.rb', line 29

def successful?
  raise NotImplementedError, "Result object does not implement `successful?`"
end