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.
24 25 26 27 28 |
# File 'lib/pact_broker/domain/pact.rb', line 24 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
12 13 14 |
# File 'lib/pact_broker/domain/pact.rb', line 12 def consumer @consumer end |
#consumer_version ⇒ Object
The ID is the pact_publication ID
12 13 14 |
# File 'lib/pact_broker/domain/pact.rb', line 12 def consumer_version @consumer_version end |
#consumer_version_number ⇒ Object
The ID is the pact_publication ID
12 13 14 |
# File 'lib/pact_broker/domain/pact.rb', line 12 def consumer_version_number @consumer_version_number end |
#created_at ⇒ Object
The ID is the pact_publication ID
12 13 14 |
# File 'lib/pact_broker/domain/pact.rb', line 12 def created_at @created_at end |
#head_tag_names ⇒ Object
The ID is the pact_publication ID
12 13 14 |
# File 'lib/pact_broker/domain/pact.rb', line 12 def head_tag_names @head_tag_names end |
#id ⇒ Object
The ID is the pact_publication ID
12 13 14 |
# File 'lib/pact_broker/domain/pact.rb', line 12 def id @id end |
#json_content ⇒ Object
The ID is the pact_publication ID
12 13 14 |
# File 'lib/pact_broker/domain/pact.rb', line 12 def json_content @json_content end |
#latest_verification ⇒ Object
The ID is the pact_publication ID
12 13 14 |
# File 'lib/pact_broker/domain/pact.rb', line 12 def latest_verification @latest_verification end |
#pact_version_sha ⇒ Object
The ID is the pact_publication ID
12 13 14 |
# File 'lib/pact_broker/domain/pact.rb', line 12 def pact_version_sha @pact_version_sha end |
#provider ⇒ Object
The ID is the pact_publication ID
12 13 14 |
# File 'lib/pact_broker/domain/pact.rb', line 12 def provider @provider end |
#revision_number ⇒ Object
The ID is the pact_publication ID
12 13 14 |
# File 'lib/pact_broker/domain/pact.rb', line 12 def revision_number @revision_number end |
Instance Method Details
#consumer_name ⇒ Object
30 31 32 |
# File 'lib/pact_broker/domain/pact.rb', line 30 def consumer_name consumer.name end |
#consumer_version_tag_names ⇒ Object
42 43 44 |
# File 'lib/pact_broker/domain/pact.rb', line 42 def consumer_version_tag_names consumer_version..collect(&:name) end |
#content_hash ⇒ Object
66 67 68 |
# File 'lib/pact_broker/domain/pact.rb', line 66 def content_hash JSON.parse(json_content, PACT_PARSING_OPTIONS) end |
#latest_consumer_version_tag_names=(latest_consumer_version_tag_names) ⇒ Object
46 47 48 |
# File 'lib/pact_broker/domain/pact.rb', line 46 def latest_consumer_version_tag_names= latest_consumer_version_tag_names @latest_consumer_version_tag_names = latest_consumer_version_tag_names end |
#name ⇒ Object
58 59 60 |
# File 'lib/pact_broker/domain/pact.rb', line 58 def name "Pact between #{consumer.name} (#{consumer_version_number}) and #{provider.name}" end |
#pact_publication_id ⇒ Object
70 71 72 |
# File 'lib/pact_broker/domain/pact.rb', line 70 def pact_publication_id id end |
#pending? ⇒ Boolean
78 79 80 |
# File 'lib/pact_broker/domain/pact.rb', line 78 def pending? !pact_version.verified_successfully_by_any_provider_version? end |
#provider_name ⇒ Object
34 35 36 |
# File 'lib/pact_broker/domain/pact.rb', line 34 def provider_name provider.name end |
#select_pending_provider_version_tags(provider_version_tags) ⇒ Object
74 75 76 |
# File 'lib/pact_broker/domain/pact.rb', line 74 def () - db_model.pact_version.() end |
#to_json(options = {}) ⇒ Object
54 55 56 |
# File 'lib/pact_broker/domain/pact.rb', line 54 def to_json = {} json_content end |
#to_s ⇒ Object
50 51 52 |
# File 'lib/pact_broker/domain/pact.rb', line 50 def to_s "Pact: consumer=#{consumer.name} provider=#{provider.name}" end |
#version_and_updated_date ⇒ Object
62 63 64 |
# File 'lib/pact_broker/domain/pact.rb', line 62 def version_and_updated_date "Version #{consumer_version_number} - #{created_at.to_time.localtime.strftime("%d/%m/%Y")}" end |