module SoftDeletable::InstanceMethods
Public Instance Methods
deleted?()
click to toggle source
# File lib/soft-deletable.rb, line 36 def deleted? deleted_at.present? end
recover!()
click to toggle source
# File lib/soft-deletable.rb, line 20 def recover! update_attribute :deleted_at, nil # recover all dependencies self.class.aasd_dependents.each do |assoc| self.send(assoc).unscoped.deleted.each do |r| r.recover! end end # recover all depends_on self.class.aasd_depends_on.each do |assoc| self.send(assoc).recover! if self.send(assoc).deleted? end end
soft_delete!()
click to toggle source
# File lib/soft-deletable.rb, line 9 def soft_delete! update_attribute :deleted_at, Time.zone.now # soft_delete all dependencies (down the chain) self.class.aasd_dependents.each do |assoc| self.send(assoc).each do |r| r.soft_delete! end end end