module Mongoid::Persistable::Savable
Defines behavior for persistence operations that save documents.
Public Instance Methods
Save the document - will perform an insert if the document is new, and update if not.
@example Save the document.
document.save
@param [ Hash ] options Options to pass to the save.
@option options [ true | false ] :touch Whether or not the updated_at
attribute will be updated with the current time. When this option is false, none of the embedded documents will be touched. This option is ignored when saving a new document, and the created_at and updated_at will be set to the current time.
@return [ true | false ] True if success, false if not.
# File lib/mongoid/persistable/savable.rb, line 25 def save(options = {}) if new_record? !insert(options).new_record? else update_document(options) end end
Save the document - will perform an insert if the document is new, and update if not. If a validation error occurs an error will get raised.
@example Save the document.
document.save!
@param [ Hash ] options Options to pass to the save.
@option options [ true | false ] :touch Whether or not the updated_at
attribute will be updated with the current time. When this option is false, none of the embedded documents will be touched.This option is ignored when saving a new document, and the created_at and updated_at will be set to the current time.
@raise [ Errors::Validations
] If validation failed. @raise [ Errors::Callback
] If a callback returns false.
@return [ true | false ] True if validation passed.
# File lib/mongoid/persistable/savable.rb, line 51 def save!(options = {}) unless save(options) fail_due_to_validation! unless errors.empty? fail_due_to_callback!(:save!) end true end