Sha256: 2040cd51807554c0f81b2205a4cfb9678c467024e1b169d6f139b098e4eded9d
Contents?: true
Size: 1.24 KB
Versions: 17
Compression:
Stored size: 1.24 KB
Contents
module Pageflow class Theming < ActiveRecord::Base belongs_to :account has_many :widgets, as: :subject has_many :entries scope :with_home_url, -> { where.not(home_url: '') } scope :for_request, ->(request) { Pageflow.config.theming_request_scope.call(all, request) } validates :account, :presence => true validates_inclusion_of :theme_name, :in => ->(_) { Pageflow.config.themes.names } def resolve_widgets(options = {}) widgets.resolve(Pageflow.config_for(account), options) end def cname_domain cname.split('.').pop(2).join('.') end def theme Pageflow.config.themes.get(theme_name) end def name I18n.t('pageflow.admin.themings.name', :account_name => account.name, :theme_name => theme_name) end def copy_defaults_to(revision) widgets.copy_all_to(revision) copy_default_meta_tags(revision) end def copy_default_meta_tags(revision) revision.update( author: default_author.presence || Pageflow.config.default_author_meta_tag, publisher: default_publisher.presence || Pageflow.config.default_publisher_meta_tag, keywords: default_keywords.presence || Pageflow.config.default_keywords_meta_tag ) end end end
Version data entries
17 entries across 17 versions & 1 rubygems