Class: ActiveRecord::Undo::UndoLogItem

Inherits:
Base
  • Object
show all
Defined in:
lib/active_record/undo/undo_log_item.rb

Instance Method Summary collapse

Instance Method Details

#restore_item!Object



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/active_record/undo/undo_log_item.rb', line 12

def restore_item!
  klass = resolve_model_class
  target = klass.unscoped.find_by(id: item_id)
  return unless target

  column_name = klass.respond_to?(:undoable_column) ? klass.undoable_column : :deleted_at
  ensure_column_exists!(klass, column_name)

  return unless target.public_send(column_name).present?

  reset_soft_delete_column!(target, column_name)
end