Class: PactBroker::Domain::Pact

Inherits:
Object
  • Object
show all
Defined in:
lib/pact_broker/domain/pact.rb

Direct Known Subclasses

Pacts::PlaceholderPact

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes) ⇒ Pact

Returns a new instance of Pact.



11
12
13
14
15
# File 'lib/pact_broker/domain/pact.rb', line 11

def initialize attributes
  attributes.each_pair do | key, value |
    self.send(key.to_s + "=", value)
  end
end

Instance Attribute Details

#consumerObject

Returns the value of attribute consumer.



9
10
11
# File 'lib/pact_broker/domain/pact.rb', line 9

def consumer
  @consumer
end

#consumer_versionObject

Returns the value of attribute consumer_version.



9
10
11
# File 'lib/pact_broker/domain/pact.rb', line 9

def consumer_version
  @consumer_version
end

#consumer_version_numberObject

Returns the value of attribute consumer_version_number.



9
10
11
# File 'lib/pact_broker/domain/pact.rb', line 9

def consumer_version_number
  @consumer_version_number
end

#created_atObject

Returns the value of attribute created_at.



9
10
11
# File 'lib/pact_broker/domain/pact.rb', line 9

def created_at
  @created_at
end

#idObject

Returns the value of attribute id.



9
10
11
# File 'lib/pact_broker/domain/pact.rb', line 9

def id
  @id
end

#json_contentObject

Returns the value of attribute json_content.



9
10
11
# File 'lib/pact_broker/domain/pact.rb', line 9

def json_content
  @json_content
end

#latest_verificationObject

Returns the value of attribute latest_verification.



9
10
11
# File 'lib/pact_broker/domain/pact.rb', line 9

def latest_verification
  @latest_verification
end

#pact_version_shaObject

Returns the value of attribute pact_version_sha.



9
10
11
# File 'lib/pact_broker/domain/pact.rb', line 9

def pact_version_sha
  @pact_version_sha
end

#providerObject

Returns the value of attribute provider.



9
10
11
# File 'lib/pact_broker/domain/pact.rb', line 9

def provider
  @provider
end

#revision_numberObject

Returns the value of attribute revision_number.



9
10
11
# File 'lib/pact_broker/domain/pact.rb', line 9

def revision_number
  @revision_number
end

Instance Method Details

#consumer_nameObject



17
18
19
# File 'lib/pact_broker/domain/pact.rb', line 17

def consumer_name
  consumer.name
end

#consumer_version_tag_namesObject



29
30
31
# File 'lib/pact_broker/domain/pact.rb', line 29

def consumer_version_tag_names
  consumer_version.tags.collect(&:name)
end

#content_hashObject



49
50
51
# File 'lib/pact_broker/domain/pact.rb', line 49

def content_hash
  JSON.parse(json_content, PACT_PARSING_OPTIONS)
end

#nameObject



41
42
43
# File 'lib/pact_broker/domain/pact.rb', line 41

def name
  "Pact between #{consumer.name} (v#{consumer_version_number}) and #{provider.name}"
end

#pact_publication_idObject



53
54
55
# File 'lib/pact_broker/domain/pact.rb', line 53

def pact_publication_id
  id
end

#provider_nameObject



21
22
23
# File 'lib/pact_broker/domain/pact.rb', line 21

def provider_name
  provider.name
end

#to_json(options = {}) ⇒ Object



37
38
39
# File 'lib/pact_broker/domain/pact.rb', line 37

def to_json options = {}
  json_content
end

#to_sObject



33
34
35
# File 'lib/pact_broker/domain/pact.rb', line 33

def to_s
  "Pact: consumer=#{consumer.name} provider=#{provider.name}"
end

#version_and_updated_dateObject



45
46
47
# File 'lib/pact_broker/domain/pact.rb', line 45

def version_and_updated_date
  "Version #{consumer_version_number} - #{created_at.to_time.localtime.strftime("%d/%m/%Y")}"
end