Class: TypedCache::Some
- Inherits:
-
Object
- Object
- TypedCache::Some
- Defined in:
- lib/typed_cache/maybe.rb
Instance Attribute Summary collapse
-
#value ⇒ Object
readonly
@rbs! include _Maybe.
Instance Method Summary collapse
- #==(other) ⇒ Object
- #bind {|value| ... } ⇒ Object (also: #flat_map)
-
#deconstruct_keys(keys) ⇒ Object
: (Array) -> ({ value: V }).
- #hash ⇒ Object
-
#initialize(value) ⇒ Some
constructor
: (V) -> void.
- #inspect ⇒ Object
-
#map ⇒ Object
: [T] () { (V) -> T } -> maybe.
-
#nothing? ⇒ Boolean
: -> FalseClass.
-
#some? ⇒ Boolean
: -> TrueClass.
- #to_s ⇒ Object
-
#value_or(default) ⇒ Object
: [T] (T) -> T.
-
#value_or_raise! ⇒ Object
: -> V.
Constructor Details
#initialize(value) ⇒ Some
: (V) -> void
48 49 50 |
# File 'lib/typed_cache/maybe.rb', line 48 def initialize(value) @value = value end |
Instance Attribute Details
#value ⇒ Object (readonly)
@rbs! include _Maybe
45 46 47 |
# File 'lib/typed_cache/maybe.rb', line 45 def value @value end |
Instance Method Details
#==(other) ⇒ Object
83 84 85 |
# File 'lib/typed_cache/maybe.rb', line 83 def ==(other) other.is_a?(Some) && other.value == value end |
#bind {|value| ... } ⇒ Object Also known as: flat_map
65 |
# File 'lib/typed_cache/maybe.rb', line 65 def bind(&) = yield(value) |
#deconstruct_keys(keys) ⇒ Object
: (Array) -> ({ value: V })
78 79 80 |
# File 'lib/typed_cache/maybe.rb', line 78 def deconstruct_keys(keys) { value: } end |
#hash ⇒ Object
88 |
# File 'lib/typed_cache/maybe.rb', line 88 def hash = [Some, value].hash |
#inspect ⇒ Object
94 |
# File 'lib/typed_cache/maybe.rb', line 94 def inspect = "Some(#{value.inspect})" |
#map ⇒ Object
: [T] () { (V) -> T } -> maybe
61 |
# File 'lib/typed_cache/maybe.rb', line 61 def map(&) = Some.new(yield(value)) |
#nothing? ⇒ Boolean
: -> FalseClass
57 |
# File 'lib/typed_cache/maybe.rb', line 57 def nothing? = false |
#some? ⇒ Boolean
: -> TrueClass
54 55 56 |
# File 'lib/typed_cache/maybe.rb', line 54 def some? = true # @rbs override #: -> FalseClass |
#to_s ⇒ Object
91 |
# File 'lib/typed_cache/maybe.rb', line 91 def to_s = "Some(#{value})" |
#value_or(default) ⇒ Object
: [T] (T) -> T
69 |
# File 'lib/typed_cache/maybe.rb', line 69 def value_or(default) = value |
#value_or_raise! ⇒ Object
: -> V
73 |
# File 'lib/typed_cache/maybe.rb', line 73 def value_or_raise! = value |