Sha256: f8c9a2298e1d7d06a0c65920d4e645f9662093d706fae11b117f2f06c09b2eac
Contents?: true
Size: 880 Bytes
Versions: 1
Compression:
Stored size: 880 Bytes
Contents
module Pageflow # @api private class Permalink < ApplicationRecord extend FriendlyId friendly_id :slug_candidates, use: :scoped, scope: :directory before_validation :set_default_slug has_one :entry belongs_to :directory, class_name: 'PermalinkDirectory' validates(:slug, format: /\A[0-9a-zA-Z_-]+\z/, uniqueness: {scope: :directory}) validate :belongs_to_same_theming_as_entry private def set_default_slug self.slug = entry.default_permalink_slug if slug == '' end def slug_candidates [entry.title, "#{entry.title}-#{entry.id}"] end def should_generate_new_friendly_id? slug.nil? end def belongs_to_same_theming_as_entry return if !directory || !entry || entry.theming_id == directory.theming_id errors.add(:directory, :invalid) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pageflow-15.8.0 | app/models/pageflow/permalink.rb |