Sha256: 232656c20d87dcaf79ca1654bb5f26dfa7ebe3a56e8147bf614205f9e9e33e98

Contents?: true

Size: 1.58 KB

Versions: 53

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_path(request.path) rescue nil
              page.is_a?(RailsPage) ? page : RailsPage.new(:class_name => "RailsPage")
            end
            
          end
        end
      
    end
  end
end

Version data entries

53 entries across 53 versions & 1 rubygems

Version Path
trusty-cms-7.0.22 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-7.0.21 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-7.0.20 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-7.0.19 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-7.0.18 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-7.0.17 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-7.0.16 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-7.0.14 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-7.0.13 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-7.0.12 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-7.0.15 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-7.0.9.1 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-7.0.11 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-7.0.10 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-7.0.9 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-7.0.8 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-7.0.7 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-7.0.6 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-7.0.5 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb
trusty-cms-7.0.4 vendor/extensions/layouts-extension/lib/share_layouts/helpers/action_view.rb