class Some
Represents a non-empty value
Public Class Methods
new(value, inst_method = nil, parent_stack = [])
click to toggle source
# File lib/possibly.rb, line 84 def initialize(value, inst_method = nil, parent_stack = []) @value = value @inst_method = inst_method || ["Some.new", []] @parent_stack = parent_stack end
Public Instance Methods
==(other)
click to toggle source
rubocop:enable PredicateName
Calls superclass method
Maybe#==
# File lib/possibly.rb, line 116 def ==(other) super && get == other.get end
Also aliased as: eql?
===(other)
click to toggle source
# File lib/possibly.rb, line 121 def ===(other) other && other.class == self.class && @value === other.get end
get()
click to toggle source
# File lib/possibly.rb, line 90 def get @value end
is_none?()
click to toggle source
# File lib/possibly.rb, line 111 def is_none? false end
is_some?()
click to toggle source
rubocop:disable PredicateName
# File lib/possibly.rb, line 107 def is_some? true end
method_missing(method_sym, *args, &block)
click to toggle source
# File lib/possibly.rb, line 125 def method_missing(method_sym, *args, &block) @invocation ||= [method_sym, args, block] map { |value| value.send(method_sym, *args, &block) } end
or_else(*)
click to toggle source
# File lib/possibly.rb, line 94 def or_else(*) @value end
or_nil()
click to toggle source
# File lib/possibly.rb, line 102 def or_nil @value end
or_raise(*)
click to toggle source
# File lib/possibly.rb, line 98 def or_raise(*) @value end
to_s()
click to toggle source
# File lib/possibly.rb, line 130 def to_s "Some(#{@value})" end
Private Instance Methods
__enumerable_value()
click to toggle source
# File lib/possibly.rb, line 136 def __enumerable_value [@value] end