Sha256: 019510ee32dcb179fae709273c10cfa4603f2e6a5abc8452fd04c579d9cdeb01

Contents?: true

Size: 428 Bytes

Versions: 18

Compression:

Stored size: 428 Bytes

Contents

module WithSoftDeletion
  extend ActiveSupport::Concern

  included do
    enum deletion_motive: %i(self_deleted inappropriate_content shares_solution discloses_personal_information)
    belongs_to :deleted_by, class_name: 'User', optional: true
  end

  def soft_delete!(motive, deleter)
    update! deletion_motive: motive, deleted_by: deleter, deleted_at: Time.current
  end

  def deleted?
    deleted_at.present?
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
mumuki-domain-9.23.0 app/models/concerns/with_soft_deletion.rb
mumuki-domain-9.22.1 app/models/concerns/with_soft_deletion.rb
mumuki-domain-9.22.0 app/models/concerns/with_soft_deletion.rb
mumuki-domain-9.21.0 app/models/concerns/with_soft_deletion.rb
mumuki-domain-9.20.0 app/models/concerns/with_soft_deletion.rb
mumuki-domain-9.19.0 app/models/concerns/with_soft_deletion.rb
mumuki-domain-9.18.0 app/models/concerns/with_soft_deletion.rb
mumuki-domain-9.17.0 app/models/concerns/with_soft_deletion.rb
mumuki-domain-9.16.0 app/models/concerns/with_soft_deletion.rb
mumuki-domain-9.15.0 app/models/concerns/with_soft_deletion.rb
mumuki-domain-9.14.1 app/models/concerns/with_soft_deletion.rb
mumuki-domain-9.14.0 app/models/concerns/with_soft_deletion.rb
mumuki-domain-9.13.1 app/models/concerns/with_soft_deletion.rb
mumuki-domain-9.13.0 app/models/concerns/with_soft_deletion.rb
mumuki-domain-9.12.0 app/models/concerns/with_soft_deletion.rb
mumuki-domain-9.11.0 app/models/concerns/with_soft_deletion.rb
mumuki-domain-9.10.0 app/models/concerns/with_soft_deletion.rb
mumuki-domain-9.9.0 app/models/concerns/with_soft_deletion.rb