Sha256: a7fd08f72b6dcac5cc09464a0d29ae6dfe9844d5cbbfceb33eeaf50539e34081

Contents?: true

Size: 838 Bytes

Versions: 8

Compression:

Stored size: 838 Bytes

Contents

module Cms
  module Fortress
    module ContentRenderer

      def self.included(base)

        base.class_eval do

          def render_html(status = 200)

            fresh_when etag: @cms_page, last_modified: @cms_page.updated_at.utc, public: true

            if @cms_layout = @cms_page.layout

              #TODO: put the caching config in the page
              response.cache_control[:max_age] = 5.minutes

              app_layout = (@cms_layout.app_layout.blank? || request.xhr?) ? false : @cms_layout.app_layout
              render(:inline => @cms_page.content, :layout => app_layout, :status => status, :content_type => 'text/html') unless performed?
            else
              render :text => I18n.t('cms.content.layout_not_found'), :status => 404
            end
          end

        end
      end

    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
cms-fortress-1.0.7 lib/cms/fortress/content_renderer.rb
cms-fortress-1.0.6 lib/cms/fortress/content_renderer.rb
cms-fortress-1.0.5 lib/cms/fortress/content_renderer.rb
cms-fortress-1.0.4 lib/cms/fortress/content_renderer.rb
cms-fortress-1.0.3 lib/cms/fortress/content_renderer.rb
cms-fortress-1.0.2 lib/cms/fortress/content_renderer.rb
cms-fortress-1.0.1 lib/cms/fortress/content_renderer.rb
cms-fortress-1.0.0 lib/cms/fortress/content_renderer.rb