Sha256: 81ed9b0d4d5dc03f7a0d28b00fa42f3e8a0a7bd9ea0c66ea286af34b6faee843

Contents?: true

Size: 755 Bytes

Versions: 1

Compression:

Stored size: 755 Bytes

Contents

require 'active_support/concern'

module SimplePages
  module PageLayoutAt
    extend ActiveSupport::Concern
    included do
      cattr_accessor :page_layout_at
      self.page_layout_at = %w{header footer}

      helper_method :pages_layout_at
    end

    module ClassMethods
      def has_page_layout_at=(layouts = [])
        self.page_layout_at += layouts unless layouts.blank?
      end
      alias :has_page_layout_at :has_page_layout_at=
    end

    protected

    def pages_layout_at(layout_name)
      SimplePages::Page.where(layout_at: layout_name).published
    end

    def load_page_layout_at_options
      @layout_at_options = page_layout_at.map do |key|
        [t(key, scope: 'simple_pages.layout_at'), key]
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
simple-pages-rails-0.0.1 lib/simple_pages/page_layout_at.rb