Module: Mongoid::Reloadable

Included in:
Composable
Defined in:
lib/mongoid/reloadable.rb

Overview

This module handles reloading behaviour of documents.

Since:

  • 4.0.0

Instance Method Summary collapse

Instance Method Details

#reloadDocument

Reloads the Document attributes from the database. If the document has not been saved then an error will get raised if the configuration option was set. This can reload root documents or embedded documents.

Examples:

Reload the document.

person.reload

Returns:

  • (Document)

    The document, reloaded.

Raises:

Since:

  • 1.0.0



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/mongoid/reloadable.rb', line 21

def reload
  reloaded = _reload
  if Mongoid.raise_not_found_error && reloaded.empty?
    raise Errors::DocumentNotFound.new(self.class, id, id)
  end
  @attributes = reloaded
  @attributes_before_type_cast = {}
  changed_attributes.clear
  apply_defaults
  reload_relations
  IdentityMap.set(self)
  run_callbacks(:find) unless _find_callbacks.empty?
  run_callbacks(:initialize) unless _initialize_callbacks.empty?
  self
end