module Naught::Conversions
Public Class Methods
included(null_class)
click to toggle source
Calls superclass method
# File lib/naught/conversions.rb, line 3 def self.included(null_class) unless class_variable_defined?(:@@included) && @@included @@null_class = null_class @@null_equivs = null_class::NULL_EQUIVS @@included = true end super end
Public Instance Methods
Actual(object = nil) { || ... }
click to toggle source
# File lib/naught/conversions.rb, line 45 def Actual(object = nil) object = yield if block_given? case object when NullObjectTag nil else object end end
Just(object = nil) { || ... }
click to toggle source
# File lib/naught/conversions.rb, line 35 def Just(object = nil) object = yield if block_given? case object when NullObjectTag, *@@null_equivs fail(ArgumentError.new("Null value: #{object.inspect}")) else object end end
Maybe(object = nil) { || ... }
click to toggle source
# File lib/naught/conversions.rb, line 23 def Maybe(object = nil) object = yield if block_given? case object when NullObjectTag object when *@@null_equivs @@null_class.get(:caller => caller(1)) else object end end
Null(object = :nothing_passed)
click to toggle source
# File lib/naught/conversions.rb, line 12 def Null(object = :nothing_passed) case object when NullObjectTag object when :nothing_passed, *@@null_equivs @@null_class.get(:caller => caller(1)) else fail(ArgumentError.new("#{object.inspect} is not null!")) end end