Module: Paranoia::Query

Defined in:
lib/paranoia.rb

Instance Method Summary collapse

Instance Method Details

#only_deletedObject Also known as: deleted



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

def only_deleted
  with_deleted.where.not(paranoia_column => nil)
end

#paranoid?Boolean

Returns:

  • (Boolean)


8
# File 'lib/paranoia.rb', line 8

def paranoid? ; true ; end

#restore(id, opts = {}) ⇒ Object



23
24
25
26
27
28
29
# File 'lib/paranoia.rb', line 23

def restore(id, opts = {})
  if id.is_a?(Array)
    id.map { |one_id| restore(one_id, opts) }
  else
    only_deleted.find(id).restore!(opts)
  end
end

#with_deletedObject



10
11
12
13
14
15
16
# File 'lib/paranoia.rb', line 10

def with_deleted
  if ActiveRecord::VERSION::STRING >= "4.1"
    unscope where: paranoia_column
  else
    all.tap { |x| x.default_scoped = false }
  end
end