Sha256: abb1cc1263ba5ed7eefe05686f3ae10e9289c44ebad235a5fab791036a13d82c

Contents?: true

Size: 1.17 KB

Versions: 37

Compression:

Stored size: 1.17 KB

Contents

# frozen_string_literal: true
# date.rb: Written by Tadayoshi Funaba 1998-2011

require 'date_core'

class Date
  VERSION = "3.4.1" # :nodoc:

  # call-seq:
  #   infinite? -> false
  #
  # Returns +false+
  def infinite?
    false
  end

  class Infinity < Numeric # :nodoc:

    def initialize(d=1) @d = d <=> 0 end

    def d() @d end

    protected :d

    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 <=>(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
      end
      nil
    end

    def coerce(other)
      case other
      when Numeric; return -d, d
      else
        super
      end
    end

    def to_f
      return 0 if @d == 0
      if @d > 0
        Float::INFINITY
      else
        -Float::INFINITY
      end
    end

  end

end

Version data entries

37 entries across 37 versions & 4 rubygems

Version Path
cybrid_api_bank_ruby-0.123.51 vendor/bundle/ruby/3.3.0/gems/date-3.4.1/lib/date.rb
cybrid_api_bank_ruby-0.123.50 vendor/bundle/ruby/3.3.0/gems/date-3.4.1/lib/date.rb
cybrid_api_id_ruby-0.123.50 vendor/bundle/ruby/3.3.0/gems/date-3.4.1/lib/date.rb
cybrid_api_organization_ruby-0.123.50 vendor/bundle/ruby/3.3.0/gems/date-3.4.1/lib/date.rb
cybrid_api_organization_ruby-0.123.49 vendor/bundle/ruby/3.3.0/gems/date-3.4.1/lib/date.rb
cybrid_api_bank_ruby-0.123.49 vendor/bundle/ruby/3.3.0/gems/date-3.4.1/lib/date.rb
cybrid_api_id_ruby-0.123.49 vendor/bundle/ruby/3.3.0/gems/date-3.4.1/lib/date.rb
cybrid_api_bank_ruby-0.123.48 vendor/bundle/ruby/3.3.0/gems/date-3.4.1/lib/date.rb
cybrid_api_organization_ruby-0.123.48 vendor/bundle/ruby/3.3.0/gems/date-3.4.1/lib/date.rb
cybrid_api_id_ruby-0.123.48 vendor/bundle/ruby/3.3.0/gems/date-3.4.1/lib/date.rb
cybrid_api_bank_ruby-0.123.47 vendor/bundle/ruby/3.3.0/gems/date-3.4.1/lib/date.rb
cybrid_api_organization_ruby-0.123.47 vendor/bundle/ruby/3.3.0/gems/date-3.4.1/lib/date.rb
cybrid_api_id_ruby-0.123.47 vendor/bundle/ruby/3.3.0/gems/date-3.4.1/lib/date.rb
cybrid_api_bank_ruby-0.123.46 vendor/bundle/ruby/3.3.0/gems/date-3.4.1/lib/date.rb
cybrid_api_id_ruby-0.123.46 vendor/bundle/ruby/3.3.0/gems/date-3.4.1/lib/date.rb
cybrid_api_organization_ruby-0.123.46 vendor/bundle/ruby/3.3.0/gems/date-3.4.1/lib/date.rb
date-3.4.1 lib/date.rb