module VestalVersions::Reset::InstanceMethods

Adds the instance methods required to reset an object to a previous version.

Public Instance Methods

reset_to!(value) click to toggle source

Similar to revert_to!, the reset_to! method reverts an object to a previous version, only instead of creating a new record in the version history, reset_to! deletes all of the version history that occurs after the version reverted to.

The action taken on each version record after the point of reversion is determined by the :dependent option given to the versioned method. See the versioned method documentation for more details.

# File lib/vestal_versions/reset.rb, line 19
def reset_to!(value)
  if saved = skip_version{ revert_to!(value) }
    versions.send(:delete_records, versions.after(value))
    reset_version
  end
  saved
end