Sha256: fdc80e8f4d031bb09377ed488853c9582f0f8b224d399606ca9b9d5d7520df8d

Contents?: true

Size: 1023 Bytes

Versions: 3

Compression:

Stored size: 1023 Bytes

Contents

```rb
require 'pacto'
Pacto.configure do |c|
  c.contracts_path = 'contracts'
end
Pacto.validate!
```

You can create a custom cop that investigates the request/response and sees if it complies with a
contract. The cop should return a list of citations if it finds any problems.

```rb
class MyCustomCop
  def investigate(_request, _response, contract)
    citations = []
    citations << 'Contract must have a request schema' if contract.request.schema.empty?
    citations << 'Contract must have a response schema' if contract.response.schema.empty?
    citations
  end
end

Pacto::Cops.active_cops << MyCustomCop.new

contracts = Pacto.load_contracts('contracts', 'http://localhost:5000')
contracts.stub_providers
puts contracts.simulate_consumers
```

Or you can completely replace the default set of validators

```rb
Pacto::Cops.registered_cops.clear
Pacto::Cops.register_cop Pacto::Cops::ResponseBodyCop

contracts = Pacto.load_contracts('contracts', 'http://localhost:5000')
puts contracts.simulate_consumers
```

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pacto-0.4.0.rc3 docs/cops.md
pacto-0.4.0.rc2 docs/cops.md
pacto-0.4.0.rc1 docs/cops.md