Sha256: a0e9708fbd1aac259ce67199dce00c1cc976cd07dd6e2301050b0ba42b5e09f2

Contents?: true

Size: 815 Bytes

Versions: 4

Compression:

Stored size: 815 Bytes

Contents

require 'active_support/concern'

module SimplePages
  module Controllers
    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(location)
        SimplePages::Page.layout_at(location).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
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
simple-pages-rails-0.3.1 lib/simple_pages/controllers/page_layout_at.rb
simple-pages-rails-0.3.0 lib/simple_pages/controllers/page_layout_at.rb
simple-pages-rails-0.2.0 lib/simple_pages/controllers/page_layout_at.rb
simple-pages-rails-0.1.0 lib/simple_pages/controllers/page_layout_at.rb