class Maybe

base class for Some and None

Public Class Methods

concat(list, default = none) click to toggle source
# File lib/indubitably.rb, line 27
def self.concat(list, default = none)
  if default == none
    list.select(&:is_some?).map(&:get)
  else
    list.map { |x| x.or_else(default) }
  end
end
empty_value?(value) click to toggle source
# File lib/indubitably.rb, line 35
def self.empty_value?(value)
  value.nil? || (value.respond_to?(:length) && value.length == 0)
end
join?(value) click to toggle source
# File lib/indubitably.rb, line 39
def self.join?(value)
  return value if value.is_a?(Maybe)
  Maybe(value)
end
none() click to toggle source
# File lib/indubitably.rb, line 44
def self.none
  @@none ||= None.new
end
seq(list, default = none) click to toggle source
# File lib/indubitably.rb, line 48
def self.seq(list, default = none)
  Maybe(concat(list, default))
end

Public Instance Methods

==(other) click to toggle source
# File lib/indubitably.rb, line 18
def ==(other)
  other.class == self.class
end
Also aliased as: eql?
eql?(other)
Alias for: ==
or_nil() click to toggle source
# File lib/indubitably.rb, line 23
def or_nil
  or_else(nil)
end
to_a()
Alias for: to_ary
to_ary() click to toggle source
# File lib/indubitably.rb, line 13
def to_ary
  __enumerable_value
end
Also aliased as: to_a