Module: BigRecord::Timestamp
- Defined in:
- lib/big_record/timestamp.rb
Overview
Big 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>BigRecord::Base. = false</tt>
Keep in mind that, via inheritance, you can turn off timestamps on a per model basis by setting record_timestamps to false in the desired models.
class Feed < BigRecord::Base self. = false # ... end
Timestamps are in the local timezone by default but can use UTC by setting
<tt>ActiveRecord::Base.default_timezone = :utc</tt>
Class Method Summary
-
+ (Object) included(base)
:nodoc:.
Instance Method Summary
-
- (Object) create_with_timestamps
:nodoc:.
-
- (Object) update_with_timestamps
:nodoc:.
Class Method Details
+ (Object) included(base)
:nodoc:
20 21 22 23 24 25 26 27 28 |
# File 'lib/big_record/timestamp.rb', line 20 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
- (Object) create_with_timestamps
:nodoc:
30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/big_record/timestamp.rb', line 30 def if t = self.class.default_timezone == :utc ? Time.now.utc : Time.now self.send(:created_at=, t) if respond_to?(:created_at) && created_at.nil? self.send(:created_on=, t) if respond_to?(:created_on) && created_on.nil? self.send(:updated_at=, t) if respond_to?(:updated_at) self.send(:updated_on=, t) if respond_to?(:updated_on) end end |
- (Object) update_with_timestamps
:nodoc:
42 43 44 45 46 47 48 49 |
# File 'lib/big_record/timestamp.rb', line 42 def if t = self.class.default_timezone == :utc ? Time.now.utc : Time.now self.send(:updated_at=, t) if respond_to?(:updated_at) self.send(:updated_on=, t) if respond_to?(:updated_on) end end |