Module PaperTrail::Model::ClassMethods
In: lib/paper_trail/has_paper_trail.rb

Methods

Public Instance methods

Declare this in your model to track every create, update, and destroy. Each version of the model is available in the `versions` association.

Options:

  • :on - The events to track (optional; defaults to all of them). Set to an array of `:create`, `:update`, `:destroy` as desired.
  • :class_name - The name of a custom Version class. This class should inherit from `PaperTrail::Version`.
  • :ignore - An array of attributes for which a new `Version` will not be created if only they change. It can also aceept a Hash as an argument where the key is the attribute to ignore (a `String` or `Symbol`), which will only be ignored if the value is a `Proc` which returns truthily.
  • :if, :unless - Procs that allow to specify conditions when to save versions for an object.
  • :only - Inverse of `ignore`. A new `Version` will be created only for these attributes if supplied it can also aceept a Hash as an argument where the key is the attribute to track (a `String` or `Symbol`), which will only be counted if the value is a `Proc` which returns truthily.
  • :skip - Fields to ignore completely. As with `ignore`, updates to these fields will not create a new `Version`. In addition, these fields will not be included in the serialized versions of the object whenever a new `Version` is created.
  • :meta - A hash of extra data to store. You must add a column to the `versions` table for each key. Values are objects or procs (which are called with `self`, i.e. the model with the paper trail). See `PaperTrail::Controller.info_for_paper_trail` for how to store data from the controller.
  • :versions - The name to use for the versions association. Default is `:versions`.
  • :version - The name to use for the method which returns the version the instance was reified from. Default is `:version`.
  • :save_changes - Whether or not to save changes to the object_changes column if it exists. Default is true

Switches PaperTrail off for this class.

Switches PaperTrail on for this class.

Record version after "create" event

Record version before or after "destroy" event

Record version after "update" event

[Validate]