class ActiveRecord::Base

Public Class Methods

raise_on_delete?() click to toggle source
# File lib/undeletable.rb, line 109
def self.raise_on_delete?
  false
end
undeletable() click to toggle source
# File lib/undeletable.rb, line 93
def self.undeletable
  undeletable_init(false)
end
undeletable!() click to toggle source
# File lib/undeletable.rb, line 97
def self.undeletable!
  undeletable_init(true)
end
undeletable?() click to toggle source
# File lib/undeletable.rb, line 101
def self.undeletable?
  false
end

Private Class Methods

undeletable_init(raise_on_delete_val) click to toggle source
# File lib/undeletable.rb, line 119
def self.undeletable_init(raise_on_delete_val)
  class_attribute :raise_on_delete, instance_writer: true
  self.raise_on_delete = raise_on_delete_val
  class << self
    alias_method :undeletable_orig_class_delete, :delete
    alias_method :undeletable_orig_class_delete_all, :delete_all
  end
  alias_method :undeletable_orig_delete, :delete
  alias_method :undeletable_orig_destroy, :destroy
  include Undeletable
  if defined?(ActiveRecord::VERSION::MAJOR) && ActiveRecord::VERSION::MAJOR > 3
    alias_method :undeletable_orig_destroy!, :destroy!
    include UndeletableRails4Extensions
  end
end

Public Instance Methods

raise_on_delete?() click to toggle source
# File lib/undeletable.rb, line 113
def raise_on_delete?
  self.class.raise_on_delete?
end
undeletable?() click to toggle source
# File lib/undeletable.rb, line 105
def undeletable?
  self.class.undeletable?
end