Module: Mongoid::Timestamps::Timeless::ClassMethods
Relationships & Source Files | |
Extension / Inclusion / Inheritance Descendants | |
Extended In:
| |
Defined in: | lib/mongoid/timestamps/timeless.rb |
Instance Attribute Summary
-
#timeless ⇒ Class
readonly
Begin an execution that should skip timestamping.
-
#timeless? ⇒ true | false
readonly
Returns whether the current class should skip timestamping.
Instance Method Summary
-
#clear_timeless_option ⇒ true
Removes the timeless option on the current class.
-
#clear_timeless_option_on_update ⇒ true
Sets to remove the timeless option when the next instance of the current class is updated.
-
#set_timeless_counter(counter) ⇒ Integer | nil
Clears the timeless counter for the current class if the value has reached zero.
Instance Attribute Details
#timeless ⇒ Class
(readonly)
Begin an execution that should skip timestamping.
# File 'lib/mongoid/timestamps/timeless.rb', line 75
def timeless counter = 0 counter += 1 if self < Mongoid::Timestamps::Created counter += 1 if self < Mongoid::Timestamps::Updated Timeless[name] = counter self end
#timeless? ⇒ true
| false
(readonly)
Returns whether the current class should skip timestamping.
# File 'lib/mongoid/timestamps/timeless.rb', line 121
def timeless? !!Timeless[name] end
Instance Method Details
#clear_timeless_option ⇒ true
Removes the timeless option on the current class.
# File 'lib/mongoid/timestamps/timeless.rb', line 86
def clear_timeless_option if counter = Timeless[name] counter -= 1 set_timeless_counter(counter) end true end
#clear_timeless_option_on_update ⇒ true
Sets to remove the timeless option when the next instance of the current class is updated.
# File 'lib/mongoid/timestamps/timeless.rb', line 98
def clear_timeless_option_on_update if counter = Timeless[name] counter -= 1 if self < Mongoid::Timestamps::Created counter -= 1 if self < Mongoid::Timestamps::Updated set_timeless_counter(counter) end end
#set_timeless_counter(counter) ⇒ Integer | nil
Clears the timeless counter for the current class if the value has reached zero.
# File 'lib/mongoid/timestamps/timeless.rb', line 113
def set_timeless_counter(counter) Timeless[name] = (counter == 0) ? nil : counter end