class Some

Attributes

value[R]

Public Class Methods

new(value) click to toggle source
# File lib/totally_lazy/option.rb, line 64
def initialize(value)
  @value = value
end

Public Instance Methods

<=>(other) click to toggle source
# File lib/totally_lazy/option.rb, line 134
def <=>(other)
  @value <=> other.value
end
contains?(value) click to toggle source
# File lib/totally_lazy/option.rb, line 68
def contains?(value)
  @value == value
end
enumerator() click to toggle source
# File lib/totally_lazy/option.rb, line 127
def enumerator
  Enumerator.new { |y|
    y << @value
    raise StopIteration.new
  }
end
exists?(fn_pred=nil, &block_pred) click to toggle source
# File lib/totally_lazy/option.rb, line 72
def exists?(fn_pred=nil, &block_pred)
  assert_funcs(fn_pred, block_given?)
  block_given? ? block_pred.call(@value) : fn_pred.(@value)
end
flat_map(fn=nil, &block) click to toggle source
# File lib/totally_lazy/option.rb, line 82
def flat_map(fn=nil, &block) # function should return an option
  assert_funcs(fn, block_given?)
  block_given? ? block.call(@value) : fn.(@value)
end
fold(seed, fn=nil, &block) click to toggle source
# File lib/totally_lazy/option.rb, line 87
def fold(seed, fn=nil, &block)
  assert_funcs(fn, block_given?)
  block_given? ? block.call(seed, @value) : fn.(seed, @value)
end
Also aliased as: fold_left
fold_left(seed, fn=nil, &block)
Alias for: fold
get() click to toggle source
# File lib/totally_lazy/option.rb, line 102
def get
  @value
end
get_or_else(value_or_fn=nil, &block) click to toggle source
# File lib/totally_lazy/option.rb, line 106
def get_or_else(value_or_fn=nil, &block)
  assert_funcs(value_or_fn, block_given?)
  get
end
Also aliased as: or_else
get_or_nil() click to toggle source
# File lib/totally_lazy/option.rb, line 113
def get_or_nil
  get
end
get_or_raise(error) click to toggle source
# File lib/totally_lazy/option.rb, line 117
def get_or_raise(error)
  get
end
Also aliased as: get_or_throw
get_or_throw(error)
Alias for: get_or_raise
is_empty?() click to toggle source
# File lib/totally_lazy/option.rb, line 94
def is_empty?
  false
end
map(fn=nil, &block) click to toggle source
# File lib/totally_lazy/option.rb, line 77
def map(fn=nil, &block)
  assert_funcs(fn, block_given?)
  option(block_given? ? block.call(@value) : fn.(@value))
end
or_else(value_or_fn=nil, &block)
Alias for: get_or_else
size() click to toggle source
# File lib/totally_lazy/option.rb, line 98
def size
  1
end
to_either(left) click to toggle source
# File lib/totally_lazy/option.rb, line 123
def to_either(left)
  right(value)
end
to_s() click to toggle source
# File lib/totally_lazy/option.rb, line 138
def to_s
  "some(#{value})"
end