Sha256: 1e636ec30ff88746a0efd06270248b50a9e5d630cc12b1d4ec8673e350a5ba9b

Contents?: true

Size: 424 Bytes

Versions: 11

Compression:

Stored size: 424 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.now
  end

  def deleted?
    deleted_at.present?
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
mumuki-domain-9.8.1 app/models/concerns/with_soft_deletion.rb
mumuki-domain-9.8.0 app/models/concerns/with_soft_deletion.rb
mumuki-domain-9.7.0 app/models/concerns/with_soft_deletion.rb
mumuki-domain-9.6.0 app/models/concerns/with_soft_deletion.rb
mumuki-domain-9.5.0 app/models/concerns/with_soft_deletion.rb
mumuki-domain-9.4.0 app/models/concerns/with_soft_deletion.rb
mumuki-domain-9.3.0 app/models/concerns/with_soft_deletion.rb
mumuki-domain-9.2.1 app/models/concerns/with_soft_deletion.rb
mumuki-domain-9.2.0 app/models/concerns/with_soft_deletion.rb
mumuki-domain-9.1.2 app/models/concerns/with_soft_deletion.rb
mumuki-domain-9.1.1 app/models/concerns/with_soft_deletion.rb