Module: Cms::Admin::PagesHelper

Defined in:
app/helpers/cms/admin/pages_helper.rb

Instance Method Summary collapse

Instance Method Details

Returns breadcrumb array for a page: [ancestor, …, page]



16
17
18
# File 'app/helpers/cms/admin/pages_helper.rb', line 16

def breadcrumbs_for(page)
  page.ancestors + [page]
end

#flat_page_tree(pages, depth: 0, result: []) ⇒ Object

Flatten a tree of pages (already loaded with subpages) into [page, depth] pairs.



7
8
9
10
11
12
13
# File 'app/helpers/cms/admin/pages_helper.rb', line 7

def flat_page_tree(pages, depth: 0, result: [])
  pages.each do |page|
    result << [page, depth]
    flat_page_tree(Array(page.subpages), depth: depth + 1, result: result) if page.subpages.loaded?
  end
  result
end

#translation_completeness(page) ⇒ Object

Translation completeness: { “en” => :complete, “fr” => :missing }



21
22
23
24
25
26
# File 'app/helpers/cms/admin/pages_helper.rb', line 21

def translation_completeness(page)
  I18n.available_locales.each_with_object({}) do |locale, hash|
    translation = page.page_translations.find { |t| t.locale == locale.to_s }
    hash[locale.to_s] = translation&.title.present? ? :complete : :missing
  end
end