Class: PactBroker::Domain::Pact
- Inherits:
-
Object
- Object
- PactBroker::Domain::Pact
- Defined in:
- lib/pact_broker/domain/pact.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#consumer ⇒ Object
The ID is the pact_publication ID.
-
#consumer_version ⇒ Object
The ID is the pact_publication ID.
-
#consumer_version_number ⇒ Object
The ID is the pact_publication ID.
-
#created_at ⇒ Object
The ID is the pact_publication ID.
-
#head_tag_names ⇒ Object
The ID is the pact_publication ID.
-
#id ⇒ Object
The ID is the pact_publication ID.
-
#json_content ⇒ Object
The ID is the pact_publication ID.
-
#latest_verification ⇒ Object
The ID is the pact_publication ID.
-
#pact_version_sha ⇒ Object
The ID is the pact_publication ID.
-
#provider ⇒ Object
The ID is the pact_publication ID.
-
#revision_number ⇒ Object
The ID is the pact_publication ID.
Instance Method Summary collapse
- #consumer_name ⇒ Object
- #consumer_version_tag_names ⇒ Object
- #content_hash ⇒ Object
-
#initialize(attributes) ⇒ Pact
constructor
A new instance of Pact.
- #latest_consumer_version_tag_names=(latest_consumer_version_tag_names) ⇒ Object
- #name ⇒ Object
- #pact_publication_id ⇒ Object
- #pending? ⇒ Boolean
- #provider_name ⇒ Object
- #select_pending_provider_version_tags(provider_version_tags) ⇒ Object
- #to_json(options = {}) ⇒ Object
- #to_s ⇒ Object
- #version_and_updated_date ⇒ Object
Constructor Details
#initialize(attributes) ⇒ Pact
Returns a new instance of Pact.
15 16 17 18 19 |
# File 'lib/pact_broker/domain/pact.rb', line 15 def initialize attributes attributes.each_pair do | key, value | self.send(key.to_s + "=", value) end end |
Instance Attribute Details
#consumer ⇒ Object
The ID is the pact_publication ID
14 15 16 |
# File 'lib/pact_broker/domain/pact.rb', line 14 def consumer @consumer end |
#consumer_version ⇒ Object
The ID is the pact_publication ID
14 15 16 |
# File 'lib/pact_broker/domain/pact.rb', line 14 def consumer_version @consumer_version end |
#consumer_version_number ⇒ Object
The ID is the pact_publication ID
14 15 16 |
# File 'lib/pact_broker/domain/pact.rb', line 14 def consumer_version_number @consumer_version_number end |
#created_at ⇒ Object
The ID is the pact_publication ID
14 15 16 |
# File 'lib/pact_broker/domain/pact.rb', line 14 def created_at @created_at end |
#head_tag_names ⇒ Object
The ID is the pact_publication ID
14 15 16 |
# File 'lib/pact_broker/domain/pact.rb', line 14 def head_tag_names @head_tag_names end |
#id ⇒ Object
The ID is the pact_publication ID
14 15 16 |
# File 'lib/pact_broker/domain/pact.rb', line 14 def id @id end |
#json_content ⇒ Object
The ID is the pact_publication ID
14 15 16 |
# File 'lib/pact_broker/domain/pact.rb', line 14 def json_content @json_content end |
#latest_verification ⇒ Object
The ID is the pact_publication ID
14 15 16 |
# File 'lib/pact_broker/domain/pact.rb', line 14 def latest_verification @latest_verification end |
#pact_version_sha ⇒ Object
The ID is the pact_publication ID
14 15 16 |
# File 'lib/pact_broker/domain/pact.rb', line 14 def pact_version_sha @pact_version_sha end |
#provider ⇒ Object
The ID is the pact_publication ID
14 15 16 |
# File 'lib/pact_broker/domain/pact.rb', line 14 def provider @provider end |
#revision_number ⇒ Object
The ID is the pact_publication ID
14 15 16 |
# File 'lib/pact_broker/domain/pact.rb', line 14 def revision_number @revision_number end |
Instance Method Details
#consumer_name ⇒ Object
21 22 23 |
# File 'lib/pact_broker/domain/pact.rb', line 21 def consumer_name consumer.name end |
#consumer_version_tag_names ⇒ Object
33 34 35 |
# File 'lib/pact_broker/domain/pact.rb', line 33 def consumer_version_tag_names consumer_version..collect(&:name) end |
#content_hash ⇒ Object
57 58 59 |
# File 'lib/pact_broker/domain/pact.rb', line 57 def content_hash JSON.parse(json_content, PACT_PARSING_OPTIONS) end |
#latest_consumer_version_tag_names=(latest_consumer_version_tag_names) ⇒ Object
37 38 39 |
# File 'lib/pact_broker/domain/pact.rb', line 37 def latest_consumer_version_tag_names= latest_consumer_version_tag_names @latest_consumer_version_tag_names = latest_consumer_version_tag_names end |
#name ⇒ Object
49 50 51 |
# File 'lib/pact_broker/domain/pact.rb', line 49 def name "Pact between #{consumer.name} (#{consumer_version_number}) and #{provider.name}" end |
#pact_publication_id ⇒ Object
61 62 63 |
# File 'lib/pact_broker/domain/pact.rb', line 61 def pact_publication_id id end |
#pending? ⇒ Boolean
69 70 71 |
# File 'lib/pact_broker/domain/pact.rb', line 69 def pending? !pact_version.verified_successfully_by_any_provider_version? end |
#provider_name ⇒ Object
25 26 27 |
# File 'lib/pact_broker/domain/pact.rb', line 25 def provider_name provider.name end |
#select_pending_provider_version_tags(provider_version_tags) ⇒ Object
65 66 67 |
# File 'lib/pact_broker/domain/pact.rb', line 65 def () - db_model.pact_version.() end |
#to_json(options = {}) ⇒ Object
45 46 47 |
# File 'lib/pact_broker/domain/pact.rb', line 45 def to_json = {} json_content end |
#to_s ⇒ Object
41 42 43 |
# File 'lib/pact_broker/domain/pact.rb', line 41 def to_s "Pact: consumer=#{consumer.name} provider=#{provider.name}" end |
#version_and_updated_date ⇒ Object
53 54 55 |
# File 'lib/pact_broker/domain/pact.rb', line 53 def version_and_updated_date "Version #{consumer_version_number} - #{created_at.to_time.localtime.strftime("%d/%m/%Y")}" end |