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



113
114
115
116
117
# File 'lib/pact_broker/pacts/all_pact_publications.rb', line 113

def head_tag_names
  # Avoid circular dependency
  require 'pact_broker/pacts/latest_tagged_pact_publications'
  @head_tag_names ||= 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



119
120
121
122
123
# File 'lib/pact_broker/pacts/all_pact_publications.rb', line 119

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
108
109
110
111
# 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,
    latest_verification: pact_version.latest_verification,
    db_model: self
  )
end