Module: PaperTrailViewer::Rollback
- Defined in:
- lib/paper_trail_viewer/rollback.rb
Defined Under Namespace
Classes: Result
Class Method Summary collapse
Class Method Details
.call(version_class: PaperTrail::Version, version_id:) ⇒ Object
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/paper_trail_viewer/rollback.rb', line 2 def self.call(version_class: PaperTrail::Version, version_id:) PaperTrailViewer.allow_rollback or raise 'Rollback not allowed' version = version_class.find(version_id) if version.event == 'create' version.item_type.constantize.find(version.item_id).destroy! Result.new(true, 'Rolled back newly-created record by destroying it.') else version.reify.save! Result.new(true, 'Rolled back changes to this record.') end rescue StandardError => e Result.new(false, "#{e.class}: #{e.}") end |