Sha256: c8094e9ac520ce6ec34482aff7c24dc780bfba9b34c09e40dc6e45f198aa8f6c

Contents?: true

Size: 537 Bytes

Versions: 5

Compression:

Stored size: 537 Bytes

Contents

module CouchbaseOrm
    module Types
        class Timestamp < ActiveModel::Type::DateTime
            def cast(value)
              return nil if value.nil?
              return Time.at(value) if value.is_a?(Integer) || value.is_a?(Float)
              return Time.at(value.to_i) if value.is_a?(String) && value =~ /^[0-9]+$/
              return value.utc if value.is_a?(Time)
              super(value).utc
            end
        
            def serialize(value)
                value&.to_i
            end
        end
    end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
couchbase-orm-2.0.4 lib/couchbase-orm/types/timestamp.rb
couchbase-orm-2.0.3 lib/couchbase-orm/types/timestamp.rb
couchbase-orm-2.0.2 lib/couchbase-orm/types/timestamp.rb
couchbase-orm-2.0.1 lib/couchbase-orm/types/timestamp.rb
couchbase-orm-2.0.0 lib/couchbase-orm/types/timestamp.rb