Sha256: 6fd1b89449e45ca139ed5f701ac54a743beada7f8497cd4e0b1fda356cb13620

Contents?: true

Size: 1.2 KB

Versions: 13

Compression:

Stored size: 1.2 KB

Contents

module Locomotive
  module Liquid
    module Tags
      class Extends < ::Liquid::Extends

        def prepare_parsing
          super

          parent_page = @context[:parent_page]

          @context[:page].merge_editable_elements_from_page(parent_page)

          @context[:snippets] = parent_page.snippet_dependencies
          @context[:templates] = ([*parent_page.template_dependencies] + [parent_page.id]).compact
        end

        private

        def parse_parent_template
          if @template_name == 'parent'
            if @context[:cached_parent]
              @context[:parent_page] = @context[:cached_parent]
              @context[:cached_parent] = nil
            else
              @context[:parent_page] = @context[:page].parent
            end
          else
            @context[:parent_page] = @context[:cached_pages].try(:[], @template_name) ||
              @context[:site].pages.where(:fullpath => @template_name).first
          end

          raise PageNotFound.new("Page with fullpath '#{@template_name}' was not found") if @context[:parent_page].nil?

          @context[:parent_page].template
        end

      end

      ::Liquid::Template.register_tag('extends', Extends)
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
locomotive_cms-1.0.0.beta lib/locomotive/liquid/tags/extends.rb
locomotive_cms-0.0.4.beta12 lib/locomotive/liquid/tags/extends.rb
locomotive_cms-0.0.4.beta11 lib/locomotive/liquid/tags/extends.rb
locomotive_cms-0.0.4.beta10 lib/locomotive/liquid/tags/extends.rb
locomotive_cms-0.0.4.beta9 lib/locomotive/liquid/tags/extends.rb
locomotive_cms-0.0.4.beta8 lib/locomotive/liquid/tags/extends.rb
locomotive_cms-0.0.4.beta7 lib/locomotive/liquid/tags/extends.rb
locomotive_cms-0.0.4.beta5 lib/locomotive/liquid/tags/extends.rb
locomotive_cms-0.0.4.beta4 lib/locomotive/liquid/tags/extends.rb
locomotive_cms-0.0.4.beta3 lib/locomotive/liquid/tags/extends.rb
locomotive_cms-0.0.4.beta2 lib/locomotive/liquid/tags/extends.rb
locomotive_cms-0.0.4.beta1 lib/locomotive/liquid/tags/extends.rb
locomotive_cms-0.0.4 lib/locomotive/liquid/tags/extends.rb