Class: PactBroker::UI::ViewDomain::MatrixTag

Inherits:
Object
  • Object
show all
Includes:
Api::PactBrokerUrls
Defined in:
lib/pact_broker/ui/view_models/matrix_tag.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Api::PactBrokerUrls

#badge_url_for_latest_pact, #build_webhook_metadata, #consumer_webhooks_url, #dashboard_url_for_integration, #group_url, #hal_browser_url, #integration_url, #label_url, #labels_url, #latest_pact_url, #latest_pacts_url, #latest_tagged_pact_url, #latest_untagged_pact_url, #latest_verification_for_pact_url, #latest_verifications_for_consumer_version_url, #latest_version_url, #matrix_url, #matrix_url_from_params, #new_verification_url, #pact_triggered_webhooks_url, #pact_url, #pact_url_from_params, #pact_version_url, #pact_version_url_with_metadata, #pact_versions_url, #pacticipant_url, #pacticipant_url_from_params, #pacticipants_url, #parse_webhook_metadata, #previous_distinct_diff_url, #previous_distinct_pact_version_url, #provider_webhooks_url, #tag_url, #tags_url, #templated_diff_url, #templated_label_url_for_pacticipant, #templated_tag_url_for_pacticipant, #triggered_webhook_logs_url, #url_encode, #verification_publication_url, #verification_triggered_webhooks_url, #verification_url, #verification_url_from_params, #version_url, #version_url_from_params, #versions_url, #webhook_execution_url, #webhook_url, #webhooks_for_consumer_and_provider_url, #webhooks_for_pact_url, #webhooks_status_url, #webhooks_url

Constructor Details

#initialize(params) ⇒ MatrixTag

Returns a new instance of MatrixTag.



14
15
16
17
18
19
20
# File 'lib/pact_broker/ui/view_models/matrix_tag.rb', line 14

def initialize params
  @name = params[:name]
  @pacticipant_name = params[:pacticipant_name]
  @version_number = params[:version_number]
  @created_at = params[:created_at]
  @latest = !!params[:latest]
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



12
13
14
# File 'lib/pact_broker/ui/view_models/matrix_tag.rb', line 12

def name
  @name
end

#pacticipant_nameObject (readonly)

Returns the value of attribute pacticipant_name.



12
13
14
# File 'lib/pact_broker/ui/view_models/matrix_tag.rb', line 12

def pacticipant_name
  @pacticipant_name
end

#version_numberObject (readonly)

Returns the value of attribute version_number.



12
13
14
# File 'lib/pact_broker/ui/view_models/matrix_tag.rb', line 12

def version_number
  @version_number
end

Instance Method Details

#relative_date(date) ⇒ Object



34
35
36
# File 'lib/pact_broker/ui/view_models/matrix_tag.rb', line 34

def relative_date date
  DateHelper.distance_of_time_in_words(date, DateTime.now) + " ago"
end

#tooltipObject



22
23
24
25
26
27
28
# File 'lib/pact_broker/ui/view_models/matrix_tag.rb', line 22

def tooltip
  if @latest
    "This is the latest version of #{pacticipant_name} with tag \"#{@name}\". Tag created #{relative_date(@created_at)}."
  else
    "Tag created #{relative_date(@created_at)}. A more recent version of #{pacticipant_name} with tag \"#{name}\" exists."
  end
end

#urlObject



30
31
32
# File 'lib/pact_broker/ui/view_models/matrix_tag.rb', line 30

def url
  hal_browser_url("/pacticipants/#{ERB::Util.url_encode(pacticipant_name)}/versions/#{ERB::Util.url_encode(version_number)}/tags/#{ERB::Util.url_encode(name)}")
end