Sha256: 23099d2a796e4edca08ba5b61b0668694101b040b140dec55dbba389fc4c3886

Contents?: true

Size: 1.58 KB

Versions: 101

Compression:

Stored size: 1.58 KB

Contents

module ShareLayouts
  module Helpers
    module ActionView
  
        def self.included(base)
          base.class_eval do
            
            def trusty_layout(name = @trusty_layout)
              page = find_page
              assign_attributes!(page, name)
              page.build_parts_from_hash!(extract_captures)
              page.render
            end
            
            def assign_attributes!(page, name = @trusty_layout)
              page.layout = Layout.where(name: name).first || page.layout
              page.title = @title || @content_for_title || page.title || ''
              page.breadcrumb = @breadcrumb || @content_for_breadcrumb || page.breadcrumb || page.title
              page.breadcrumbs = @breadcrumbs || @content_for_breadcrumbs || nil
              page.url = request.path
              page.slug = page.url.split("/").last
              page.published_at ||= Time.now 
              page.request = request
              page.response = response
            end
            
            def extract_captures
              @view_flow.content.inject({}) do |h, var|
                key = var[0]
                key = :body if key == :layout
                unless key == :title || key == :breadcrumbs
                  h[key] = var[1]
                end
                h
              end
            end
            
            def find_page
              page = Page.find_by_url(request.path) rescue nil
              page.is_a?(RailsPage) ? page : RailsPage.new(:class_name => "RailsPage")
            end
            
          end
        end
      
    end
  end
end

Version data entries

101 entries across 101 versions & 2 rubygems

Version Path
trusty-cms-5.3.7 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-5.3.6 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-5.3.5 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-5.3.4 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-5.3.3 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-5.3.2 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-5.3.1 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-5.3 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-5.2.3 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-5.2.2 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-5.2.1 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-5.2.0 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-5.1.0 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-5.0.9 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-5.0.7 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-5.0.6 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-5.0.5 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-5.0.4 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-5.0.3 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-5.0.2 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb