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



109
110
111
112
113
# File 'lib/pact_broker/pacts/all_pact_publications.rb', line 109

def head_tag_names
  # Avoid circular dependency
  require 'pact_broker/pacts/latest_tagged_pact_publications'
  LatestTaggedPactPublications.where(id: id).select(:tag_name).collect{|t| t[:tag_name]}
end

#to_domainObject



81
82
83
84
85
# File 'lib/pact_broker/pacts/all_pact_publications.rb', line 81

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

#to_domain_with_contentObject



115
116
117
118
119
# File 'lib/pact_broker/pacts/all_pact_publications.rb', line 115

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

#to_domain_without_tagsObject



87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# File 'lib/pact_broker/pacts/all_pact_publications.rb', line 87

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,
    db_model: self)
end