Module: Pageflow::AutoGeneratedPermaId
- Extended by:
- ActiveSupport::Concern
- Included in:
- Chapter, Page, RevisionComponent
- Defined in:
- app/models/concerns/pageflow/auto_generated_perma_id.rb
Overview
Add a perma_id
attribute of type integer. The perma_id is automatically generated on create and remains unchanged throughout the models lifecycle.
Instance Method Summary collapse
Instance Method Details
#ensure_perma_id ⇒ Object
12 13 14 15 16 17 18 19 20 21 |
# File 'app/models/concerns/pageflow/auto_generated_perma_id.rb', line 12 def ensure_perma_id return if perma_id.present? entry = entry_for_auto_generated_perma_id entry.with_lock do entry.increment!(:perma_id_counter) self.perma_id = entry.perma_id_counter end end |
#entry_for_auto_generated_perma_id ⇒ Object
23 24 25 26 |
# File 'app/models/concerns/pageflow/auto_generated_perma_id.rb', line 23 def entry_for_auto_generated_perma_id raise NotImplementedError, "#{self.class.name} must implement #entry_for_auto_generated_perma_id" end |