Sha256: 61cf1e81920184a6b77f93e3838d66b77da845130e0c79d079e06109478e1840

Contents?: true

Size: 1.56 KB

Versions: 125

Compression:

Stored size: 1.56 KB

Contents

module GovukPublishingComponents
  module Presenters
    class Page
      attr_reader :local_assigns

      def initialize(local_assigns)
        @local_assigns = local_assigns
      end

      def schema
        local_assigns.fetch(:schema)
      end

      def canonical_url
        local_assigns[:canonical_url] || (Plek.current.website_root + content_item["base_path"])
      end

      def body
        local_assigns[:body] || content_item.dig("details", "body")
      end

      def title
        local_assigns[:title] || content_item["title"]
      end

      def description
        local_assigns[:description] || content_item["description"]
      end

      def has_image?
        content_item.dig("details", "image").present?
      end

      def image_url
        content_item.dig("details", "image", "high_resolution_url") || content_item.dig("details", "image", "url")
      end

      def image_alt_text
        content_item.dig("details", "image", "alt_text")
      end

      def image_placeholders
        local_assigns[:image_placeholders]
      end

      def document_type
        content_item["document_type"]
      end

      def base_path
        content_item["base_path"]
      end

      def attachments
        content_item.dig("details", "attachments")
      end

      def content_item
        local_assigns[:content_item]
      end

      def logo_url
        local_assigns[:logo_url]
      end

      def requested_path
        local_assigns[:request_path]
      end

      def withdrawn?
        content_item["withdrawn_notice"].present?
      end
    end
  end
end

Version data entries

125 entries across 125 versions & 1 rubygems

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