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

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

Constant Summary

Constants included from Pacts::Metadata

Pacts::Metadata::MAPPINGS

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Api::PactBrokerUrls

#append_query_if_present, #badge_url_for_latest_pact, #branch_version_url, #consumer_webhooks_url, #currently_deployed_versions_for_environment_url, #currently_supported_versions_for_environment_url, #dashboard_url_for_integration, #decode_pact_metadata, #deployed_version_url, #deployed_versions_for_version_and_environment_url, #encode_metadata, #environment_url, #environments_url, #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_badge_url_for_selectors, #matrix_for_pact_url, #matrix_for_pacticipant_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_version_url_with_webhook_metadata, #pact_version_with_consumer_version_metadata_url, #pact_versions_for_branch_url, #pact_versions_url, #pacticipant_url, #pacticipant_url_from_params, #pacticipants_url, #pacticipants_with_label_url, #previous_distinct_diff_url, #previous_distinct_pact_version_url, #provider_webhooks_url, #record_undeployment_url, #released_version_url, #released_versions_for_version_and_environment_url, #tag_url, #tagged_pact_versions_url, #tags_url, #templated_branch_version_url_for_pacticipant, #templated_can_i_deploy_badge_url, #templated_can_i_deploy_url, #templated_diff_url, #templated_label_url_for_pacticipant, #templated_tag_url_for_pacticipant, #templated_version_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

Methods included from Logging

included, #log_error, #log_with_tag

Methods included from Pacts::Metadata

#build_metadata_for_consumer_version_number, #build_metadata_for_latest_pact, #build_metadata_for_pact_for_verification, #build_metadata_for_webhook_triggered_by_pact_publication, #parse_hash, #parse_metadata, #parse_object

Constructor Details

#initialize(params) ⇒ MatrixTag

Returns a new instance of MatrixTag.



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

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.



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

def name
  @name
end

#pacticipant_nameObject (readonly)

Returns the value of attribute pacticipant_name.



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

def pacticipant_name
  @pacticipant_name
end

#version_numberObject (readonly)

Returns the value of attribute version_number.



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

def version_number
  @version_number
end

Instance Method Details

#relative_date(date) ⇒ Object



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

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

#tooltipObject



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

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



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

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