Module: Undeletable

Extended by:
ActiveSupport::Concern
Defined in:
lib/undeletable.rb,
lib/undeletable/version.rb

Defined Under Namespace

Modules: ClassMethods

Constant Summary collapse

VERSION =
"1.0.1"

Class Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Class Attribute Details

.debugObject

Returns the value of attribute debug.



5
6
7
# File 'lib/undeletable.rb', line 5

def debug
  @debug
end

Class Method Details

.configure(&blk) ⇒ Object



6
7
8
# File 'lib/undeletable.rb', line 6

def configure(&blk)
  class_eval(&blk)
end

Instance Method Details

#deleteObject

Raises:

  • (ActiveRecord::ReadOnlyRecord)


39
40
41
42
# File 'lib/undeletable.rb', line 39

def delete
  raise ActiveRecord::ReadOnlyRecord.new("#{self} is undeletable") if raise_on_delete?
  logger.debug("will not delete #{self}", e) if Undeletable.debug
end

#destroyObject

Raises:

  • (ActiveRecord::ReadOnlyRecord)


33
34
35
36
37
# File 'lib/undeletable.rb', line 33

def destroy
  raise ActiveRecord::ReadOnlyRecord.new("#{self} is undeletable") if raise_on_delete?
  logger.debug("will not delete #{self}", e) if Undeletable.debug
  run_callbacks(:destroy) { delete }
end