Module: MongoMapper::Document::InstanceMethods
- Defined in:
- lib/mongo_mapper/document.rb
Instance Method Summary collapse
-
#_root_document ⇒ Object
Used by embedded docs to find root easily without if/respond_to? stuff.
- #delete ⇒ Object
- #destroy ⇒ Object
- #destroyed? ⇒ Boolean
- #new? ⇒ Boolean
- #reload ⇒ Object
- #save(options = {}) ⇒ Object
- #save!(options = {}) ⇒ Object
Instance Method Details
#_root_document ⇒ Object
Used by embedded docs to find root easily without if/respond_to? stuff. Documents are always root documents.
288 289 290 |
# File 'lib/mongo_mapper/document.rb', line 288 def _root_document self end |
#delete ⇒ Object
263 264 265 266 |
# File 'lib/mongo_mapper/document.rb', line 263 def delete @_destroyed = true self.class.delete(id) unless new? end |
#destroy ⇒ Object
259 260 261 |
# File 'lib/mongo_mapper/document.rb', line 259 def destroy delete end |
#destroyed? ⇒ Boolean
272 273 274 |
# File 'lib/mongo_mapper/document.rb', line 272 def destroyed? @_destroyed == true end |
#reload ⇒ Object
276 277 278 279 280 281 282 283 284 |
# File 'lib/mongo_mapper/document.rb', line 276 def reload if attrs = collection.find_one({:_id => _id}) self.class.associations.each { |name, assoc| send(name).reset if respond_to?(name) } self.attributes = attrs self else raise DocumentNotFound, "Document match #{_id.inspect} does not exist in #{collection.name} collection" end end |
#save(options = {}) ⇒ Object
248 249 250 251 252 |
# File 'lib/mongo_mapper/document.rb', line 248 def save(={}) .assert_valid_keys(:validate, :safe) .reverse_merge!(:validate => true) ![:validate] || valid? ? create_or_update() : false end |
#save!(options = {}) ⇒ Object
254 255 256 257 |
# File 'lib/mongo_mapper/document.rb', line 254 def save!(={}) .assert_valid_keys(:safe) save() || raise(DocumentNotValid.new(self)) end |