Sha256: 04db81a6d57895a556820aa3c1a03c18ac5082999fff52aa433f75da6ac4b257
Contents?: true
Size: 746 Bytes
Versions: 16
Compression:
Stored size: 746 Bytes
Contents
module Discerner module Methods module Models module SoftDelete def self.included(base) attr_accessor :soft_delete base.send(:scope, :not_deleted, -> { base.where(deleted_at: nil) }) end def process_soft_delete self.deleted_at = Time.zone.now end def soft_delete=(removed) if (removed.is_a?(TrueClass) || removed.to_s == 't' || removed.to_s == '1') process_soft_delete end end def soft_delete !self.deleted_at.blank? end def soft_delete! process_soft_delete save! end def deleted? !deleted_at.blank? end end end end end
Version data entries
16 entries across 16 versions & 1 rubygems