module Kind::BasicObject
Public Instance Methods
[](value, label: nil)
click to toggle source
# File lib/kind/objects/basic_object.rb, line 5 def [](value, label: nil) STRICT.object_is_a(self, value, label) end
or(fallback, value = UNDEFINED)
click to toggle source
# File lib/kind/objects/basic_object.rb, line 17 def or(fallback, value = UNDEFINED) return __or_func.(fallback) if UNDEFINED === value self === value ? value : fallback end
or_nil(value)
click to toggle source
# File lib/kind/objects/basic_object.rb, line 9 def or_nil(value) return value if self === value end
or_undefined(value)
click to toggle source
# File lib/kind/objects/basic_object.rb, line 13 def or_undefined(value) or_nil(value) || Undefined end
value(arg, default:)
click to toggle source
# File lib/kind/objects/basic_object.rb, line 29 def value(arg, default:) KIND.value(self, arg, self[default]) end
value?(value = UNDEFINED)
click to toggle source
# File lib/kind/objects/basic_object.rb, line 23 def value?(value = UNDEFINED) return self === value if UNDEFINED != value @__is_value ||= ->(tc) { ->(arg) { tc === arg } }.(self) end
Private Instance Methods
__or_func()
click to toggle source
# File lib/kind/objects/basic_object.rb, line 39 def __or_func @__or_func ||= ->(tc, fb, value) { tc === value ? value : tc.or_null(fb) }.curry[self] end