Sha256: 0d87696cf565422222b97d481352815b87f19b792f6e24e9f21bbedb34cf5d0e

Contents?: true

Size: 721 Bytes

Versions: 8

Compression:

Stored size: 721 Bytes

Contents

module ActiveRecord
  module ConnectionAdapters
    module PostgreSQL
      module OID # :nodoc:
        class DateTime < Type::DateTime # :nodoc:
          include Infinity

          def cast_value(value)
            if value.is_a?(::String)
              case value
              when 'infinity' then ::Float::INFINITY
              when '-infinity' then -::Float::INFINITY
              when / BC$/
                astronomical_year = format("%04d", -value[/^\d+/].to_i + 1)
                super(value.sub(/ BC$/, "").sub(/^\d+/, astronomical_year))
              else
                super
              end
            else
              value
            end
          end
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
activerecord-4.2.0 lib/active_record/connection_adapters/postgresql/oid/date_time.rb
activerecord-4.2.0.rc3 lib/active_record/connection_adapters/postgresql/oid/date_time.rb
activerecord-4.2.0.rc2 lib/active_record/connection_adapters/postgresql/oid/date_time.rb
activerecord-4.2.0.rc1 lib/active_record/connection_adapters/postgresql/oid/date_time.rb
activerecord-4.2.0.beta4 lib/active_record/connection_adapters/postgresql/oid/date_time.rb
activerecord-4.2.0.beta3 lib/active_record/connection_adapters/postgresql/oid/date_time.rb
activerecord-4.2.0.beta2 lib/active_record/connection_adapters/postgresql/oid/date_time.rb
activerecord-4.2.0.beta1 lib/active_record/connection_adapters/postgresql/oid/date_time.rb