lib/paper_trail/version_concern.rb
def reify(options = {})
      unless self.class.column_names.include? "object"
        raise "reify can't be called without an object column"
      end
      return nil if object.nil?
      ::PaperTrail::Reifier.reify(self, options)
    end
def reify(options = {})
      unless self.class.column_names.include? "object"
        raise "reify can't be called without an object column"
      end
      return nil if object.nil?
      ::PaperTrail::Reifier.reify(self, options)
    end
Restore the item from this version.

 Optionally this can also restore all :has_one and :has_many (including
 has_many :through) associations as they were "at the time", if they are
 also being versioned by PaperTrail.

 Options:

 - :has_one
   - `true` - Also reify has_one associations.
   - `false - Default.
 - :has_many
   - `true` - Also reify has_many and has_many :through associations.
   - `false` - Default.
 - :mark_for_destruction
   - `true` - Mark the has_one/has_many associations that did not exist in
     the reified version for destruction, instead of removing them.
   - `false` - Default. Useful for persisting the reified version.
 - :dup
   - `false` - Default.
   - `true` - Always create a new object instance. Useful for
     comparing two versions of the same object.
 - :unversioned_attributes
   - `:nil` - Default. Attributes undefined in version record are set to
     nil in reified record.
   - `:preserve` - Attributes undefined in version record are not modified.