Class: PactBroker::Api::Decorators::ExtendedPactDecorator

Inherits:
PactDecorator show all
Defined in:
lib/pact_broker/api/decorators/extended_pact_decorator.rb

Overview

Make a different content type for adding extra information for the UI, as some pact parsing tools blow up when there are unexpected keys :|

Defined Under Namespace

Classes: TagDecorator

Instance Method Summary collapse

Methods included from Timestamps

#optional_updated_at

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, #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

Instance Method Details

#head_tagsObject



34
35
36
37
38
# File 'lib/pact_broker/api/decorators/extended_pact_decorator.rb', line 34

def head_tags
  represented.head_tag_names.collect do | tag_name |
    OpenStruct.new(name: tag_name, pact: represented)
  end
end

#to_hash(options = {}) ⇒ Object

TODO rather than remove the contract keys that we added in the super class, it would be better to inherit from a shared super class



27
28
29
30
31
32
# File 'lib/pact_broker/api/decorators/extended_pact_decorator.rb', line 27

def to_hash(options = {})
  keys_to_remove = represented.content_hash.keys
  super.each_with_object({}) do | (key, value), new_hash |
    new_hash[key] = value unless keys_to_remove.include?(key)
  end
end