class GovukPublishingComponents::Presenters::PersonSchema

Attributes

page[R]
presenter[R]

Public Class Methods

new(page) click to toggle source
# File lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb, line 6
def initialize(page)
  @page = page
end

Public Instance Methods

structured_data() click to toggle source
# File lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb, line 10
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 Instance Methods

image_schema() click to toggle source
# File lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb, line 28
def image_schema
  return {} unless page.has_image?

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