module ActsAsParanoid::Relation
Public Class Methods
included(base)
click to toggle source
# File lib/acts_as_paranoid/relation.rb, line 5 def self.included(base) base.class_eval do def paranoid? klass.try(:paranoid?) ? true : false end def paranoid_deletion_attributes { klass.paranoid_column => klass.delete_now_value } end alias_method :orig_delete_all, :delete_all def delete_all!(conditions = nil) if conditions where(conditions).delete_all! else orig_delete_all end end def delete_all(conditions = nil) if paranoid? where(conditions).update_all(paranoid_deletion_attributes) else delete_all!(conditions) end end def destroy_fully!(id_or_array) where(primary_key => id_or_array).orig_delete_all end end end
Public Instance Methods
delete_all(conditions = nil)
click to toggle source
# File lib/acts_as_paranoid/relation.rb, line 24 def delete_all(conditions = nil) if paranoid? where(conditions).update_all(paranoid_deletion_attributes) else delete_all!(conditions) end end
delete_all!(conditions = nil)
click to toggle source
# File lib/acts_as_paranoid/relation.rb, line 16 def delete_all!(conditions = nil) if conditions where(conditions).delete_all! else orig_delete_all end end
destroy_fully!(id_or_array)
click to toggle source
# File lib/acts_as_paranoid/relation.rb, line 32 def destroy_fully!(id_or_array) where(primary_key => id_or_array).orig_delete_all end
paranoid?()
click to toggle source
# File lib/acts_as_paranoid/relation.rb, line 7 def paranoid? klass.try(:paranoid?) ? true : false end
paranoid_deletion_attributes()
click to toggle source
# File lib/acts_as_paranoid/relation.rb, line 11 def paranoid_deletion_attributes { klass.paranoid_column => klass.delete_now_value } end