Module: ActiveRecord::Timestamp
- Defined in:
- lib/active_record/timestamp.rb
Overview
Active Record automatically timestamps create and update if the table has fields created_at/created_on or updated_at/updated_on.
Timestamping can be turned off by setting
<tt>ActiveRecord::Base.record_timestamps = false</tt>
Timestamps are in the local timezone by default but can use UTC by setting
<tt>ActiveRecord::Base.default_timezone = :utc</tt>
Class Method Summary collapse
-
.included(base) ⇒ Object
:nodoc:.
Instance Method Summary collapse
-
#create_with_timestamps ⇒ Object
:nodoc:.
-
#update_with_timestamps ⇒ Object
:nodoc:.
Class Method Details
.included(base) ⇒ Object
:nodoc:
11 12 13 14 15 16 17 18 19 |
# File 'lib/active_record/timestamp.rb', line 11 def self.included(base) #:nodoc: super base.alias_method_chain :create, :timestamps base.alias_method_chain :update, :timestamps base.cattr_accessor :record_timestamps, :instance_writer => false base. = true end |
Instance Method Details
#create_with_timestamps ⇒ Object
:nodoc:
21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/active_record/timestamp.rb', line 21 def #:nodoc: if t = self.class.default_timezone == :utc ? Time.now.utc : Time.now write_attribute('created_at', t) if respond_to?(:created_at) && created_at.nil? write_attribute('created_on', t) if respond_to?(:created_on) && created_on.nil? write_attribute('updated_at', t) if respond_to?(:updated_at) write_attribute('updated_on', t) if respond_to?(:updated_on) end end |
#update_with_timestamps ⇒ Object
:nodoc:
33 34 35 36 37 38 39 40 |
# File 'lib/active_record/timestamp.rb', line 33 def #:nodoc: if t = self.class.default_timezone == :utc ? Time.now.utc : Time.now write_attribute('updated_at', t) if respond_to?(:updated_at) write_attribute('updated_on', t) if respond_to?(:updated_on) end end |