Module: Locomotive::Shared::PagesHelper

Defined in:
app/helpers/locomotive/shared/pages_helper.rb

Defined Under Namespace

Classes: Node

Instance Method Summary collapse

Instance Method Details

#build_page_treeObject



29
30
31
# File 'app/helpers/locomotive/shared/pages_helper.rb', line 29

def build_page_tree
  @page_tree ||= Locomotive::PageTreeService.new(current_site).build_tree
end

#preview_page_path(page) ⇒ Object



5
6
7
8
9
10
11
12
# File 'app/helpers/locomotive/shared/pages_helper.rb', line 5

def preview_page_path(page)
  _path = params[:preview_path] || current_site.localized_page_fullpath(page, current_content_locale)
  _path = 'index' if _path.blank?

  _path += response_type_name(page)

  truncate('/' + _path, length: 50)
end

#render_pagesObject



22
23
24
25
26
27
# File 'app/helpers/locomotive/shared/pages_helper.rb', line 22

def render_pages
  tree  = build_page_tree
  nodes = tree.map { |page, children| Node.new(page, children, controller) }

  render 'locomotive/shared/sidebar/pages', nodes: nodes, root: tree.first.first
end

#response_type_name(page) ⇒ Object



14
15
16
17
18
19
20
# File 'app/helpers/locomotive/shared/pages_helper.rb', line 14

def response_type_name(page)
  if page.default_response_type?
    ''
  else
    '.' + (MIME::Types[page.response_type.to_s].first.try(:preferred_extension) || 'html')
  end
end