Sha256: 36799e09367c5c979e21325fa770c2fbd8ef1d857774305a4627a1ee5e4d3c97
Contents?: true
Size: 1.34 KB
Versions: 4
Compression:
Stored size: 1.34 KB
Contents
require "pacto/version" require "httparty" require "hash_deep_merge" require "json" require "json-schema" require "json-generator" require "webmock" require "ostruct" require "erb" require "pacto/extensions" require "pacto/request" require "pacto/response_adapter" require "pacto/response" require "pacto/instantiated_contract" require "pacto/contract" require "pacto/file_pre_processor" module Pacto def self.build_from_file(contract_path, host, file_pre_processor=FilePreProcessor.new) contract_definition_expanded = file_pre_processor.process(File.read(contract_path)) definition = JSON.parse(contract_definition_expanded) request = Request.new(host, definition["request"]) response = Response.new(definition["response"]) Contract.new(request, response) end def self.register(name, contract) raise ArgumentError, "contract \" #{name}\" has already been registered" if registered.has_key?(name) registered[name] = contract end def self.use(contract_name, values = nil) raise ArgumentError, "contract \"#{contract_name}\" not found" unless registered.has_key?(contract_name) instantiated_contract = registered[contract_name].instantiate(values) instantiated_contract.stub! instantiated_contract end def self.registered @registered ||= {} end def self.unregister_all! @registered = {} end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
pacto-0.2.0 | lib/pacto.rb |
pacto-0.1.1 | lib/pacto.rb |
pacto-0.1.0 | lib/pacto.rb |
pacto-0.0.1 | lib/pacto.rb |