module MySoftDelete::Deleteable::ClassMethods
Public Instance Methods
acts_as_soft_delete(default_column_name=:deleted_at)
click to toggle source
Calls superclass method
# File lib/my_soft_delete/deleteable.rb, line 9 def acts_as_soft_delete(default_column_name=:deleted_at) cattr_accessor :default_column_name default_column_name =default_column_name default_scope { where(default_column_name => nil) } define_method "destroy" do |opts={}| opts[:force] && super() || mark_soft_delete(Time.now) end define_method "mark_soft_delete" do |v| (_ = self).send("#{default_column_name}=", v); _.save(validate: false) end class_eval do define_method "self.reviev_by_id" do |id| self.class.unscoped.find(id).mark_soft_delete(nil) end end end