Class: Mangrove::Result::Ok

Inherits:
Object
  • Object
show all
Extended by:
T::Generic, T::Helpers, T::Sig
Includes:
Mangrove::Result
Defined in:
lib/mangrove/result.rb

Constant Summary collapse

OkType =
type_member
ErrType =
type_member

Instance Method Summary collapse

Methods included from Mangrove::Result

from_results

Constructor Details

#initialize(inner) ⇒ void

Parameters:



77
78
79
# File 'lib/mangrove/result.rb', line 77

def initialize(inner)
  @inner = inner
end

Instance Method Details

#==(other) ⇒ Boolean

Parameters:

  • other (BasicObject)

Returns:

  • (Boolean)


82
83
84
85
86
87
88
89
90
91
# File 'lib/mangrove/result.rb', line 82

def ==(other)
  case other
  when Result::Ok
    other.instance_variable_get(:@inner) == @inner
  when Result::Err
    false
  else
    false
  end
end

#err?Boolean

Returns:

  • (Boolean)


117
# File 'lib/mangrove/result.rb', line 117

def err? = false

#expect!(_message) ⇒ OkType

Parameters:

  • _message (String)

Returns:



104
105
106
# File 'lib/mangrove/result.rb', line 104

def expect!(_message)
  @inner
end

#expect_with!(&_block) ⇒ OkType

Parameters:

  • _block (T.proc.returns(T.untyped))

Returns:



109
110
111
# File 'lib/mangrove/result.rb', line 109

def expect_with!(&_block)
  @inner
end

#map_err(&_block) ⇒ Result[OkType, ErrType]

Parameters:

Returns:



125
126
127
# File 'lib/mangrove/result.rb', line 125

def map_err(&_block)
  self
end

#map_ok(&block) ⇒ Result[OkType, ErrType]

Parameters:

Returns:



120
121
122
# File 'lib/mangrove/result.rb', line 120

def map_ok(&block)
  block.call(@inner)
end

#ok?Boolean

Returns:

  • (Boolean)


114
# File 'lib/mangrove/result.rb', line 114

def ok? = true

#ok_innerOkType

Returns:



94
95
96
# File 'lib/mangrove/result.rb', line 94

def ok_inner
  @inner
end

#to_sString

Returns:

  • (String)


130
131
132
# File 'lib/mangrove/result.rb', line 130

def to_s
  "#{super}: inner=`#{@inner}`"
end

#unwrap!OkType

Returns:



99
100
101
# File 'lib/mangrove/result.rb', line 99

def unwrap!
  @inner
end