Module: Paranoia

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

Defined Under Namespace

Modules: Callbacks, Query

Constant Summary collapse

VERSION =
'1.3.3'

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klazz) ⇒ Object



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

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

Instance Method Details

#deleteObject



53
54
55
56
# File 'lib/paranoia.rb', line 53

def delete
  return if new_record?
  touch_paranoia_column(false)
end

#destroyObject



49
50
51
# File 'lib/paranoia.rb', line 49

def destroy
  run_callbacks(:destroy) { touch_paranoia_column(true) }
end

#destroyed?Boolean Also known as: deleted?

Returns:

  • (Boolean)


68
69
70
# File 'lib/paranoia.rb', line 68

def destroyed?
  !!send(paranoia_column)
end

#restore!(opts = {}) ⇒ Object Also known as: restore



58
59
60
61
62
63
64
65
# File 'lib/paranoia.rb', line 58

def restore!(opts = {})
  ActiveRecord::Base.transaction do
    run_callbacks(:restore) do
      update_column paranoia_column, nil
      restore_associated_records if opts[:recursive]
    end
  end
end