class GovukTechDocs::PageReview
Attributes
page[R]
Public Class Methods
new(page, config = {})
click to toggle source
# File lib/govuk_tech_docs/page_review.rb, line 5 def initialize(page, config = {}) @page = page @config = config end
Public Instance Methods
last_reviewed_on()
click to toggle source
# File lib/govuk_tech_docs/page_review.rb, line 23 def last_reviewed_on page.data.last_reviewed_on end
owner_slack()
click to toggle source
# File lib/govuk_tech_docs/page_review.rb, line 27 def owner_slack page.data.owner_slack || default_owner_slack end
owner_slack_url()
click to toggle source
# File lib/govuk_tech_docs/page_review.rb, line 31 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
review_by()
click to toggle source
# File lib/govuk_tech_docs/page_review.rb, line 10 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
show_expiry?()
click to toggle source
# File lib/govuk_tech_docs/page_review.rb, line 38 def show_expiry? @config[:tech_docs].fetch(:show_expiry, true) end
under_review?()
click to toggle source
# File lib/govuk_tech_docs/page_review.rb, line 19 def under_review? page.data.review_in.present? end
Private Instance Methods
default_owner_slack()
click to toggle source
# File lib/govuk_tech_docs/page_review.rb, line 44 def default_owner_slack @config[:tech_docs][:default_owner_slack] end
owner_slack_workspace()
click to toggle source
# File lib/govuk_tech_docs/page_review.rb, line 48 def owner_slack_workspace @config[:tech_docs][:owner_slack_workspace] end