Sha256: 6523a16437c5d6de9e50b6e4d1dc947249c487e272ccce63ca4b1bc8f812cbe5

Contents?: true

Size: 675 Bytes

Versions: 39

Compression:

Stored size: 675 Bytes

Contents

module Cmor::Cms
  class Page < ActiveRecord::Base
    # add shared behaviour for database backed templates
    include DatabaseTemplate

    # associations
    has_many :navigation_items,
             dependent: :nullify
    has_many :content_blocks,
             dependent: :destroy,
             inverse_of: :page

    accepts_nested_attributes_for :content_blocks, allow_destroy: true

    # callbacks
    after_save :touch_navigation_items

    # validations
    validates :title, presence: true

    def home_page?
      pathname == '/' && basename == 'home'
    end

    def touch_navigation_items
      navigation_items.map(&:update_url_form_page!)
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
cmor_cms-0.0.41.pre app/models/cmor/cms/page.rb
cmor_cms-0.0.40.pre app/models/cmor/cms/page.rb
cmor_cms-0.0.39.pre app/models/cmor/cms/page.rb
cmor_cms-0.0.38.pre app/models/cmor/cms/page.rb
cmor_cms-0.0.37.pre app/models/cmor/cms/page.rb
cmor_cms-0.0.36.pre app/models/cmor/cms/page.rb
cmor_cms-0.0.35.pre app/models/cmor/cms/page.rb
cmor_cms-0.0.34.pre app/models/cmor/cms/page.rb
cmor_cms-0.0.33.pre app/models/cmor/cms/page.rb
cmor_cms-0.0.32.pre app/models/cmor/cms/page.rb
cmor_cms-0.0.31.pre app/models/cmor/cms/page.rb
cmor_cms-0.0.30.pre app/models/cmor/cms/page.rb
cmor_cms-0.0.29.pre app/models/cmor/cms/page.rb
cmor_cms-0.0.28.pre app/models/cmor/cms/page.rb
cmor_cms-0.0.27.pre app/models/cmor/cms/page.rb
cmor_cms-0.0.26.pre app/models/cmor/cms/page.rb
cmor_cms-0.0.25.pre app/models/cmor/cms/page.rb
cmor_cms-0.0.24.pre app/models/cmor/cms/page.rb
cmor_cms-0.0.22.pre app/models/cmor/cms/page.rb
cmor_cms-0.0.21.pre app/models/cmor/cms/page.rb