lib/vestal_versions/reset.rb in vestal_versions-1.0.2 vs lib/vestal_versions/reset.rb in vestal_versions-2.0.0

- old
+ new

@@ -1,28 +1,24 @@ module VestalVersions # Adds the ability to "reset" (or hard revert) a versioned ActiveRecord::Base instance. module Reset - def self.included(base) # :nodoc: - base.class_eval do - include InstanceMethods - end - end + extend ActiveSupport::Concern # Adds the instance methods required to reset an object to a previous version. - module InstanceMethods - # 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 - # <tt>:dependent</tt> option given to the +versioned+ method. See the +versioned+ method - # documentation for more details. - def reset_to!(value) - if saved = skip_version{ revert_to!(value) } - versions.send(:delete_records, versions.after(value)) - reset_version - end - saved + + # 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 + # <tt>:dependent</tt> option given to the +versioned+ method. See the +versioned+ method + # documentation for more details. + def reset_to!(value) + if saved = skip_version{ revert_to!(value) } + versions.send(:delete, versions.after(value)) + reset_version end + saved end + end end