Sha256: 5983ddd2cc59da3e6dd3293283725d58520fd83ee389508f4a1c972e67ec2a33
Contents?: true
Size: 1.05 KB
Versions: 309
Compression:
Stored size: 1.05 KB
Contents
module GovukPublishingComponents module Presenters # @private class ContentBreadcrumbsBasedOnTaxons def self.call(content_item) new(content_item).breadcrumbs end def initialize(content_item) @content_item = ContentItem.new(content_item) end def breadcrumbs ordered_parents = all_parents.map.with_index do |parent, index| { title: parent.title, url: parent.url_override.present? ? parent.url_override : parent.base_path, is_page_parent: index.zero?, } end ordered_parents << { title: "Home", url: "/", is_page_parent: ordered_parents.empty?, } ordered_parents.reverse end private attr_reader :content_item def all_parents parents = [] direct_parent = content_item.parent_taxon while direct_parent parents << direct_parent direct_parent = direct_parent.parent_taxon end parents end end end end
Version data entries
309 entries across 309 versions & 1 rubygems