pact_broker 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +10 -1
- data/README.md +2 -93
- data/lib/pact_broker/api/pacticipant_api.rb +23 -3
- data/lib/pact_broker/api/representors.rb +3 -0
- data/lib/pact_broker/api/representors/pact_broker_urls.rb +34 -0
- data/lib/pact_broker/api/representors/pacticipant_collection_representor.rb +33 -0
- data/lib/pact_broker/api/representors/pacticipant_representor.rb +35 -0
- data/lib/pact_broker/api/representors/version_representor.rb +19 -0
- data/lib/pact_broker/models/pact.rb +3 -0
- data/lib/pact_broker/models/pacticipant.rb +6 -1
- data/lib/pact_broker/models/version.rb +1 -0
- data/lib/pact_broker/repositories/pacticipant_repository.rb +4 -0
- data/lib/pact_broker/services/pacticipant_service.rb +8 -0
- data/lib/pact_broker/version.rb +1 -1
- data/pact_broker.gemspec +5 -4
- data/spec/service_consumers/pact_helper.rb +1 -2
- data/spec/service_consumers/provider_states_for_pact_broker_client.rb +8 -3
- data/tasks/db.rake +1 -0
- metadata +31 -6
data/Gemfile.lock
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
pact_broker (0.0.
|
4
|
+
pact_broker (0.0.2)
|
5
5
|
httparty
|
6
6
|
json
|
7
|
+
roar
|
7
8
|
sequel
|
8
9
|
sinatra
|
9
10
|
sinatra-contrib
|
@@ -49,8 +50,11 @@ GEM
|
|
49
50
|
multi_xml (>= 0.5.2)
|
50
51
|
json (1.8.1)
|
51
52
|
method_source (0.8.2)
|
53
|
+
mini_portile (0.5.1)
|
52
54
|
multi_json (1.8.2)
|
53
55
|
multi_xml (0.5.5)
|
56
|
+
nokogiri (1.6.0)
|
57
|
+
mini_portile (~> 0.5.0)
|
54
58
|
pry (0.9.12.2)
|
55
59
|
coderay (~> 1.0.5)
|
56
60
|
method_source (~> 0.8)
|
@@ -62,6 +66,11 @@ GEM
|
|
62
66
|
rack (>= 1.0)
|
63
67
|
rake (10.0.4)
|
64
68
|
randexp (0.1.7)
|
69
|
+
representable (1.6.1)
|
70
|
+
multi_json
|
71
|
+
nokogiri
|
72
|
+
roar (0.12.0)
|
73
|
+
representable (~> 1.6.0)
|
65
74
|
rspec (2.14.1)
|
66
75
|
rspec-core (~> 2.14.0)
|
67
76
|
rspec-expectations (~> 2.14.0)
|
data/README.md
CHANGED
@@ -1,94 +1,3 @@
|
|
1
|
-
#
|
1
|
+
# Pact Broker
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
Information here will be consumed by the Treasure Map (via the Rumour Mill). Therefore, please retain the existing formatting on this page, importantly:
|
6
|
-
|
7
|
-
* The service name at the top of the page
|
8
|
-
* The location of this description text (between service name and Custodian(s)
|
9
|
-
* Component Custodian(s)
|
10
|
-
|
11
|
-
Other headings can be deleted if they are not relevant.
|
12
|
-
|
13
|
-
**NOTE: The following is provided for convenience. Please check it carefully before your first commit.**
|
14
|
-
|
15
|
-
## Component Custodian(s)
|
16
|
-
|
17
|
-
Enter Custodian(s) here
|
18
|
-
|
19
|
-
## Development
|
20
|
-
|
21
|
-
Enter any developer instructions here.
|
22
|
-
|
23
|
-
### Database setup
|
24
|
-
|
25
|
-
Instructions to set up the database for local testing.
|
26
|
-
|
27
|
-
Then run migrations:
|
28
|
-
|
29
|
-
$ bundle exec rake db:migrate
|
30
|
-
|
31
|
-
### Testing
|
32
|
-
|
33
|
-
$ bundle exec rake
|
34
|
-
|
35
|
-
### Running
|
36
|
-
|
37
|
-
Instructions to run the service locally.
|
38
|
-
|
39
|
-
### Debugging
|
40
|
-
|
41
|
-
Any specific debugging tools built in to the service (health check is assumed so don't include that).
|
42
|
-
|
43
|
-
### Build
|
44
|
-
|
45
|
-
**edit the below and add the correct endpoint**
|
46
|
-
|
47
|
-
[Standalone (Bamboo)](http://master.cd.vpc.realestate.com.au/browse/YOUR_NEW_SERVICE_BUILD)
|
48
|
-
|
49
|
-
## Deployment
|
50
|
-
|
51
|
-
Deployment scripts have been generated using [biq-deploy](https://git.realestate.com.au/business-systems/biq-deploy).
|
52
|
-
|
53
|
-
#### EC2 environments
|
54
|
-
|
55
|
-
Before deploying to EC2 environments, you may wish to check that the build you wish to deploy has been indexed.
|
56
|
-
|
57
|
-
1. Log in into the agent unix box:
|
58
|
-
|
59
|
-
$ rea-ec2-ssh agent-01.biq
|
60
|
-
|
61
|
-
2. See the list of versions indexed and verify the expected version in the list:
|
62
|
-
|
63
|
-
$ yum list --showduplicates --enablerepo=rea-el6-dev pact_broker
|
64
|
-
|
65
|
-
You can get up an running with these scripts like so (from within the pact_broker project on your local machine):
|
66
|
-
|
67
|
-
$ cd deploy
|
68
|
-
$ bundle
|
69
|
-
$ bundle exec bin/pact-broker-deploy-ec2 --help
|
70
|
-
|
71
|
-
When deploying to an EC2 environment for the first time, you must create a node for the app:
|
72
|
-
|
73
|
-
$ bundle exec bin/pact-broker-deploy-ec2 -t create -s $YOUR_SUBDOMAIN -p dev
|
74
|
-
|
75
|
-
The first time the service is deployed, a database must be created. After adding the [required config values](https://git.realestate.com.au/business-systems/pact_broker/blob/master/lib/pact_broker/environment_variables.rb) to the
|
76
|
-
environment's config-svc, you can run the db provision task:
|
77
|
-
|
78
|
-
$ bundle exec bin/pact-broker-deploy-ec2 -t db_provision -s $YOUR_SUBDOMAIN
|
79
|
-
|
80
|
-
Then you are free to migrate the db from then on:
|
81
|
-
|
82
|
-
$ bundle exec bin/pact-broker-deploy-ec2 -t db_migrate -s $YOUR_SUBDOMAIN
|
83
|
-
|
84
|
-
To deploy to a test environment (eg biq-qa1):
|
85
|
-
|
86
|
-
$ bundle exec bin/pact-broker-deploy-ec2 -t deploy -s biq-qa1 -p dev -y
|
87
|
-
|
88
|
-
#### Production
|
89
|
-
|
90
|
-
Refer to the [production deployment readme](https://git.realestate.com.au/business-systems/pact_broker/blob/master/README-ProdDeploy.md).
|
91
|
-
|
92
|
-
### Architecture
|
93
|
-
|
94
|
-
Any important architectural information.
|
3
|
+
The Pact Broker provides a repository for pacts created using the pact gem.
|
@@ -1,13 +1,31 @@
|
|
1
1
|
require_relative 'base_api'
|
2
|
+
require_relative 'representors'
|
2
3
|
|
3
4
|
module PactBroker
|
4
|
-
|
5
5
|
module Api
|
6
6
|
|
7
|
-
|
8
7
|
class PacticipantApi < BaseApi
|
9
8
|
|
9
|
+
get "/pacticipants" do
|
10
|
+
pacticipants = pacticipant_service.find_all_pacticipants
|
11
|
+
pacticipants.extend(Representors::PacticipantCollectionRepresenter)
|
12
|
+
content_type 'application/json+hal;charset=utf-8'
|
13
|
+
pacticipants.to_json
|
14
|
+
end
|
15
|
+
|
10
16
|
namespace '/pacticipants' do
|
17
|
+
|
18
|
+
get '/:name' do
|
19
|
+
pacticipant = pacticipant_service.find_pacticipant_by_name(params[:name])
|
20
|
+
if pacticipant
|
21
|
+
pacticipant.extend(Representors::PacticipantRepresenter)
|
22
|
+
content_type 'application/json+hal;charset=utf-8'
|
23
|
+
pacticipant.to_json
|
24
|
+
else
|
25
|
+
status 404
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
11
29
|
get '/:name/repository_url' do
|
12
30
|
repository_url = pacticipant_service.find_pacticipant_repository_url_by_pacticipant_name(params[:name])
|
13
31
|
if repository_url
|
@@ -25,7 +43,9 @@ module PactBroker
|
|
25
43
|
repository_url: params[:repository_url]
|
26
44
|
)
|
27
45
|
created ? status(201) : status(200)
|
28
|
-
|
46
|
+
pacticipant.extend(Representors::PacticipantRepresenter)
|
47
|
+
content_type 'application/json+hal;charset=utf-8'
|
48
|
+
pacticipant.to_json
|
29
49
|
end
|
30
50
|
end
|
31
51
|
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module PactBroker
|
2
|
+
module Api
|
3
|
+
module PactBrokerUrls
|
4
|
+
|
5
|
+
def base_url
|
6
|
+
"http://localhost:1234"
|
7
|
+
end
|
8
|
+
|
9
|
+
def pacticipants_url
|
10
|
+
"#{base_url}/pacticipants"
|
11
|
+
end
|
12
|
+
|
13
|
+
def pacticipant_url pacticipant
|
14
|
+
"#{pacticipants_url}/#{url_encode(pacticipant.name)}"
|
15
|
+
end
|
16
|
+
|
17
|
+
def last_version_url pacticipant
|
18
|
+
"#{pacticipant_url(pacticipant)}/versions/last"
|
19
|
+
end
|
20
|
+
|
21
|
+
def versions_url pacticipant
|
22
|
+
"#{pacticipant_url(pacticipant)}/versions"
|
23
|
+
end
|
24
|
+
|
25
|
+
def version_url version
|
26
|
+
"#{pacticipant_url(version.pacticipant)}/versions/#{version.number}"
|
27
|
+
end
|
28
|
+
|
29
|
+
def url_encode param
|
30
|
+
ERB::Util.url_encode param
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'roar/representer/json/hal'
|
2
|
+
require_relative 'pact_broker_urls'
|
3
|
+
require_relative 'version_representor'
|
4
|
+
|
5
|
+
module PactBroker
|
6
|
+
|
7
|
+
module Api
|
8
|
+
|
9
|
+
module Representors
|
10
|
+
|
11
|
+
module PacticipantCollectionRepresenter
|
12
|
+
include Roar::Representer::JSON::HAL
|
13
|
+
include PactBroker::Api::PactBrokerUrls
|
14
|
+
|
15
|
+
|
16
|
+
collection :pacticipants, :class => PactBroker::Models::Pacticipant, :extend => PactBroker::Api::Representors::PacticipantRepresenter
|
17
|
+
|
18
|
+
def pacticipants
|
19
|
+
self
|
20
|
+
end
|
21
|
+
|
22
|
+
link :self do
|
23
|
+
pacticipants_url
|
24
|
+
end
|
25
|
+
|
26
|
+
links :pacticipants do
|
27
|
+
collect{ | pacticipant | {:href => pacticipant_url(pacticipant), :name => pacticipant.name } }
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'roar/representer/json/hal'
|
2
|
+
require_relative 'pact_broker_urls'
|
3
|
+
require_relative 'version_representor'
|
4
|
+
|
5
|
+
module PactBroker
|
6
|
+
|
7
|
+
module Api
|
8
|
+
|
9
|
+
module Representors
|
10
|
+
|
11
|
+
module PacticipantRepresenter
|
12
|
+
include Roar::Representer::JSON::HAL
|
13
|
+
include Roar::Representer::JSON::HAL::Links
|
14
|
+
include PactBroker::Api::PactBrokerUrls
|
15
|
+
|
16
|
+
property :name
|
17
|
+
property :repository_url
|
18
|
+
|
19
|
+
property :last_version, :class => PactBroker::Models::Version, :extend => PactBroker::Api::Representors::VersionRepresenter, :embedded => true
|
20
|
+
|
21
|
+
link :self do
|
22
|
+
pacticipant_url(self)
|
23
|
+
end
|
24
|
+
|
25
|
+
link :last_version do
|
26
|
+
last_version_url(self)
|
27
|
+
end
|
28
|
+
|
29
|
+
link :versions do
|
30
|
+
versions_url(self)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'roar/representer/json/hal'
|
2
|
+
require_relative 'pact_broker_urls'
|
3
|
+
|
4
|
+
module PactBroker
|
5
|
+
module Api
|
6
|
+
module Representors
|
7
|
+
module VersionRepresenter
|
8
|
+
include Roar::Representer::JSON::HAL
|
9
|
+
include Roar::Representer::JSON::HAL::Links
|
10
|
+
include PactBroker::Api::PactBrokerUrls
|
11
|
+
property :number
|
12
|
+
|
13
|
+
link :self do
|
14
|
+
version_url(self)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -5,6 +5,9 @@ module PactBroker
|
|
5
5
|
module Models
|
6
6
|
class Pact < Sequel::Model
|
7
7
|
|
8
|
+
associate(:one_to_one, :provider, :class => "PactBroker::Models::Pacticipant", :key => :id, :primary_key => :provider_id)
|
9
|
+
associate(:one_to_one, :consumer_version, :class => "PactBroker::Models::Version", :key => :id, :primary_key => :version_id)
|
10
|
+
|
8
11
|
#Need to work out how to do this properly!
|
9
12
|
def consumer_version_number
|
10
13
|
values[:consumer_version_number]
|
@@ -6,7 +6,12 @@ module PactBroker
|
|
6
6
|
|
7
7
|
class Pacticipant < Sequel::Model
|
8
8
|
|
9
|
-
one_to_many :versions
|
9
|
+
one_to_many :versions, :order => :id, :reciprocal => :pacticipant
|
10
|
+
one_to_many :pacts
|
11
|
+
|
12
|
+
def last_version
|
13
|
+
versions.last
|
14
|
+
end
|
10
15
|
|
11
16
|
def to_s
|
12
17
|
"Pacticipant: id=#{id}, name=#{name}"
|
@@ -9,6 +9,10 @@ module PactBroker
|
|
9
9
|
PactBroker::Models::Pacticipant.where(name: name).single_record
|
10
10
|
end
|
11
11
|
|
12
|
+
def find_all
|
13
|
+
PactBroker::Models::Pacticipant.order(:name).all
|
14
|
+
end
|
15
|
+
|
12
16
|
def find_by_name_or_create name
|
13
17
|
if pacticipant = find_by_name(name)
|
14
18
|
pacticipant
|
@@ -7,6 +7,14 @@ module PactBroker
|
|
7
7
|
|
8
8
|
extend PactBroker::Repositories
|
9
9
|
|
10
|
+
def self.find_all_pacticipants
|
11
|
+
pacticipant_repository.find_all
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.find_pacticipant_by_name name
|
15
|
+
pacticipant_repository.find_by_name(name)
|
16
|
+
end
|
17
|
+
|
10
18
|
def self.find_pacticipant_repository_url_by_pacticipant_name name
|
11
19
|
pacticipant = pacticipant_repository.find_by_name(name)
|
12
20
|
if pacticipant && pacticipant.repository_url
|
data/lib/pact_broker/version.rb
CHANGED
data/pact_broker.gemspec
CHANGED
@@ -7,11 +7,11 @@ require 'pact_broker/version'
|
|
7
7
|
Gem::Specification.new do |gem|
|
8
8
|
gem.name = "pact_broker"
|
9
9
|
gem.version = PactBroker::VERSION
|
10
|
-
gem.authors = ["Bethany Skurrie"]
|
11
|
-
gem.email = ["bskurrie@dius.com.au"]
|
12
|
-
gem.description = %q{
|
10
|
+
gem.authors = ["Bethany Skurrie", "Sergei Matheson", "Warner Godfrey"]
|
11
|
+
gem.email = ["bskurrie@dius.com.au", "serge.matheson@rea-group.com", "warner@warnergodfrey.com"]
|
12
|
+
gem.description = %q{A server that stores and returns pact files generated by the pact gem. It enables head/prod cross testing of the consumer and provider projects.}
|
13
13
|
gem.summary = %q{See description}
|
14
|
-
gem.homepage = "https://github.com/
|
14
|
+
gem.homepage = "https://github.com/DiUS/pact_broker"
|
15
15
|
|
16
16
|
gem.files = `git ls-files`.split($/)
|
17
17
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
@@ -25,6 +25,7 @@ Gem::Specification.new do |gem|
|
|
25
25
|
gem.add_runtime_dependency 'sinatra'
|
26
26
|
gem.add_runtime_dependency 'sinatra-contrib'
|
27
27
|
gem.add_runtime_dependency 'sinatra-param'
|
28
|
+
gem.add_runtime_dependency 'roar'
|
28
29
|
gem.add_runtime_dependency 'sequel'
|
29
30
|
gem.add_runtime_dependency 'sqlite3'
|
30
31
|
|
@@ -32,8 +32,7 @@ Pact.service_provider "Pact Broker" do
|
|
32
32
|
app { PactBroker::API.new }
|
33
33
|
|
34
34
|
honours_pact_with "Pact Broker Client" do
|
35
|
-
pact_uri "
|
36
|
-
# pact_uri "../pact_broker-client/spec/pacts/pact_broker_client-pact_broker.json"
|
35
|
+
pact_uri "../pact_broker-client/spec/pacts/pact_broker_client-pact_broker.json"
|
37
36
|
end
|
38
37
|
|
39
38
|
end
|
@@ -5,7 +5,7 @@ class ProviderStateBuilder
|
|
5
5
|
include PactBroker::Repositories
|
6
6
|
|
7
7
|
def create_pricing_service
|
8
|
-
@pricing_service_id = pacticipant_repository.create(:name => 'Pricing Service', :repository_url => 'git@git.realestate.com.au:business-systems/
|
8
|
+
@pricing_service_id = pacticipant_repository.create(:name => 'Pricing Service', :repository_url => 'git@git.realestate.com.au:business-systems/pricing-service').save(raise_on_save_failure: true).id
|
9
9
|
self
|
10
10
|
end
|
11
11
|
|
@@ -19,6 +19,11 @@ class ProviderStateBuilder
|
|
19
19
|
self
|
20
20
|
end
|
21
21
|
|
22
|
+
def create_pricing_service_version number
|
23
|
+
@pricing_service_version_id = version_repository.create(number: number, pacticipant_id: @pricing_service_id).id
|
24
|
+
self
|
25
|
+
end
|
26
|
+
|
22
27
|
def create_pact
|
23
28
|
@pact_id = pact_repository.create(version_id: @condor_version_id, provider_id: @pricing_service_id, json_content: json_content).id
|
24
29
|
self
|
@@ -50,7 +55,7 @@ Pact.provider_states_for "Pact Broker Client" do
|
|
50
55
|
|
51
56
|
provider_state "the 'Pricing Service' already exists in the pact-broker" do
|
52
57
|
set_up do
|
53
|
-
ProviderStateBuilder.new.create_pricing_service
|
58
|
+
ProviderStateBuilder.new.create_pricing_service.create_pricing_service_version("1.3.0")
|
54
59
|
end
|
55
60
|
end
|
56
61
|
|
@@ -92,7 +97,7 @@ Pact.provider_states_for "Pact Broker Client" do
|
|
92
97
|
|
93
98
|
provider_state "'Condor' exists in the pact-broker" do
|
94
99
|
set_up do
|
95
|
-
ProviderStateBuilder.new.create_condor
|
100
|
+
ProviderStateBuilder.new.create_condor.create_condor_version('1.3.0')
|
96
101
|
end
|
97
102
|
end
|
98
103
|
|
data/tasks/db.rake
CHANGED
metadata
CHANGED
@@ -1,15 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pact_broker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Bethany Skurrie
|
9
|
+
- Sergei Matheson
|
10
|
+
- Warner Godfrey
|
9
11
|
autorequire:
|
10
12
|
bindir: bin
|
11
13
|
cert_chain: []
|
12
|
-
date: 2013-11-
|
14
|
+
date: 2013-11-05 00:00:00.000000000 Z
|
13
15
|
dependencies:
|
14
16
|
- !ruby/object:Gem::Dependency
|
15
17
|
name: httparty
|
@@ -91,6 +93,22 @@ dependencies:
|
|
91
93
|
- - ! '>='
|
92
94
|
- !ruby/object:Gem::Version
|
93
95
|
version: '0'
|
96
|
+
- !ruby/object:Gem::Dependency
|
97
|
+
name: roar
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
99
|
+
none: false
|
100
|
+
requirements:
|
101
|
+
- - ! '>='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
none: false
|
108
|
+
requirements:
|
109
|
+
- - ! '>='
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '0'
|
94
112
|
- !ruby/object:Gem::Dependency
|
95
113
|
name: sequel
|
96
114
|
requirement: !ruby/object:Gem::Requirement
|
@@ -251,10 +269,12 @@ dependencies:
|
|
251
269
|
- - ! '>='
|
252
270
|
- !ruby/object:Gem::Version
|
253
271
|
version: '0'
|
254
|
-
description:
|
272
|
+
description: A server that stores and returns pact files generated by the pact gem.
|
255
273
|
It enables head/prod cross testing of the consumer and provider projects.
|
256
274
|
email:
|
257
275
|
- bskurrie@dius.com.au
|
276
|
+
- serge.matheson@rea-group.com
|
277
|
+
- warner@warnergodfrey.com
|
258
278
|
executables: []
|
259
279
|
extensions: []
|
260
280
|
extra_rdoc_files: []
|
@@ -280,6 +300,11 @@ files:
|
|
280
300
|
- lib/pact_broker/api/index_api.rb
|
281
301
|
- lib/pact_broker/api/pact_api.rb
|
282
302
|
- lib/pact_broker/api/pacticipant_api.rb
|
303
|
+
- lib/pact_broker/api/representors.rb
|
304
|
+
- lib/pact_broker/api/representors/pact_broker_urls.rb
|
305
|
+
- lib/pact_broker/api/representors/pacticipant_collection_representor.rb
|
306
|
+
- lib/pact_broker/api/representors/pacticipant_representor.rb
|
307
|
+
- lib/pact_broker/api/representors/version_representor.rb
|
283
308
|
- lib/pact_broker/db.rb
|
284
309
|
- lib/pact_broker/logging.rb
|
285
310
|
- lib/pact_broker/models.rb
|
@@ -306,7 +331,7 @@ files:
|
|
306
331
|
- tasks/db.rake
|
307
332
|
- tasks/pact.rake
|
308
333
|
- tasks/rspec.rake
|
309
|
-
homepage: https://github.com/
|
334
|
+
homepage: https://github.com/DiUS/pact_broker
|
310
335
|
licenses:
|
311
336
|
- MIT
|
312
337
|
post_install_message:
|
@@ -321,7 +346,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
321
346
|
version: '0'
|
322
347
|
segments:
|
323
348
|
- 0
|
324
|
-
hash:
|
349
|
+
hash: -4491978602397448326
|
325
350
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
326
351
|
none: false
|
327
352
|
requirements:
|
@@ -330,7 +355,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
330
355
|
version: '0'
|
331
356
|
segments:
|
332
357
|
- 0
|
333
|
-
hash:
|
358
|
+
hash: -4491978602397448326
|
334
359
|
requirements: []
|
335
360
|
rubyforge_project:
|
336
361
|
rubygems_version: 1.8.23
|