Sha256: 6252fb66a3d21411f9f940da519958d3c302abaeadb61f69d5d645e51888babe

Contents?: true

Size: 812 Bytes

Versions: 188

Compression:

Stored size: 812 Bytes

Contents

require "plek"

module GovukPublishingComponents
  module Presenters
    class PotentialSearchActionSchema
      attr_reader :facet_params, :description

      BASE_SEARCH_URL = "#{Plek.new.website_root}/search/all?keywords={query}&order=relevance".freeze

      def initialize(facet_params, description)
        @facet_params = facet_params
        @description = description
      end

      def structured_data
        # http://schema.org/SearchAction - minimal
        {
          "potentialAction" => {
            "@type": "SearchAction",
            "description": description,
            "target": search_template,
            "query": "required",
          },
        }
      end

    private

      def search_template
        "#{BASE_SEARCH_URL}&#{facet_params.to_query}"
      end
    end
  end
end

Version data entries

188 entries across 188 versions & 1 rubygems

Version Path
govuk_publishing_components-55.1.0 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-55.0.1 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-55.0.0 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-54.0.1 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-54.0.0 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-53.0.0 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-52.1.0 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-52.0.0 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-51.2.1 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-51.2.0 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-51.1.1 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-51.1.0 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-51.0.0 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-50.0.1 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-50.0.0 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-49.1.0 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-49.0.0 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-48.0.0 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-47.0.0 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-46.4.0 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb