module Sequel::Plugins::HasPaperTrail::InstanceMethods

rubocop:disable Style/Documentation

Public Instance Methods

after_create() click to toggle source
Calls superclass method
# File lib/sequel/plugins/has_paper_trail.rb, line 50
def after_create
  super

  return unless SequelPaperTrail.enabled?

  object_changes = values.each_with_object({}) { |(k, v), acc| acc[k] = [nil, v] }

  attrs = {
    item_id: id,
    event: :create,
    object_changes: object_changes.to_json,
    object: nil
  }

  PaperTrailHelpers.create_version(model, attrs)
end
after_destroy() click to toggle source
Calls superclass method
# File lib/sequel/plugins/has_paper_trail.rb, line 83
def after_destroy
  super

  return unless SequelPaperTrail.enabled?

  attrs = {
    item_id: id,
    event: :destroy,
    object_changes: nil,
    object: values.to_json
  }

  PaperTrailHelpers.create_version(model, attrs)
end
after_update() click to toggle source
Calls superclass method
# File lib/sequel/plugins/has_paper_trail.rb, line 67
def after_update
  super

  return unless SequelPaperTrail.enabled?
  return if column_changes.empty?

  attrs = {
    item_id: id,
    event: :update,
    object_changes: column_changes.to_json,
    object: values.merge(initial_values).to_json
  }

  PaperTrailHelpers.create_version(model, attrs)
end