Module: PersistentRecord::Query

Defined in:
lib/persistent_record.rb

Instance Method Summary collapse

Instance Method Details

#only_discardedObject



25
26
27
# File 'lib/persistent_record.rb', line 25

def only_discarded
  with_discarded.where.not(record_deleted_at_column => nil)
end

#persistent?Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/persistent_record.rb', line 13

def persistent?
  true
end

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



29
30
31
32
33
34
35
# File 'lib/persistent_record.rb', line 29

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

#with_discardedObject



17
18
19
20
21
22
23
# File 'lib/persistent_record.rb', line 17

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