Files

Class Index [+]

Quicksearch

ActiveRecord::Timestamp

Active Record Timestamp

Active Record automatically timestamps create and update operations if the table has fields named created_at/created_on or updated_at/updated_on.

Timestamping can be turned off by setting:

  config.active_record.record_timestamps = false

Timestamps are in the local timezone by default but you can use UTC by setting:

  config.active_record.default_timezone = :utc

Time Zone aware attributes

By default, ActiveRecord::Base keeps all the datetime columns time zone aware by executing following code.

  config.active_record.time_zone_aware_attributes = true

This feature can easily be turned off by assigning value false .

If your attributes are time zone aware and you desire to skip time zone conversion to the current Time.zone when reading certain attributes then you can do following:

  class Topic < ActiveRecord::Base
    self.skip_time_zone_conversion_for_attributes = [:written_on]
  end

Public Instance Methods

initialize_dup(other) click to toggle source
    # File lib/active_record/timestamp.rb, line 40
40:     def initialize_dup(other)
41:       clear_timestamp_attributes
42:       super
43:     end

Private Instance Methods

all_timestamp_attributes_in_model() click to toggle source
    # File lib/active_record/timestamp.rb, line 86
86:     def all_timestamp_attributes_in_model
87:       timestamp_attributes_for_create_in_model + timestamp_attributes_for_update_in_model
88:     end
clear_timestamp_attributes() click to toggle source

Clear attributes and changed_attributes

     # File lib/active_record/timestamp.rb, line 107
107:     def clear_timestamp_attributes
108:       all_timestamp_attributes_in_model.each do |attribute_name|
109:         self[attribute_name] = nil
110:         changed_attributes.delete(attribute_name)
111:       end
112:     end
should_record_timestamps?() click to toggle source
    # File lib/active_record/timestamp.rb, line 74
74:     def should_record_timestamps?
75:       self.record_timestamps && (!partial_updates? || changed? || (attributes.keys & self.class.serialized_attributes.keys).present?)
76:     end
timestamp_attributes_for_create_in_model() click to toggle source
    # File lib/active_record/timestamp.rb, line 78
78:     def timestamp_attributes_for_create_in_model
79:       timestamp_attributes_for_create.select { |c| self.class.column_names.include?(c.to_s) }
80:     end
timestamp_attributes_for_update_in_model() click to toggle source
    # File lib/active_record/timestamp.rb, line 82
82:     def timestamp_attributes_for_update_in_model
83:       timestamp_attributes_for_update.select { |c| self.class.column_names.include?(c.to_s) }
84:     end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.