Sha256: 3b1bc170335a9124d5dcbbaea8c85120c8592dc25837537c41a36054cbd65e29

Contents?: true

Size: 760 Bytes

Versions: 440

Compression:

Stored size: 760 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

440 entries across 440 versions & 1 rubygems

Version Path
govuk_publishing_components-51.2.1 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-51.2.0 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-51.1.1 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-51.1.0 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-51.0.0 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-50.0.1 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-50.0.0 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-49.1.0 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-49.0.0 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-48.0.0 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-47.0.0 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-46.4.0 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-46.3.1 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-46.3.0 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-46.2.0 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-46.1.0 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-46.0.0 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-45.10.0 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-45.9.0 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb
govuk_publishing_components-45.8.0 lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb