class None
Represents an empty value
Public Class Methods
new(inst_method = nil, parent_stack = [])
click to toggle source
# File lib/possibly.rb, line 146 def initialize(inst_method = nil, parent_stack = []) @inst_method = inst_method || ["None.new", []] @parent_stack = parent_stack end
Public Instance Methods
get()
click to toggle source
# File lib/possibly.rb, line 151 def get msg ||= "`get` called to None. A value was expected." raise ValueExpectedException.new(print_error(msg)) end
is_none?()
click to toggle source
# File lib/possibly.rb, line 195 def is_none? true end
is_some?()
click to toggle source
rubocop:disable PredicateName
# File lib/possibly.rb, line 191 def is_some? false end
method_missing(method_sym, *args, &block)
click to toggle source
rubocop:enable PredicateName
# File lib/possibly.rb, line 200 def method_missing(method_sym, *args, &block) None([method_sym, args, block], self.stack) end
or_else(els = nil) { |: els| ... }
click to toggle source
# File lib/possibly.rb, line 156 def or_else(els = nil) block_given? ? yield : els end
or_nil()
click to toggle source
# File lib/possibly.rb, line 186 def or_nil nil end
or_raise(*args)
click to toggle source
# File lib/possibly.rb, line 160 def or_raise(*args) opts, args = extract_opts(args) msg_or_exception, msg = args default_message = "`or_raise` called to None. A value was expected." exception_object = if msg_or_exception.respond_to? :exception if msg msg_or_exception.exception(msg) else msg_or_exception.exception end else ValueExpectedException.new(msg_or_exception || default_message) end exception_and_stack = if opts[:print_stack] == false exception_object else exception_object.exception(print_error(exception_object.message)) end raise exception_and_stack end
to_s()
click to toggle source
# File lib/possibly.rb, line 204 def to_s "None" end
Private Instance Methods
__enumerable_value()
click to toggle source
# File lib/possibly.rb, line 210 def __enumerable_value [] end
extract_opts(args)
click to toggle source
# File lib/possibly.rb, line 214 def extract_opts(args) *initial, last = *args if last.is_a?(::Hash) [last, initial] else [{}, args] end end