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

Version Path
pageflow-12.0.4 app/models/pageflow/theming.rb
pageflow-12.0.3 app/models/pageflow/theming.rb
pageflow-12.0.2 app/models/pageflow/theming.rb
pageflow-12.0.1 app/models/pageflow/theming.rb
pageflow-12.0.0 app/models/pageflow/theming.rb
pageflow-12.0.0.rc7 app/models/pageflow/theming.rb
pageflow-12.0.0.rc6 app/models/pageflow/theming.rb
pageflow-0.11.4 app/models/pageflow/theming.rb
pageflow-12.0.0.rc5 app/models/pageflow/theming.rb
pageflow-12.0.0.rc4 app/models/pageflow/theming.rb
pageflow-12.0.0.rc3 app/models/pageflow/theming.rb
pageflow-12.0.0.rc2 app/models/pageflow/theming.rb
pageflow-12.0.0.rc1 app/models/pageflow/theming.rb
pageflow-0.11.3 app/models/pageflow/theming.rb
pageflow-0.11.2 app/models/pageflow/theming.rb
pageflow-0.11.1 app/models/pageflow/theming.rb
pageflow-0.11.0 app/models/pageflow/theming.rb