Module: SoftDestroyable::InstanceMethods
- Defined in:
- lib/soft_destroyable.rb
Instance Method Summary collapse
-
#after_soft_destroy ⇒ Object
override.
-
#before_destroy! ⇒ Object
override.
-
#before_soft_destroy ⇒ Object
override.
-
#destroy ⇒ Object
overrides the normal ActiveRecord::Transactions#destroy.
-
#destroy! ⇒ Object
not a recoverable operation.
- #restrict_dependencies ⇒ Object
-
#revive ⇒ Object
un-does the effect of
destroy. - #soft_dependencies ⇒ Object
Instance Method Details
#after_soft_destroy ⇒ Object
override
130 131 132 |
# File 'lib/soft_destroyable.rb', line 130 def after_soft_destroy # empty end |
#before_destroy! ⇒ Object
override
135 136 137 |
# File 'lib/soft_destroyable.rb', line 135 def before_destroy! # empty end |
#before_soft_destroy ⇒ Object
override
125 126 127 |
# File 'lib/soft_destroyable.rb', line 125 def before_soft_destroy # empty end |
#destroy ⇒ Object
overrides the normal ActiveRecord::Transactions#destroy. can be recovered with revive
92 93 94 95 96 97 |
# File 'lib/soft_destroyable.rb', line 92 def destroy before_soft_destroy result = soft_destroy after_soft_destroy result end |
#destroy! ⇒ Object
not a recoverable operation
100 101 102 103 104 105 106 |
# File 'lib/soft_destroyable.rb', line 100 def destroy! transaction do before_destroy! cascade_destroy! delete end end |
#restrict_dependencies ⇒ Object
120 121 122 |
# File 'lib/soft_destroyable.rb', line 120 def restrict_dependencies self.class.restrict_dependencies end |
#revive ⇒ Object
un-does the effect of destroy. Does not undo nullify on dependents
109 110 111 112 113 114 |
# File 'lib/soft_destroyable.rb', line 109 def revive transaction do cascade_revive update_attributes(:deleted_at => nil, :deleted => false) end end |
#soft_dependencies ⇒ Object
116 117 118 |
# File 'lib/soft_destroyable.rb', line 116 def soft_dependencies self.class.soft_dependencies end |