Module: Mongoid::Timestamps::Timeless

Extended by:
ActiveSupport::Concern, Forwardable
Defined in:
lib/mongoid/timestamps/timeless.rb

Overview

This module adds behavior for turning off timestamping in single or multiple calls.

Defined Under Namespace

Modules: ClassMethods

Constant Summary collapse

TIMELESS_TABLE_KEY =

The key to use to store the timeless table

'[mongoid]:timeless'

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.timeless_tableHash

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns the in-memory thread cache of classes for which to skip timestamping.



58
59
60
# File 'lib/mongoid/timestamps/timeless.rb', line 58

def timeless_table
  Threaded.get(TIMELESS_TABLE_KEY) { Hash.new }
end

Instance Method Details

#clear_timeless_optiontrue

Clears out the timeless option.

Examples:

Clear the timeless option.

document.clear_timeless_option


18
19
20
21
22
23
24
25
# File 'lib/mongoid/timestamps/timeless.rb', line 18

def clear_timeless_option
  if self.persisted?
    self.class.clear_timeless_option_on_update
  else
    self.class.clear_timeless_option
  end
  true
end

#timelessDocument

Begin an execution that should skip timestamping.

Examples:

Save a document but don’t timestamp.

person.timeless.save


33
34
35
36
# File 'lib/mongoid/timestamps/timeless.rb', line 33

def timeless
  self.class.timeless
  self
end

#timeless?true | false

Returns whether the document should skip timestamping.



42
43
44
# File 'lib/mongoid/timestamps/timeless.rb', line 42

def timeless?
  self.class.timeless?
end