Module ActsAsRevisionable::ClassMethods
In: lib/acts_as_revisionable.rb

Methods

Public Instance methods

Load a revision for a record with a particular id. If this revision has association it will not delete associated records added since the revision was added if you save it. If you want to save a revision with associations properly, use restore_revision!

[Source]

    # File lib/acts_as_revisionable.rb, line 36
36:     def restore_revision (id, revision)
37:       revision = RevisionRecord.find_revision(self, id, revision)
38:       return revision.restore if revision
39:     end

Load a revision for a record with a particular id and save it to the database. You should always use this method to save a revision if it has associations.

[Source]

    # File lib/acts_as_revisionable.rb, line 43
43:     def restore_revision! (id, revision)
44:       record = restore_revision(id, revision)
45:       if record
46:         record.store_revision do
47:           save_restorable_associations(record, revisionable_associations)
48:         end
49:       end
50:       return record
51:     end

Returns a hash structure used to identify the revisioned associations.

[Source]

    # File lib/acts_as_revisionable.rb, line 54
54:     def revisionable_associations (options = acts_as_revisionable_options[:associations])
55:       return nil unless options
56:       options = [options] unless options.kind_of?(Array)
57:       associations = {}
58:       options.each do |association|
59:         if association.kind_of?(Symbol)
60:           associations[association] = true
61:         elsif association.kind_of?(Hash)
62:           association.each_pair do |key, value|
63:             associations[key] = revisionable_associations(value)
64:           end
65:         end
66:       end
67:       return associations
68:     end

[Validate]