Class: TypedCache::Right

Inherits:
Object
  • Object
show all
Defined in:
lib/typed_cache/either.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

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

#valueObject (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]

Yields:



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

#hashObject



163
# File 'lib/typed_cache/either.rb', line 163

def hash = [Right, value].hash

#inspectObject



169
# File 'lib/typed_cache/either.rb', line 169

def inspect = "Right(#{value.inspect})"

#left?Boolean

: -> false

Returns:

  • (Boolean)


120
# File 'lib/typed_cache/either.rb', line 120

def left? = false

#mapObject

: [T] () { ® -> T } -> either[E, T]



136
# File 'lib/typed_cache/either.rb', line 136

def map(&) = Right.new(yield(value))

#map_leftObject

: [F] () { (E) -> F } -> either[F, R]



144
# File 'lib/typed_cache/either.rb', line 144

def map_left(&) = self

#right?Boolean

: -> true

Returns:

  • (Boolean)


124
# File 'lib/typed_cache/either.rb', line 124

def right? = true

#right_or_elseObject

: (^(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_sObject



166
# File 'lib/typed_cache/either.rb', line 166

def to_s = "Right(#{value})"