Sha256: 21e38c1d287e3aa27cd1743dd75a7635e549607af4b4c6be83a2db2a32e1f435

Contents?: true

Size: 1.41 KB

Versions: 9

Compression:

Stored size: 1.41 KB

Contents

module Smithy
  module Liquid
    module Rendering

      private

      def render_smithy_page
        if smithy_current_user
          output = @page.template.liquid_template.render(liquid_context)
        else
          output = Rails.cache.fetch("#{@page.cache_key}-render_smithy_page") do
            @page.template.liquid_template.render(liquid_context)
          end
        end
        render :text => output, :layout => false
      end

      def render_as_smithy_page(template_name)
        output = Smithy::Template.templates.find_by_name(template_name).liquid_template.render(liquid_context)
        render :text => output, :layout => false
      end

      def liquid_context
        ::Liquid::Context.new({}, smithy_default_assigns, smithy_default_registers, false)
      end

      def smithy_default_assigns
        {
          'page'              => @page,
          'current_page'      => self.params[:path],
          'params'            => self.params,
          'path'              => request.path,
          'fullpath'          => request.fullpath,
          'url'               => request.url,
          'now'               => Time.now.utc,
          'today'             => Date.today,
          'site'              => @page.site
        }
      end

      def smithy_default_registers
        {
          :controller => self,
          :page => @page,
          :site => @page.site
        }
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
smithycms-0.4.5 lib/smithy/liquid/rendering.rb
smithycms-0.4.4 lib/smithy/liquid/rendering.rb
smithycms-0.4.3 lib/smithy/liquid/rendering.rb
smithycms-0.4.2 lib/smithy/liquid/rendering.rb
smithycms-0.4.1 lib/smithy/liquid/rendering.rb
smithycms-0.4.0 lib/smithy/liquid/rendering.rb
smithycms-0.0.3 lib/smithy/liquid/rendering.rb
smithycms-0.0.2 lib/smithy/liquid/rendering.rb
smithycms-0.0.1 lib/smithy/liquid/rendering.rb