Sha256: 13e08eda62aaf303db1cda26f66e51b7b5aa9333b588ca06b036c34b85333ca3

Contents?: true

Size: 493 Bytes

Versions: 8

Compression:

Stored size: 493 Bytes

Contents

module CassandraObject
  module Timestamps
    extend ActiveSupport::Concern

    included do
      attribute :created_at, type: :time
      attribute :updated_at, type: :time

      before_create do
        if self.class.timestamps
          self.created_at ||= Time.current
          self.updated_at ||= Time.current
        end
      end

      before_update if: :changed? do
        if self.class.timestamps
          self.updated_at = Time.current
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
extendi-cassandra_object-1.0.17 lib/cassandra_object/timestamps.rb
extendi-cassandra_object-1.0.16 lib/cassandra_object/timestamps.rb
extendi-cassandra_object-1.0.15 lib/cassandra_object/timestamps.rb
extendi-cassandra_object-1.0.14 lib/cassandra_object/timestamps.rb
extendi-cassandra_object-1.0.13 lib/cassandra_object/timestamps.rb
extendi-cassandra_object-1.0.12 lib/cassandra_object/timestamps.rb
extendi-cassandra_object-1.0.11 lib/cassandra_object/timestamps.rb
extendi-cassandra_object-1.0.10 lib/cassandra_object/timestamps.rb