Sha256: 516af81bdc36f429a19c5245477d33929a067a97db882c289d741aca600b09c1
Contents?: true
Size: 1.66 KB
Versions: 2
Compression:
Stored size: 1.66 KB
Contents
module RocketCMS module Models module Page extend ActiveSupport::Concern include RocketCMS::Model include Enableable include Seoable include ManualSlug include SitemapData include RocketCMS.orm_specific('Page') if RocketCMS.configuration.search_enabled include RocketCMS::ElasticSearch end included do has_and_belongs_to_many :menus, inverse_of: :pages validates_uniqueness_of :fullpath validates_presence_of :name manual_slug :name before_validation do self.fullpath = "/pages/#{slug}" if self.fullpath.blank? end end def get_fullpath redirect.blank? ? fullpath : redirect end def has_content? @content_used.nil? && !content.blank? end def page_content if @content_used.nil? @content_used = true if content.nil? '' else content.gsub(/\{\{(.*?)\}\}/) do Settings ? Settings.get($1).val : "" #temp end end else '' end end def is_current?(url) if fullpath == '/' url == '/' else url.match(clean_regexp) end end def clean_regexp if regexp.blank? /^#{Regexp.escape(fullpath)}$/ else begin /#{regexp}/ rescue # not a valid regexp - treat as literal search string /#{Regexp.escape(regexp)}/ end end end def nav_options {highlights_on: clean_regexp} end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ack_rocket_cms-0.7.7.1 | lib/rocket_cms/models/page.rb |
ack_rocket_cms-0.7.7 | lib/rocket_cms/models/page.rb |