module Abstractor::Methods::Models::SoftDelete

Public Class Methods

included(base) click to toggle source
# File lib/abstractor/methods/models/soft_delete.rb, line 5
def self.included(base)
  attr_accessor :soft_delete
  base.send(:scope, :not_deleted, -> { base.where(:deleted_at => nil) })
end

Public Instance Methods

deleted?() click to toggle source
# File lib/abstractor/methods/models/soft_delete.rb, line 29
def deleted?
  !deleted_at.blank?
end
process_soft_delete() click to toggle source
# File lib/abstractor/methods/models/soft_delete.rb, line 10
def process_soft_delete
  self.deleted_at = Time.zone.now
end
soft_delete() click to toggle source
# File lib/abstractor/methods/models/soft_delete.rb, line 20
def soft_delete
  !self.deleted_at.blank?
end
soft_delete!() click to toggle source
# File lib/abstractor/methods/models/soft_delete.rb, line 24
def soft_delete!
  process_soft_delete
  save!
end
soft_delete=(removed) click to toggle source
# File lib/abstractor/methods/models/soft_delete.rb, line 14
def soft_delete=(removed)
  if (removed.is_a?(TrueClass) || removed.to_s == 't' || removed.to_s == '1')
    process_soft_delete
  end
end