Class: TypedCache::Some

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

Instance Attribute Summary collapse

Instance Method Summary collapse

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

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

: [T] () { (V) -> maybe } -> maybe

Yields:



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

#hashObject



88
# File 'lib/typed_cache/maybe.rb', line 88

def hash = [Some, value].hash

#inspectObject



94
# File 'lib/typed_cache/maybe.rb', line 94

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

#mapObject

: [T] () { (V) -> T } -> maybe



61
# File 'lib/typed_cache/maybe.rb', line 61

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

#nothing?Boolean

: -> FalseClass

Returns:

  • (Boolean)


57
# File 'lib/typed_cache/maybe.rb', line 57

def nothing? = false

#some?Boolean

: -> TrueClass

Returns:

  • (Boolean)


54
55
56
# File 'lib/typed_cache/maybe.rb', line 54

def some? = true
# @rbs override
#: -> FalseClass

#to_sObject



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