Module: Pageflow::RevisionComponent

Extended by:
ActiveSupport::Concern
Included in:
FileUsage, Storyline
Defined in:
lib/pageflow/revision_component.rb

Overview

RevisionComponent represents a model that is attached to the revision mechanism of Pageflow.

In order to be used as a ComponentModel a model is required to have an integer field ‘perma_id` and a belongs_to field `revision`.

Defined Under Namespace

Modules: ClassMethods Classes: PermaIdGenerationAdvisoryLockTimeout

Constant Summary collapse

ADVISORY_LOCK_TIMEOUT_SECONDS =
5

Instance Method Summary collapse

Instance Method Details

#copy_to(revision) ⇒ Object



19
20
21
22
23
# File 'lib/pageflow/revision_component.rb', line 19

def copy_to(revision)
  record = dup
  record.revision = revision
  record.save!
end

#ensure_perma_idObject



25
26
27
# File 'lib/pageflow/revision_component.rb', line 25

def ensure_perma_id
  self.perma_id ||= (self.class.maximum(:perma_id) || 0) + 1
end