Module: Paranoia

Defined in:
lib/paranoia.rb,
lib/paranoia/version.rb

Defined Under Namespace

Modules: Query

Constant Summary collapse

VERSION =
"1.3.1"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klazz) ⇒ Object



2
3
4
# File 'lib/paranoia.rb', line 2

def self.included(klazz)
  klazz.extend Query
end

Instance Method Details

#deleteObject



22
23
24
25
# File 'lib/paranoia.rb', line 22

def delete
  return if new_record? or destroyed?
  update_attribute_or_column :deleted_at, Time.now
end

#destroyObject



18
19
20
# File 'lib/paranoia.rb', line 18

def destroy
  run_callbacks(:destroy) { delete }
end

#destroyed?Boolean Also known as: deleted?

Returns:

  • (Boolean)


31
32
33
# File 'lib/paranoia.rb', line 31

def destroyed?
  !self.deleted_at.nil?
end

#restore!Object



27
28
29
# File 'lib/paranoia.rb', line 27

def restore!
  update_attribute_or_column :deleted_at, nil
end