Class: ActiveRecord::Undo::CascadeHandler

Inherits:
Object
  • Object
show all
Includes:
AssociationFinder, RecordUpdater
Defined in:
lib/active_record/undo/cascade_handler.rb,
lib/active_record/undo/cascade_handler/record_updater.rb,
lib/active_record/undo/cascade_handler/association_finder.rb

Defined Under Namespace

Modules: AssociationFinder, RecordUpdater

Instance Method Summary collapse

Constructor Details

#initialize(record) ⇒ CascadeHandler

Returns a new instance of CascadeHandler.



13
14
15
# File 'lib/active_record/undo/cascade_handler.rb', line 13

def initialize(record)
  @record = record
end

Instance Method Details

#soft_delete_with_cascade!(timestamp, undo_log) ⇒ Object



17
18
19
20
21
# File 'lib/active_record/undo/cascade_handler.rb', line 17

def soft_delete_with_cascade!(timestamp, undo_log)
  cascade_to_associations!(timestamp, undo_log)
  update_record_timestamps!(timestamp)
  undo_log.undo_log_items.build(item: @record)
end