Sha256: 5b895838d9b76fffdada73b6b29ee01cd9c99802ea0f7abe65c3076b17977e79

Contents?: true

Size: 816 Bytes

Versions: 260

Compression:

Stored size: 816 Bytes

Contents

require "plek"

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

      BASE_SEARCH_URL = "#{Plek.current.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

260 entries across 260 versions & 1 rubygems

Version Path
govuk_publishing_components-31.0.0 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-30.7.3 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-30.7.2 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-30.7.1 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-30.7.0 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-30.6.1 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-30.6.0 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-30.5.2 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-30.5.1 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-30.5.0 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-30.4.1 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-30.4.0 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-30.3.0 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-30.2.1 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-30.2.0 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-30.1.0 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-30.0.0 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-29.15.3 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-29.15.2 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb
govuk_publishing_components-29.15.1 lib/govuk_publishing_components/presenters/machine_readable/potential_search_action_schema.rb