fluke/devops-service/db/mongoid/created.rb

34 lines
889 B
Ruby
Raw Normal View History

2018-04-04 22:44:39 +03:00
# encoding: utf-8
require "mongoid/timestamps/updated/short"
module Mongoid
module Timestamps
# This module handles the behaviour for setting up document created at
# timestamp.
module CreatedInt
extend ActiveSupport::Concern
included do
include Mongoid::Timestamps::Timeless
field :created_at, type: Integer
set_callback :create, :before, :set_created_at
end
# Update the created_at field on the Document to the current time. This is
# only called on create.
#
# @example Set the created at time.
# person.set_created_at
def set_created_at
if !timeless? && !created_at
time = Time.now.utc.to_i
self.updated_at = time if is_a?(Updated) && !updated_at_changed?
self.created_at = time
end
clear_timeless_option
end
end
end
end