mirror of
https://github.com/Freika/dawarich.git
synced 2026-01-10 01:01:39 -05:00
31 lines
547 B
Ruby
31 lines
547 B
Ruby
# frozen_string_literal: true
|
|
|
|
module SoftDeletable
|
|
extend ActiveSupport::Concern
|
|
|
|
included do
|
|
scope :active_accounts, -> { where(deleted_at: nil) }
|
|
scope :deleted_accounts, -> { where.not(deleted_at: nil) }
|
|
end
|
|
|
|
def deleted?
|
|
deleted_at.present?
|
|
end
|
|
|
|
def mark_as_deleted!
|
|
update!(deleted_at: Time.current)
|
|
end
|
|
|
|
def destroy
|
|
mark_as_deleted!
|
|
end
|
|
|
|
# Devise authentication overrides
|
|
def active_for_authentication?
|
|
super && !deleted?
|
|
end
|
|
|
|
def inactive_message
|
|
deleted? ? :deleted : super
|
|
end
|
|
end
|