Sha256: 38da8030a86d5a84e7931c46a59413b0b4fef29a18778a3acdf6fa83e2d3cce5

Contents?: true

Size: 757 Bytes

Versions: 236

Compression:

Stored size: 757 Bytes

Contents

module GovukPublishingComponents
  module Presenters
    class PersonSchema
      attr_reader :page

      def initialize(page)
        @page = page
      end

      def structured_data
        # http://schema.org/Person
        {
          "@context" => "http://schema.org",
          "@type" => "Person",
          "mainEntityOfPage" => {
            "@type" => "WebPage",
            "@id" => page.canonical_url,
          },
          "name" => page.title,
          "description" => page.body
        }.merge(image_schema)
      end

    private

      attr_reader :presenter

      def image_schema
        return {} unless page.has_image?

        {
          "image" => [
            page.image_url
          ]
        }
      end
    end
  end
end

Version data entries

236 entries across 236 versions & 1 rubygems

Version Path
govuk_publishing_components-21.27.1 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-21.27.0 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-21.26.2 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-21.26.1 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-21.26.0 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-21.25.0 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-21.24.0 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-21.23.1 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-21.23.0 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-21.22.2 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-21.22.1 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-21.22.0 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-21.21.3 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-21.21.2 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-21.21.1 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-21.21.0 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-21.20.0 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-21.19.1 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-21.19.0 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-21.18.0 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb