Sha256: 2a8af79c0f22c4b6944adc0b7e891bd9af9a043cdc74ad5dd2e5a246b1fcd488

Contents?: true

Size: 865 Bytes

Versions: 1

Compression:

Stored size: 865 Bytes

Contents

module PufferPages
  module Extensions
    module ActionController
      module Base
        extend ActiveSupport::Concern

        included do
          helper_method :layout_page, :layout_page_drops
        end

        module InstanceMethods
          def puffer_pages
            'puffer_pages_layout'
          end

          def layout_page
            @layout_page ||= ::Page.find_layout_page(request.path_info)
          end

          def layout_page_drops
            {
              :self => PufferPages::Liquid::PageDrop.new(layout_page, layout_page, self),
              :root => PufferPages::Liquid::PageDrop.new(layout_page.root, layout_page, self)
            }.merge(@drops.presence || {}).stringify_keys
          end

        end

      end
    end
  end
end

ActionController::Base.send :include, PufferPages::Extensions::ActionController::Base

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
puffer_pages-0.1.0 lib/puffer_pages/extensions/controller.rb