Sha256: 42c5973e6de815928443d965634abe587c772b2d182ef9945fe8ebda9bb9c4b5

Contents?: true

Size: 873 Bytes

Versions: 23

Compression:

Stored size: 873 Bytes

Contents

require 'govuk_publishing_components/presenters/machine_readable/page'
require 'govuk_publishing_components/presenters/machine_readable/article_schema'
require 'govuk_publishing_components/presenters/machine_readable/news_article_schema'
require 'govuk_publishing_components/presenters/machine_readable/person_schema'

module GovukPublishingComponents
  module Presenters
    class SchemaOrg
      attr_reader :page

      def initialize(page)
        @page = page
      end

      def structured_data
        if page.schema == :article
          ArticleSchema.new(page).structured_data
        elsif page.schema == :news_article
          NewsArticleSchema.new(page).structured_data
        elsif page.schema == :person
          PersonSchema.new(page).structured_data
        else
          raise "#{page.schema} is not supported"
        end
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
govuk_publishing_components-9.8.0 lib/govuk_publishing_components/presenters/schema_org.rb
govuk_publishing_components-9.7.0 lib/govuk_publishing_components/presenters/schema_org.rb
govuk_publishing_components-9.6.0 lib/govuk_publishing_components/presenters/schema_org.rb
govuk_publishing_components-9.5.3 lib/govuk_publishing_components/presenters/schema_org.rb
govuk_publishing_components-9.5.2 lib/govuk_publishing_components/presenters/schema_org.rb
govuk_publishing_components-9.5.1 lib/govuk_publishing_components/presenters/schema_org.rb
govuk_publishing_components-9.5.0 lib/govuk_publishing_components/presenters/schema_org.rb
govuk_publishing_components-9.4.0 lib/govuk_publishing_components/presenters/schema_org.rb
govuk_publishing_components-9.3.6 lib/govuk_publishing_components/presenters/schema_org.rb
govuk_publishing_components-9.3.5 lib/govuk_publishing_components/presenters/schema_org.rb
govuk_publishing_components-9.3.4 lib/govuk_publishing_components/presenters/schema_org.rb
govuk_publishing_components-9.3.3 lib/govuk_publishing_components/presenters/schema_org.rb
govuk_publishing_components-9.3.2 lib/govuk_publishing_components/presenters/schema_org.rb
govuk_publishing_components-9.3.1 lib/govuk_publishing_components/presenters/schema_org.rb
govuk_publishing_components-9.3.0 lib/govuk_publishing_components/presenters/schema_org.rb
govuk_publishing_components-9.2.3 lib/govuk_publishing_components/presenters/schema_org.rb
govuk_publishing_components-9.2.2 lib/govuk_publishing_components/presenters/schema_org.rb
govuk_publishing_components-9.2.1 lib/govuk_publishing_components/presenters/schema_org.rb
govuk_publishing_components-9.2.0 lib/govuk_publishing_components/presenters/schema_org.rb
govuk_publishing_components-9.1.1 lib/govuk_publishing_components/presenters/schema_org.rb