summaryrefslogtreecommitdiff
path: root/ext/date/lib/date.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ext/date/lib/date.rb')
-rw-r--r--ext/date/lib/date.rb45
1 files changed, 27 insertions, 18 deletions
diff --git a/ext/date/lib/date.rb b/ext/date/lib/date.rb
index d235d76e6f..0cb763017f 100644
--- a/ext/date/lib/date.rb
+++ b/ext/date/lib/date.rb
@@ -1,13 +1,20 @@
+# frozen_string_literal: true
# date.rb: Written by Tadayoshi Funaba 1998-2011
require 'date_core'
-require 'date/format'
class Date
+ VERSION = "3.5.1" # :nodoc:
- class Infinity < Numeric # :nodoc:
+ # call-seq:
+ # infinite? -> false
+ #
+ # Returns +false+
+ def infinite?
+ false
+ end
- include Comparable
+ class Infinity < Numeric # :nodoc:
def initialize(d=1) @d = d <=> 0 end
@@ -15,26 +22,28 @@ class Date
protected :d
- def zero? () false end
- def finite? () false end
- def infinite? () d.nonzero? end
- def nan? () d.zero? end
+ def zero?() false end
+ def finite?() false end
+ def infinite?() d.nonzero? end
+ def nan?() d.zero? end
def abs() self.class.new end
- def -@ () self.class.new(-d) end
- def +@ () self.class.new(+d) end
+ def -@() self.class.new(-d) end
+ def +@() self.class.new(+d) end
- def <=> (other)
+ def <=>(other)
case other
when Infinity; return d <=> other.d
+ when Float::INFINITY; return d <=> 1
+ when -Float::INFINITY; return d <=> -1
when Numeric; return d
else
- begin
- l, r = other.coerce(self)
- return l <=> r
- rescue NoMethodError
- end
+ begin
+ l, r = other.coerce(self)
+ return l <=> r
+ rescue NoMethodError
+ end
end
nil
end
@@ -43,16 +52,16 @@ class Date
case other
when Numeric; return -d, d
else
- super
+ super
end
end
def to_f
return 0 if @d == 0
if @d > 0
- Float::INFINITY
+ Float::INFINITY
else
- -Float::INFINITY
+ -Float::INFINITY
end
end