Sha256: cb865bcf705b01f3553144d6d26431f753d5b63d3bc758a5a9ff6ba55a0e7f5e

Contents?: true

Size: 632 Bytes

Versions: 8

Compression:

Stored size: 632 Bytes

Contents

require_dependency 'solidus_seo/jsonld/list'

module SolidusSeo
  module Jsonld
    class Breadcrumbs < SolidusSeo::Jsonld::List
      private

      def list_type
        'BreadcrumbList'
      end

      def already_a_list?
        data.is_a?(Hash) && data["@type"] == list_type
      end

      def as_list_item(item)
        # `item` in the form of [text, url]
        breadcrumb_text, breadcrumb_url = item

        {
          '@type': 'ListItem',
          position: list_items.size + 1,
          item: {
            '@id': breadcrumb_url,
            name: breadcrumb_text
          }
        }
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
solidus_seo-1.1.2 lib/solidus_seo/jsonld/breadcrumbs.rb
solidus_seo-1.1.1 lib/solidus_seo/jsonld/breadcrumbs.rb
solidus_seo-1.1.0 lib/solidus_seo/jsonld/breadcrumbs.rb
solidus_seo-1.0.13 lib/solidus_seo/jsonld/breadcrumbs.rb
solidus_seo-1.0.12 lib/solidus_seo/jsonld/breadcrumbs.rb
solidus_seo-1.0.11 lib/solidus_seo/jsonld/breadcrumbs.rb
solidus_seo-1.0.10 lib/solidus_seo/jsonld/breadcrumbs.rb
solidus_seo-1.0.8 lib/solidus_seo/jsonld/breadcrumbs.rb