Module: Mongoid::Reloadable
- Included in:
- Composable
- Defined in:
- lib/mongoid/reloadable.rb
Overview
This module handles reloading behavior of documents.
Instance Method Summary collapse
-
#reload ⇒ Document
Reloads the
Document
attributes from the database.
Instance Method Details
#reload ⇒ Document
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.
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/mongoid/reloadable.rb', line 18 def reload if @atomic_selector # Clear atomic_selector cache for sharded clusters. MONGOID-5076 remove_instance_variable('@atomic_selector') end reloaded = _reload if Mongoid.raise_not_found_error && (reloaded.nil? || reloaded.empty?) raise Errors::DocumentNotFound.new(self.class, _id, _id) end @attributes = reloaded @attributes_before_type_cast = {} changed_attributes.clear reset_readonly apply_defaults reload_relations run_callbacks(:find) unless _find_callbacks.empty? run_callbacks(:initialize) unless _initialize_callbacks.empty? self end |