Clear::Model::HasSaving
Instance methods
Delete the model by building and executing a DELETE query.
A deleted model is not persisted anymore, and can be saved again.
Clear will do INSERT instead of UPDATE then
Return true if the model has been successfully deleted, and false otherwise.
Save the model. If the model is already persisted, will call UPDATE query.
If the model is not persisted, will call INSERT
Optionally, you can pass a Proc to refine the INSERT with on conflict
resolution functions.
Return false if the model cannot be saved (validation issue)
Return true if the model has been correctly saved.
Example:
u = User.new
if u.save
puts "User correctly saved !"
else
puts "There was a problem during save: "
# do something with `u.errors`
end
on_conflict optional parameter
Example:
u = User.new id: 123, email: "email@example.com"
u.save(-> (qry) { qry.on_conflict.do_update{ |u| u.set(email: "email@example.com") } #update
# IMPORTANT NOTICE: user may not be saved, but will be still detected as persisted !
You may want to use a block for on_conflict optional parameter:
u = User.new id: 123, email: "email@example.com"
u.save do |qry|
qry.on_conflict.do_update{ |u| u.set(email: "email@example.com")
end
Performs save call, but instead of returning false if validation failed,
raise Clear::Model::InvalidModelError exception