Class: TypedCache::Right
- Inherits:
-
Object
- Object
- TypedCache::Right
- Defined in:
- lib/typed_cache/either.rb
Instance Attribute Summary collapse
-
#value ⇒ Object
(also: #result)
readonly
@rbs! include _Either[bot, R].
Instance Method Summary collapse
- #==(other) ⇒ Object
-
#bind {|value| ... } ⇒ Object
: [E2, R2] () { ® -> either[E2, R2] } -> either[E | E2, R2].
-
#deconstruct_keys(keys) ⇒ Object
: (Array) -> ({ value: R }).
-
#fold(left_fn, right_fn) ⇒ Object
: [T, E, R] (^(E) -> T, ^® -> T) -> T.
- #hash ⇒ Object
-
#initialize(value) ⇒ Right
constructor
: ® -> void.
- #inspect ⇒ Object
-
#left? ⇒ Boolean
: -> false.
-
#map ⇒ Object
: [T] () { ® -> T } -> either[E, T].
-
#map_left ⇒ Object
: [F] () { (E) -> F } -> either[F, R].
-
#right? ⇒ Boolean
: -> true.
-
#right_or_else ⇒ Object
: (^(E) -> void) -> R.
-
#right_or_raise! ⇒ Object
: -> R.
- #to_s ⇒ Object
Constructor Details
#initialize(value) ⇒ Right
: ® -> void
114 115 116 |
# File 'lib/typed_cache/either.rb', line 114 def initialize(value) @value = value end |
Instance Attribute Details
#value ⇒ Object (readonly) Also known as: result
@rbs! include _Either[bot, R]
109 110 111 |
# File 'lib/typed_cache/either.rb', line 109 def value @value end |
Instance Method Details
#==(other) ⇒ Object
158 159 160 |
# File 'lib/typed_cache/either.rb', line 158 def ==(other) other.is_a?(Right) && other.value == value end |
#bind {|value| ... } ⇒ Object
: [E2, R2] () { ® -> either[E2, R2] } -> either[E | E2, R2]
140 |
# File 'lib/typed_cache/either.rb', line 140 def bind(&) = yield(value) |
#deconstruct_keys(keys) ⇒ Object
: (Array) -> ({ value: R })
153 154 155 |
# File 'lib/typed_cache/either.rb', line 153 def deconstruct_keys(keys) { value: } end |
#fold(left_fn, right_fn) ⇒ Object
: [T, E, R] (^(E) -> T, ^® -> T) -> T
148 149 150 |
# File 'lib/typed_cache/either.rb', line 148 def fold(left_fn, right_fn) right_fn.call(value) end |
#hash ⇒ Object
163 |
# File 'lib/typed_cache/either.rb', line 163 def hash = [Right, value].hash |
#inspect ⇒ Object
169 |
# File 'lib/typed_cache/either.rb', line 169 def inspect = "Right(#{value.inspect})" |
#left? ⇒ Boolean
: -> false
120 |
# File 'lib/typed_cache/either.rb', line 120 def left? = false |
#map ⇒ Object
: [T] () { ® -> T } -> either[E, T]
136 |
# File 'lib/typed_cache/either.rb', line 136 def map(&) = Right.new(yield(value)) |
#map_left ⇒ Object
: [F] () { (E) -> F } -> either[F, R]
144 |
# File 'lib/typed_cache/either.rb', line 144 def map_left(&) = self |
#right? ⇒ Boolean
: -> true
124 |
# File 'lib/typed_cache/either.rb', line 124 def right? = true |
#right_or_else ⇒ Object
: (^(E) -> void) -> R
128 |
# File 'lib/typed_cache/either.rb', line 128 def right_or_else(&) = value |
#right_or_raise! ⇒ Object
: -> R
132 |
# File 'lib/typed_cache/either.rb', line 132 def right_or_raise! = value |
#to_s ⇒ Object
166 |
# File 'lib/typed_cache/either.rb', line 166 def to_s = "Right(#{value})" |