Sha256: 48d07e2aa7f9f0cd3ea0b3090fbcc2a4392350df739be92052f63a9ac5b4d92f
Contents?: true
Size: 880 Bytes
Versions: 2
Compression:
Stored size: 880 Bytes
Contents
module Commons module Concerns module Extensions module SoftDeleted extend ActiveSupport::Concern included do before_validation :check_not_deleted, on: [:update] def deleted? raise ActiveModel::MissingAttributeError unless has_required_fields? self.deleted_at.present? end def self.default_scope raise ActiveModel::MissingAttributeError unless has_attribute?(:deleted_at) where(deleted_at: nil) end end private def check_not_deleted raise ActiveModel::MissingAttributeError unless has_required_fields? raise ActiveRecord::RecordInvalid if self.deleted_at_in_database.present? end def has_required_fields? self.has_attribute?(:deleted_at) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
commons_yellowme-0.16.0 | lib/commons/concerns/extensions/soft_deleted.rb |
commons_yellowme-0.15.0 | lib/commons/concerns/extensions/soft_deleted.rb |