Class: Pact::ConsumerContractWriter
- Inherits:
-
Object
- Object
- Pact::ConsumerContractWriter
- Includes:
- ActiveSupportSupport, FileName, PactFile
- Defined in:
- lib/pact/consumer_contract/consumer_contract_writer.rb
Constant Summary collapse
- DEFAULT_PACT_SPECIFICATION_VERSION =
'1.0.0'
Instance Method Summary collapse
- #can_write? ⇒ Boolean
- #consumer_contract ⇒ Object
-
#initialize(consumer_contract_details, logger) ⇒ ConsumerContractWriter
constructor
A new instance of ConsumerContractWriter.
- #write ⇒ Object
Constructor Details
#initialize(consumer_contract_details, logger) ⇒ ConsumerContractWriter
Returns a new instance of ConsumerContractWriter.
21 22 23 24 25 26 27 |
# File 'lib/pact/consumer_contract/consumer_contract_writer.rb', line 21 def initialize consumer_contract_details, logger @logger = logger @consumer_contract_details = consumer_contract_details @pactfile_write_mode = consumer_contract_details.fetch(:pactfile_write_mode, :overwrite).to_sym @interactions = consumer_contract_details.fetch(:interactions) @pact_specification_version = (consumer_contract_details[:pact_specification_version] || DEFAULT_PACT_SPECIFICATION_VERSION).to_s end |
Instance Method Details
#can_write? ⇒ Boolean
41 42 43 |
# File 'lib/pact/consumer_contract/consumer_contract_writer.rb', line 41 def can_write? consumer_name && provider_name && consumer_contract_details[:pact_dir] end |
#consumer_contract ⇒ Object
29 30 31 32 33 34 |
# File 'lib/pact/consumer_contract/consumer_contract_writer.rb', line 29 def consumer_contract @consumer_contract ||= Pact::ConsumerContract.new( consumer: ServiceConsumer.new(name: consumer_contract_details[:consumer][:name]), provider: ServiceProvider.new(name: consumer_contract_details[:provider][:name]), interactions: interactions_for_new_consumer_contract) end |
#write ⇒ Object
36 37 38 39 |
# File 'lib/pact/consumer_contract/consumer_contract_writer.rb', line 36 def write update_pactfile pact_json end |