module Ardm::Property::ParanoidBase

Public Instance Methods

destroy(execute_hooks = true) click to toggle source
Calls superclass method
# File lib/ardm/property/support/paranoid_base.rb, line 23
def destroy(execute_hooks = true)
  # NOTE: changed behavior because AR doesn't call hooks on destroying new objects
  return false if new_record?
  if execute_hooks
    run_callbacks :destroy do
      paranoid_destroy
    end
  else
    super
  end
end
paranoid_destroy() click to toggle source
# File lib/ardm/property/support/paranoid_base.rb, line 14
def paranoid_destroy
  self.class.paranoid_properties.each do |name, block|
    attribute_set(name, block.call(self))
  end
  save
  @readonly = true
  true
end