Module NilComparable
In: lib/facet/nil-comparable.rb

# Calling this method for a given class allows instances # of a class to be compared to nil using <=>. # Adapted from code by Paul Brannan (Ruby License) # NOTE: THIS SHOULD BE A CLASS INCLUDING MODULE, I THINK. def nil_comparable(klass=self)

  klass.class_eval %{
    if method_defined?( :<=> )
      alias_method :compare_without_nil, :<=>
    else
      def compare_without_nil( other )
        raise TypeError, "Cannot compare \#{self.inspect} to \#{other.inspect}"
      end
    end
    def <=>( other )
      return 1 if other.nil?
      compare_without_nil( other )
    end
  }

end

Methods

included  

Public Class methods

[Validate]