Sha256: a013b4a4dbaada29f970818cb7dfd31188378a535be415afdc180b3741226aa4

Contents?: true

Size: 861 Bytes

Versions: 6

Compression:

Stored size: 861 Bytes

Contents

module Kms
  class Public::PagesController < ActionController::Base

    before_filter :eval_externals

    def show
        page_result = Kms.template_manager.render(@page.register_id, @externals)
        # apply typograph to page content
        #page_result = EvilFront::Russian.typograph_html(page_result)
        result   = Kms.template_manager.render(@template.register_id, @externals.
                                merge(_inner_template: page_result))

      render text: result, layout: false
    end

    protected

    def eval_externals
      @externals = Hash[ExternalsRegistry.externals.map{ |k, v| [k, v.call(request, self)] }]
      @page = @externals[:page].source
      @template = @page.template
    rescue ActiveRecord::RecordNotFound
      render file: "#{Rails.root}/public/404.html", layout: false, status: :not_found
    end

  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
kms-0.7.0 app/controllers/kms/public/pages_controller.rb
kms-0.6.0 app/controllers/kms/public/pages_controller.rb
kms-0.5.0 app/controllers/kms/public/pages_controller.rb
kms-0.4.2 app/controllers/kms/public/pages_controller.rb
kms-0.4.1 app/controllers/kms/public/pages_controller.rb
kms-0.4.0 app/controllers/kms/public/pages_controller.rb