Module: SoftDelete
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/soft_delete.rb,
lib/soft_delete/version.rb
Constant Summary collapse
- VERSION =
"0.1.1"
Instance Method Summary collapse
-
#delete(type = :soft) ⇒ Object
“remove” record from database but don’t run callbacks.
- #delete! ⇒ Object
- #deleted? ⇒ Boolean
-
#destroy(type = :soft) ⇒ Object
“remove” record from database and run callbacks.
- #destroy! ⇒ Object
- #restore ⇒ Object
Instance Method Details
#delete(type = :soft) ⇒ Object
“remove” record from database but don’t run callbacks
14 15 16 17 18 19 20 |
# File 'lib/soft_delete.rb', line 14 def delete(type = :soft) if type == :soft touch(:deleted_at) elsif type == :hard super() end end |
#delete! ⇒ Object
22 23 24 |
# File 'lib/soft_delete.rb', line 22 def delete! delete(:hard) end |
#deleted? ⇒ Boolean
26 27 28 |
# File 'lib/soft_delete.rb', line 26 def deleted? deleted_at.present? end |
#destroy(type = :soft) ⇒ Object
“remove” record from database and run callbacks
31 32 33 34 35 36 37 |
# File 'lib/soft_delete.rb', line 31 def destroy(type = :soft) if type == :soft touch(:deleted_at) elsif type == :hard super() end end |
#destroy! ⇒ Object
39 40 41 |
# File 'lib/soft_delete.rb', line 39 def destroy! destroy(:hard) end |
#restore ⇒ Object
43 44 45 |
# File 'lib/soft_delete.rb', line 43 def restore update_attributes(deleted_at: nil) end |