Sha256: e3431a1b47408feea062c0d2ec251395f017fc98badc8a4fb9a05a33cc08b5fc

Contents?: true

Size: 1.04 KB

Versions: 2

Compression:

Stored size: 1.04 KB

Contents

require 'govuk_navigation_helpers/services'
require 'govuk_navigation_helpers/configuration'

module GovukNavigationHelpers
  class TaxonomySidebar
    def initialize(content_item)
      @content_item = ContentItem.new content_item
    end

    def sidebar
      {
        items: related_items,
        collections: collections,
      }
    end

  private

    def there_are_related_item_overrides?
      # TODO: We should check for any external links when we have "new"
      # external links being curated in Content Tagger
      @content_item.curated_taxonomy_sidebar_links.any?
    end

    def related_items
      related_items_factory.new(@content_item).related_items
    end

    def related_items_factory
      if there_are_related_item_overrides?
        CuratedTaxonomySidebarLinks
      else
        RummagerTaxonomySidebarLinks
      end
    end

    def collections
      links = @content_item.related_collections
      links.map do |link|
        {
          path: link["base_path"],
          text: link["title"]
        }
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
govuk_navigation_helpers-9.2.1 lib/govuk_navigation_helpers/taxonomy_sidebar.rb
govuk_navigation_helpers-9.2.0 lib/govuk_navigation_helpers/taxonomy_sidebar.rb