Module: ActiveRecord::Timestamp
- Defined in:
- lib/active_record/timestamp.rb
Overview
Active Records will automatically record creation and/or update timestamps of database objects if fields of the names created_at/created_on or updated_at/updated_on are present. This module is automatically included, so you don’t need to do that manually.
This behavior can be turned off by setting ActiveRecord::Base.record_timestamps = false
.
Class Method Summary collapse
-
.append_features(base) ⇒ Object
:nodoc:.
Instance Method Summary collapse
Class Method Details
.append_features(base) ⇒ Object
:nodoc:
8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/active_record/timestamp.rb', line 8 def self.append_features(base) # :nodoc: super base.class_eval do alias_method :create_without_timestamps, :create alias_method :create, :create_with_timestamps alias_method :update_without_timestamps, :update alias_method :update, :update_with_timestamps end end |
Instance Method Details
#create_with_timestamps ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'lib/active_record/timestamp.rb', line 20 def write_attribute("created_at", Time.now) if && respond_to?(:created_at) && created_at.nil? write_attribute("created_on", Time.now) if && respond_to?(:created_on) && created_on.nil? write_attribute("updated_at", Time.now) if && respond_to?(:updated_at) write_attribute("updated_on", Time.now) if && respond_to?(:updated_on) end |
#update_with_timestamps ⇒ Object
30 31 32 33 34 35 |
# File 'lib/active_record/timestamp.rb', line 30 def write_attribute("updated_at", Time.now) if && respond_to?(:updated_at) write_attribute("updated_on", Time.now) if && respond_to?(:updated_on) end |