Sha256: 22627050fafd30d6ecd6698d37dea82e7ef2531587cd0da43e87b3d0e0e5836a
Contents?: true
Size: 1.5 KB
Versions: 3
Compression:
Stored size: 1.5 KB
Contents
module Pageflow class EntryTemplate < ApplicationRecord include ThemeReferencer include SerializedConfiguration serialize :default_share_providers, JSON belongs_to :account has_many :widgets, as: :subject, dependent: :destroy validates :account, presence: true def resolve_widgets(options = {}) widgets.resolve(Pageflow.config_for(account), options) end def copy_defaults_to(revision) widgets.copy_all_to(revision) copy_attributes_to(revision) end def share_providers=(share_providers) self.default_share_providers = share_providers end def share_providers default_share_providers end def default_share_providers self[:default_share_providers].presence || hashify_provider_array(Pageflow.config.default_share_providers) end private def copy_attributes_to(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, share_providers: default_share_providers, theme_name: theme_name, configuration: configuration, locale: default_locale ) end def available_themes Pageflow.config_for(account).themes end def hashify_provider_array(arr) Hash[arr.reject(&:blank?).map { |v| [v.to_s, true] }] end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
pageflow-15.2.2 | app/models/pageflow/entry_template.rb |
pageflow-15.2.1 | app/models/pageflow/entry_template.rb |
pageflow-15.2.0 | app/models/pageflow/entry_template.rb |