Module: Cms::Admin::PagesHelper
- Defined in:
- app/helpers/cms/admin/pages_helper.rb
Instance Method Summary collapse
-
#breadcrumbs_for(page) ⇒ Object
Returns breadcrumb array for a page: [ancestor, …, page].
-
#flat_page_tree(pages, depth: 0, result: []) ⇒ Object
Flatten a tree of pages (already loaded with subpages) into [page, depth] pairs.
-
#translation_completeness(page) ⇒ Object
Translation completeness: { “en” => :complete, “fr” => :missing }.
Instance Method Details
#breadcrumbs_for(page) ⇒ Object
Returns breadcrumb array for a page: [ancestor, …, page]
16 17 18 |
# File 'app/helpers/cms/admin/pages_helper.rb', line 16 def (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 |