Class: PactBroker::Pacts::PactPublication

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

Instance Method Summary collapse

Instance Method Details

#before_createObject



22
23
24
25
# File 'lib/pact_broker/pacts/pact_publication.rb', line 22

def before_create
  super
  self.revision_number ||= 1
end

#latest_tag_namesObject



27
28
29
# File 'lib/pact_broker/pacts/pact_publication.rb', line 27

def latest_tag_names
  LatestTaggedPactPublications.where(id: id).select(:tag_name).collect{|t| t[:tag_name]}
end

#latest_verificationObject



31
32
33
# File 'lib/pact_broker/pacts/pact_publication.rb', line 31

def latest_verification
  pact_version.latest_verification
end

#to_domainObject



35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/pact_broker/pacts/pact_publication.rb', line 35

def to_domain
  PactBroker::Domain::Pact.new(
    id: id,
    provider: provider,
    consumer: consumer_version.pacticipant,
    consumer_version_number: consumer_version.number,
    consumer_version: to_version_domain,
    revision_number: revision_number,
    json_content: pact_version.content,
    pact_version_sha: pact_version.sha,
    latest_verification: latest_verification,
    created_at: created_at
    )
end

#to_version_domainObject



50
51
52
# File 'lib/pact_broker/pacts/pact_publication.rb', line 50

def to_version_domain
  OpenStruct.new(number: consumer_version.number, pacticipant: consumer_version.pacticipant, tags: consumer_version.tags, order: consumer_version.order)
end