Sha256: 53a0dbd05997f6b568b0408b32ba4895a5fbbc63775348da386c1c3b5d3e3d60

Contents?: true

Size: 1.6 KB

Versions: 1

Compression:

Stored size: 1.6 KB

Contents

require 'effective_datatables'
require 'effective_resources'
require 'effective_roles'
require 'effective_pages/engine'
require 'effective_pages/version'

module EffectivePages
  def self.config_keys
    [
      :pages_table_name, :menus_table_name, :menu_items_table_name,
      :pages_path, :excluded_pages, :layouts_path, :excluded_layouts,
      :site_og_image, :site_og_image_width, :site_og_image_height,
      :site_title, :site_title_suffix, :fallback_meta_description,
      :silence_missing_page_title_warnings, :silence_missing_meta_description_warnings, :silence_missing_canonical_url_warnings,
      :use_effective_roles, :authenticate_user, :menu, :layout
    ]
  end

  include EffectiveGem

  def self.templates
    ApplicationController.view_paths.map { |path| Dir[File.join(path, pages_path, '**')] }.flatten.map do |file|
      name = File.basename(file).split('.').first
      next if name.starts_with?('_')
      next if Array(EffectivePages.excluded_pages).map { |str| str.to_s }.include?(name)
      name
    end.compact.sort
  end

  def self.layouts
    return [] if layouts_path.blank?

    ApplicationController.view_paths.map { |path| Dir[File.join(path, layouts_path, '**')] }.flatten.map do |file|
      name = File.basename(file).split('.').first
      next if name.starts_with?('_')
      next if name.include?('mailer')
      next if Array(EffectivePages.excluded_layouts).map { |str| str.to_s }.include?(name)
      name
    end.compact.sort
  end

  def self.permitted_params
    @permitted_params ||= [
      :title, :meta_description, :draft, :layout, :template, :slug, roles: []
    ]
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
effective_pages-3.0.0 lib/effective_pages.rb