Sha256: 90680886319992dedb0cfe5b73560d95aed033046d84d4972dca76c00b44e7cf

Contents?: true

Size: 1.1 KB

Versions: 8

Compression:

Stored size: 1.1 KB

Contents

module GovukTechDocs
  class PageReview
    attr_reader :page

    def initialize(page, config = {})
      @page = page
      @config = config
    end

    def review_by
      return unless last_reviewed_on

      @review_by ||= Chronic.parse(
        "in #{page.data.review_in}",
        now: last_reviewed_on.to_time
      ).to_date
    end

    def under_review?
      page.data.review_in.present?
    end

    def last_reviewed_on
      page.data.last_reviewed_on
    end

    def owner_slack
      page.data.owner_slack || default_owner_slack
    end

    def owner_slack_url
      return "" unless owner_slack_workspace

      # Slack URLs don't have the # (channels) or @ (usernames)
      slack_identifier = owner_slack.to_s.delete('#').delete('@')
      "https://#{owner_slack_workspace}.slack.com/messages/#{slack_identifier}"
    end

    def show_expiry?
      @config[:tech_docs].fetch(:show_expiry, true)
    end

  private

    def default_owner_slack
      @config[:tech_docs][:default_owner_slack]
    end

    def owner_slack_workspace
      @config[:tech_docs][:owner_slack_workspace]
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
govuk_tech_docs-2.0.4 lib/govuk_tech_docs/page_review.rb
govuk_tech_docs-2.0.3 lib/govuk_tech_docs/page_review.rb
govuk_tech_docs-2.0.2 lib/govuk_tech_docs/page_review.rb
govuk_tech_docs-2.0.1 lib/govuk_tech_docs/page_review.rb
govuk_tech_docs-2.0.0.pre.test.pre.release.pre.525 lib/govuk_tech_docs/page_review.rb
govuk_tech_docs-2.0.0.pre.test.pre.release.pre.524 lib/govuk_tech_docs/page_review.rb
govuk_tech_docs-2.0.0.test.pre.release.521 lib/govuk_tech_docs/page_review.rb
govuk_tech_docs-2.0.0 lib/govuk_tech_docs/page_review.rb