Sha256: 8c4d66735fd7ee489f3a474c409cd4e98c8ab1928ced8c732a9779681c3ee6da

Contents?: true

Size: 1.3 KB

Versions: 8

Compression:

Stored size: 1.3 KB

Contents

module GovukPublishingComponents
  class ComponentDoc
    attr_reader :id,
                :name,
                :description,
                :body,
                :accessibility_criteria,
                :accessibility_excluded_rules,
                :examples,
                :source

    def initialize(
      id,
      name,
      description,
      body,
      accessibility_criteria,
      accessibility_excluded_rules,
      examples,
      source
    )
      @id = id
      @name = name
      @description = description
      @body = body
      @accessibility_criteria = accessibility_criteria
      @accessibility_excluded_rules = accessibility_excluded_rules
      @examples = examples
      @source = source
    end

    def example
      examples.first
    end

    def other_examples
      examples.slice(1..-1)
    end

    def html_body
      govspeak_to_html(body) if body.present?
    end

    def html_accessibility_criteria
      govspeak_to_html(accessibility_criteria) if accessibility_criteria.present?
    end

    def partial_path
      if source == 'gem'
        "components/#{id}"
      else
        "#{GovukPublishingComponents::Config.component_directory_name}/#{id}"
      end
    end

  private

    def govspeak_to_html(govspeak)
      Govspeak::Document.new(govspeak).to_html
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
govuk_publishing_components-3.3.0 app/models/govuk_publishing_components/component_doc.rb
govuk_publishing_components-3.2.1 app/models/govuk_publishing_components/component_doc.rb
govuk_publishing_components-3.2.0 app/models/govuk_publishing_components/component_doc.rb
govuk_publishing_components-3.1.0 app/models/govuk_publishing_components/component_doc.rb
govuk_publishing_components-3.0.3 app/models/govuk_publishing_components/component_doc.rb
govuk_publishing_components-3.0.2 app/models/govuk_publishing_components/component_doc.rb
govuk_publishing_components-3.0.1 app/models/govuk_publishing_components/component_doc.rb
govuk_publishing_components-3.0.0 app/models/govuk_publishing_components/component_doc.rb