Sha256: a6d127dd0cd9b8f7309070c4b783e6539991257134d2186ad1183505d8c20027

Contents?: true

Size: 470 Bytes

Versions: 2

Compression:

Stored size: 470 Bytes

Contents

module MongoMapper
  module Plugins
    module Timestamps
      module ClassMethods
        def timestamps!
          key :created_at, Time
          key :updated_at, Time
          class_eval { before_save :update_timestamps }
        end
      end

      module InstanceMethods
        def update_timestamps
          now = Time.now.utc
          self[:created_at] = now if new? && !created_at?
          self[:updated_at] = now
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
pwnash-mongo_mapper-0.7.5 lib/mongo_mapper/plugins/timestamps.rb
mongo_mapper-0.7.6 lib/mongo_mapper/plugins/timestamps.rb