Class: PactBroker::Pacts::AllPactPublications

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/pact_broker/pacts/all_pact_publications.rb

Direct Known Subclasses

LatestPactPublicationsByConsumerVersion

Instance Method Summary collapse

Instance Method Details

#head_tag_namesObject



122
123
124
# File 'lib/pact_broker/pacts/all_pact_publications.rb', line 122

def head_tag_names
  @head_tag_names ||= PactBroker::Domain::Tag.head_tags_for_pact_publication(self).collect(&:name)
end

#to_domainObject



90
91
92
93
94
# File 'lib/pact_broker/pacts/all_pact_publications.rb', line 90

def to_domain
  domain = to_domain_without_tags
  domain.consumer_version.tags = tags.sort
  domain
end

#to_domain_with_contentObject



126
127
128
129
130
# File 'lib/pact_broker/pacts/all_pact_publications.rb', line 126

def to_domain_with_content
  to_domain.tap do | pact |
    pact.json_content = pact_version.content
  end
end

#to_domain_without_tagsObject



96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# File 'lib/pact_broker/pacts/all_pact_publications.rb', line 96

def to_domain_without_tags
  consumer = Domain::Pacticipant.new(name: consumer_name)
  consumer.id = consumer_id
  provider = Domain::Pacticipant.new(name: provider_name)
  provider.id = provider_id
  consumer_version = OpenStruct.new(
    number: consumer_version_number,
    order: consumer_version_order,
    pacticipant: consumer,
    tags: nil
  )
  Domain::Pact.new(
    id: id,
    consumer: consumer,
    consumer_version: consumer_version,
    provider: provider,
    consumer_version_number: consumer_version_number,
    revision_number: revision_number,
    pact_version_sha: pact_version_sha,
    created_at: created_at,
    head_tag_names: head_tag_names,
    latest_verification: pact_version.latest_verification,
    db_model: self
  )
end