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

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.

Returns:

  • (Hash)

    The timeless table.



55
56
57
# File 'lib/mongoid/timestamps/timeless.rb', line 55

def timeless_table
  Thread.current['[mongoid]:timeless'] ||= Hash.new
end

Instance Method Details

#clear_timeless_optiontrue

Clears out the timeless option.

Examples:

Clear the timeless option.

document.clear_timeless_option

Returns:

  • (true)

    True.



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

Returns:

  • (Document)

    The document this was called on.



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.

Returns:

  • (true | false)

    Whether the document should skip timestamping.



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

def timeless?
  self.class.timeless?
end