module SoftDelete

Constants

VERSION

Public Instance Methods

delete(type = :soft) click to toggle source

“remove” record from database but don't run callbacks

Calls superclass method
# File lib/soft_delete.rb, line 14
def delete(type = :soft)
  if type == :soft
    touch(:deleted_at)
  elsif type == :hard
    super()
  end
end
delete!() click to toggle source
# File lib/soft_delete.rb, line 22
def delete!
  delete(:hard)
end
deleted?() click to toggle source
# File lib/soft_delete.rb, line 26
def deleted?
  deleted_at.present?
end
destroy(type = :soft) click to toggle source

“remove” record from database and run callbacks

Calls superclass method
# File lib/soft_delete.rb, line 31
def destroy(type = :soft)
  if type == :soft
    run_callbacks :destroy do
      touch(:deleted_at)
    end
  elsif type == :hard
    super()
  end
end
destroy!() click to toggle source
# File lib/soft_delete.rb, line 41
def destroy!
  destroy(:hard)
end
restore() click to toggle source
# File lib/soft_delete.rb, line 45
def restore
  update_attributes(deleted_at: nil)
end