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:     end

Private Instance Methods

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

Clear attributes and changed_attributes

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

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.