Class: PactBroker::Api::Decorators::MatrixDecorator

Inherits:
Object
  • Object
show all
Includes:
FormatDateTime, PactBrokerUrls
Defined in:
lib/pact_broker/api/decorators/matrix_decorator.rb

Instance Method Summary collapse

Methods included from FormatDateTime

call, #format_date_time

Methods included from PactBrokerUrls

#badge_url_for_latest_pact, #build_webhook_metadata, #consumer_webhooks_url, #dashboard_url_for_integration, #decode_webhook_metadata, #encode_webhook_metadata, #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_versions_url, #pacticipant_url, #pacticipant_url_from_params, #pacticipants_url, #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

Methods included from Pacts::Metadata

#build_metadata_for_latest_pact, #build_metadata_for_webhook_triggered_by_pact_publication

Constructor Details

#initialize(query_results_with_deployment_status_summary) ⇒ MatrixDecorator

Returns a new instance of MatrixDecorator.



13
14
15
# File 'lib/pact_broker/api/decorators/matrix_decorator.rb', line 13

def initialize(query_results_with_deployment_status_summary)
  @query_results_with_deployment_status_summary = query_results_with_deployment_status_summary
end

Instance Method Details

#deployableObject



34
35
36
# File 'lib/pact_broker/api/decorators/matrix_decorator.rb', line 34

def deployable
  query_results_with_deployment_status_summary.deployment_status_summary.deployable?
end

#reasonObject



38
39
40
41
42
43
44
# File 'lib/pact_broker/api/decorators/matrix_decorator.rb', line 38

def reason
  query_results_with_deployment_status_summary
    .deployment_status_summary
    .reasons
    .collect{ | reason | ReasonDecorator.new(reason).to_s }
    .join("\n")
end

#to_hash(options) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/pact_broker/api/decorators/matrix_decorator.rb', line 21

def to_hash(options)
  {
    summary: {
      deployable: deployable,
      reason: reason
    },
    matrix: matrix(options[:user_options][:base_url])
  }.tap do | hash |
    hash[:summary].merge!(query_results_with_deployment_status_summary.deployment_status_summary.counts)
  end

end

#to_json(options) ⇒ Object



17
18
19
# File 'lib/pact_broker/api/decorators/matrix_decorator.rb', line 17

def to_json(options)
  to_hash(options).to_json
end