pact 1.9.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 510d58c42f3fd2cdb9682547577a52749055aaab
4
- data.tar.gz: f3d9773a090e6e9672b025f816d3b7f752128f68
3
+ metadata.gz: 9378cd5f3e2ab7ab08e17c560a84552ffacfcc03
4
+ data.tar.gz: 1b71020e0ccd0bfed0d0a441011d94c6b606dbd4
5
5
  SHA512:
6
- metadata.gz: 1b24f7ace1aaaf2134c049f22bf3ca3536f968b955c01c8fe9d26cdb035425a70cc95875f114ab9ecc66aa77a612ab99579406bdb3288d3b7f6bbe0c3ed8447c
7
- data.tar.gz: cf3fe151dc45cc00f394c7f453fe28e1922d86397a76aaa683b5a7ee6593575a181cb0e054e6f90fa3b7dd0d33138ff7f6370b0bff4033147cd154fa7d8cd27a
6
+ metadata.gz: 8c2cf217850f8f2f352a46721f568a2f0cca9fe87df3a4730eaeecace556dd9cdbf7a65233cf5cf00caabace898d77f9f86ac73129393cc71c18809349c5f4fc
7
+ data.tar.gz: edddf39dd4748d0e07a235737289bbccd040c8f16c5a5d3f5a441583fb651b3c20e9521fbb91e15b5d0111e0dd2e7d3d3d9a4da02497551c237972f27c5f9878
data/CHANGELOG.md CHANGED
@@ -2,6 +2,41 @@ Do this to generate your change history
2
2
 
3
3
  git log --pretty=format:' * %h - %s (%an, %ad)' vX.Y.Z..HEAD
4
4
 
5
+ ## 1.10.0 (14 Nov 2016)
6
+ * 1e8c0bc - Updating pact-support and pact-mock_service versions (Beth Skurrie, Mon Nov 14 10:16:38 2016 +1100)
7
+
8
+ ## 1.9.6 (12 Nov 2016)
9
+ * 63d4b81 - Fix bug in default interactions replay order (Yury Tsarev, Sat Nov 12 17:53:14 2016 +1100)
10
+
11
+ ## 1.9.5 (9 Nov 2016)
12
+ * b794881 - Read template file with script encoding (Taiki Ono, Wed Nov 2 20:18:50 2016 +0900)
13
+
14
+ ### 1.9.4 (19 Aug 2016)
15
+ * 93a1c42 - Ensure consumer level teardown gets called when set up is not defined. https://github.com/realestate-com-au/pact/issues/111 (Beth Skurrie, Fri Aug 19 08:56:20 2016 +1000)
16
+
17
+ ### 1.9.3 (27 Jun 2016)
18
+ * edb2208 - Clarify that pact will only work with ruby >= 2.0 (Sergei Matheson, Mon Jun 27 10:53:08 2016 +1000)
19
+ * 52de989 - remove duplicated `--backtrace` option (Takuto Wada, Tue Jun 7 15:51:12 2016 +0900)
20
+
21
+ ### 1.9.2 (26 May 2016)
22
+ * 88741ac - Merge pull request #104 from reevoo/randomise_contract_interactions (Sergei Matheson, Thu May 26 15:09:31 2016 +1000)
23
+ * 67c2b30 - Add interactions_replay_order and pactfile_write_order into Pact.configuration (Alex Malkov, Tue May 10 01:44:04 2016 +0100)
24
+ * 983a505 - Merge pull request #105 from elgalu/patch-2 (Beth Skurrie, Thu May 12 07:52:21 2016 +1000)
25
+ * 60d8b5c - "to need to need" README.md typo (Leo Gallucci, Wed May 11 17:39:49 2016 +0200)
26
+ * 2cb57f7 - Test on ruby 2.3.1 (Sergei Matheson, Tue May 3 16:37:40 2016 +1000)
27
+ * 4594a97 - Use at least v0.5.7 of pact-support (Sergei Matheson, Tue May 3 16:36:39 2016 +1000)
28
+
29
+ ### 1.9.1 (3 May 2016)
30
+ * b3409a7 - Accept nil port as find and use available port (Taiki Ono, Wed Mar 16 19:34:46 2016 +0900)
31
+ * a7f644f - Update README URLs based on HTTP redirects (ReadmeCritic, Mon Mar 14 07:03:52 2016 -0700)
32
+ * 9cbf0f0 - Load missing dependent library (Taiki Ono, Mon Mar 14 17:43:13 2016 +0900)
33
+ * 34e6ef9 - Update Travis CI setting with new Rubies (Taiki Ono, Sun Mar 13 21:11:27 2016 +0900)
34
+ * 04f80c4 - Update doc about pactfile_write_mode (Taiki Ono, Thu Mar 3 14:25:49 2016 +0900)
35
+ * a1c8b6d - Add instructions to put pact gem in Gemfile. (Beth Skurrie, Thu Nov 5 11:16:38 2015 +1100)
36
+ * 5f76726 - Escape markdown characters in description and provider state (Beth, Thu Oct 22 09:07:53 2015 +1100)
37
+ * 4922ad3 - README.md tiny typo (Leo Gallucci, Tue Sep 8 13:33:58 2015 +0200)
38
+ * f4f7276 - there is no attr_reader for :name (Jacob Evans, Mon Jul 27 15:05:31 2015 +1000)
39
+
5
40
  ### 1.9.0 (10 July 2015)
6
41
 
7
42
  * 3e9f310 - Include Pact helper methods to create Terms, ArrayLikes and SomethingLikes. (Beth Skurrie, Fri Jul 10 13:33:50 2015 +1000)
data/lib/pact/cli.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require 'thor'
2
2
  require 'pact/consumer/configuration'
3
+ require 'pact/provider/configuration'
3
4
 
4
5
  module Pact
5
6
  class CLI < Thor
@@ -10,6 +11,9 @@ module Pact
10
11
  method_option :pact_broker_username, aliases: "-u", desc: "Pact broker user name"
11
12
  method_option :pact_broker_password, aliases: "-w", desc: "Pact broker password"
12
13
  method_option :backtrace, aliases: "-b", desc: "Show full backtrace", :default => false, :type => :boolean
14
+ method_option :interactions_replay_order, aliases: "-o",
15
+ desc: "Interactions replay order: randomised or recorded (default)",
16
+ default: Pact.configuration.interactions_replay_order
13
17
  method_option :description, aliases: "-d", desc: "Interaction description filter"
14
18
  method_option :provider_state, aliases: "-s", desc: "Provider state filter"
15
19
 
@@ -70,6 +70,14 @@ module Pact
70
70
  @pactfile_write_mode = pactfile_write_mode
71
71
  end
72
72
 
73
+ def pactfile_write_order
74
+ @pactfile_write_order ||= :chronological #or :alphabetical
75
+ end
76
+
77
+ def pactfile_write_order= pactfile_write_order
78
+ @pactfile_write_order = pactfile_write_order.to_sym
79
+ end
80
+
73
81
  private
74
82
 
75
83
  #Would love a better way of determining this! It sure won't work on windows.
@@ -1,3 +1,4 @@
1
+ require 'pact/mock_service/version'
1
2
  require 'pact/mock_service/app_manager'
2
3
  require 'pact/consumer/consumer_contract_builder'
3
4
  require 'pact/consumer/consumer_contract_builders'
@@ -20,6 +21,7 @@ module Pact
20
21
  @standalone = false
21
22
  @verify = true
22
23
  @pact_specification_version = nil
24
+ @finalized = false
23
25
  end
24
26
 
25
27
  dsl do
@@ -41,16 +43,20 @@ module Pact
41
43
  end
42
44
 
43
45
  def finalize
44
- validate
46
+ raise 'Already finalized!' if @finalized
45
47
  register_mock_service
46
48
  configure_consumer_contract_builder
49
+ @finalized = true
47
50
  end
48
51
 
49
52
  private
50
53
 
51
54
  def register_mock_service
52
55
  unless standalone
53
- Pact::MockService::AppManager.instance.register_mock_service_for provider_name, "http://localhost:#{port}", mock_service_options
56
+ url = "http://localhost#{port.nil? ? '' : ":#{port}"}"
57
+ ret = Pact::MockService::AppManager.instance.register_mock_service_for(provider_name, url, mock_service_options)
58
+ raise "pact-mock_service(v#{Pact::MockService::VERSION}) does not support 'find available port' feature" unless ret
59
+ @port = ret
54
60
  end
55
61
  end
56
62
 
@@ -88,14 +94,13 @@ module Pact
88
94
  Pact.consumer_world.add_consumer_contract_builder consumer_contract_builder
89
95
  end
90
96
 
91
- def validate
92
- raise "Please provide a port for service #{name}" unless port
93
- end
94
-
95
97
  def mock_service_options
96
- { pact_specification_version: pact_specification_version }
98
+ {
99
+ pact_specification_version: pact_specification_version,
100
+ find_available_port: port.nil?,
101
+ }
97
102
  end
98
103
  end
99
104
  end
100
105
  end
101
- end
106
+ end
@@ -51,7 +51,9 @@ module Pact
51
51
  mock_service_client.wait_for_interactions wait_max_seconds, poll_interval
52
52
  end
53
53
 
54
+ # @raise Pact::InvalidInteractionError
54
55
  def handle_interaction_fully_defined interaction
56
+ interaction.validate!
55
57
  mock_service_client.add_expected_interaction interaction #TODO: What will happen if duplicate added?
56
58
  self.interaction_builder = nil
57
59
  end
@@ -65,7 +67,7 @@ module Pact
65
67
  @interaction_builder ||=
66
68
  begin
67
69
  interaction_builder = InteractionBuilder.new do | interaction |
68
- self.handle_interaction_fully_defined(interaction)
70
+ handle_interaction_fully_defined(interaction)
69
71
  end
70
72
  interaction_builder
71
73
  end
@@ -49,12 +49,12 @@ module Pact
49
49
  end
50
50
 
51
51
  def provider_state start_of_sentence = false
52
- apply_capitals(@interaction.provider_state.strip, start_of_sentence)
52
+ markdown_escape apply_capitals(@interaction.provider_state.strip, start_of_sentence)
53
53
  end
54
54
 
55
55
  def description start_of_sentence = false
56
56
  return '' unless @interaction.description
57
- apply_capitals(@interaction.description.strip, start_of_sentence)
57
+ markdown_escape apply_capitals(@interaction.description.strip, start_of_sentence)
58
58
  end
59
59
 
60
60
  def request
@@ -116,6 +116,7 @@ module Pact
116
116
  end
117
117
 
118
118
  def markdown_escape string
119
+ return nil unless string
119
120
  string.gsub('*','\*').gsub('_','\_')
120
121
  end
121
122
  end
@@ -1,3 +1,4 @@
1
+ require 'erb'
1
2
  require 'pact/doc/interaction_view_model'
2
3
 
3
4
  module Pact
@@ -24,8 +25,12 @@ module Pact
24
25
  ERB.new(template_string(template_file)).result(binding)
25
26
  end
26
27
 
28
+ # The template file is written with only ASCII range characters, so we
29
+ # can read as UTF-8. But rendered strings must have same encoding as
30
+ # script encoding because it will joined to strings which are produced by
31
+ # string literal.
27
32
  def template_string(template_file)
28
- File.read( template_contents(template_file) )
33
+ File.read(template_contents(template_file), external_encoding: Encoding::UTF_8).force_encoding(__ENCODING__)
29
34
  end
30
35
 
31
36
  def template_contents(template_file)
@@ -35,4 +40,4 @@ module Pact
35
40
  end
36
41
  end
37
42
  end
38
- end
43
+ end
@@ -29,6 +29,14 @@ module Pact
29
29
  @config_ru_path = config_ru_path
30
30
  end
31
31
 
32
+ def interactions_replay_order
33
+ @interactions_replay_order ||= :recorded #or :random
34
+ end
35
+
36
+ def interactions_replay_order= interactions_replay_order
37
+ @interactions_replay_order = interactions_replay_order.to_sym
38
+ end
39
+
32
40
  def include mod
33
41
  Pact::Provider::State::ProviderStateConfiguredModules.instance_eval do
34
42
  include mod
@@ -38,4 +46,4 @@ module Pact
38
46
  end
39
47
  end
40
48
  end
41
- end
49
+ end
@@ -121,10 +121,18 @@ module Pact
121
121
  options = {
122
122
  criteria: @options[:criteria]
123
123
  }
124
- honour_pactfile pact_source.uri, pact_source.pact_json, options
124
+ honour_pactfile pact_source.uri, ordered_pact_json(pact_source.pact_json), options
125
125
  end
126
126
  end
127
127
 
128
+ def ordered_pact_json(pact_json)
129
+ return pact_json if Pact.configuration.interactions_replay_order == :recorded
130
+
131
+ consumer_contract = JSON.parse(pact_json)
132
+ consumer_contract["interactions"] = consumer_contract["interactions"].shuffle
133
+ consumer_contract.to_json
134
+ end
135
+
128
136
  def class_exists? name
129
137
  Kernel.const_get name
130
138
  rescue NameError
@@ -33,8 +33,8 @@ module Pact
33
33
 
34
34
  def self.base_provider_state
35
35
  fullname = namespaced_name BASE_PROVIDER_STATE_NAME, {:for => current_namespaces.first }
36
- provider_states[fullname] ||
37
- ProviderState.new(BASE_PROVIDER_STATE_NAME, current_namespaces.join('.'))
36
+ provider_states[fullname] ||= ProviderState.new(BASE_PROVIDER_STATE_NAME, current_namespaces.join('.'))
37
+ provider_states[fullname]
38
38
  end
39
39
 
40
40
  def self.register name, provider_state
@@ -28,7 +28,6 @@ module Pact
28
28
  command_parts << "--pact-broker-username" << ENV['PACT_BROKER_USERNAME'] if ENV['PACT_BROKER_USERNAME']
29
29
  command_parts << "--pact-broker-password" << ENV['PACT_BROKER_PASSWORD'] if ENV['PACT_BROKER_PASSWORD']
30
30
  command_parts << "--backtrace" if ENV['BACKTRACE'] == 'true'
31
- command_parts << "--backtrace" if ENV['BACKTRACE'] == 'true'
32
31
  command_parts << "--description #{Shellwords.escape(ENV['PACT_DESCRIPTION'])}" if ENV['PACT_DESCRIPTION']
33
32
  command_parts << "--provider-state #{Shellwords.escape(ENV['PACT_PROVIDER_STATE'])}" if ENV['PACT_PROVIDER_STATE']
34
33
  command_parts.flatten.join(" ")
data/lib/pact/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Pact
2
- VERSION = "1.9.0"
2
+ VERSION = "1.10.0"
3
3
  end
data/pact.gemspec CHANGED
@@ -12,6 +12,8 @@ Gem::Specification.new do |gem|
12
12
  gem.summary = %q{Enables consumer driven contract testing, providing a mock service and DSL for the consumer project, and interaction playback and verification for the service provider project.}
13
13
  gem.homepage = "https://github.com/realestate-com-au/pact"
14
14
 
15
+ gem.required_ruby_version = '>= 2.0'
16
+
15
17
  gem.files = `git ls-files bin lib pact.gemspec CHANGELOG.md LICENSE.txt`.split($/)
16
18
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
19
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
@@ -20,16 +22,14 @@ Gem::Specification.new do |gem|
20
22
 
21
23
  gem.add_runtime_dependency 'randexp', '~> 0.1.7'
22
24
  gem.add_runtime_dependency 'rspec', '>=2.14'
23
- gem.add_runtime_dependency 'find_a_port', '~> 1.0.1'
24
25
  gem.add_runtime_dependency 'rack-test', '~> 0.6.2'
25
- gem.add_runtime_dependency 'awesome_print', '~> 1.1'
26
26
  gem.add_runtime_dependency 'thor'
27
27
  gem.add_runtime_dependency 'json' #Not locking down a version because buncher gem requires 1.6, while other projects use 1.7.
28
28
  gem.add_runtime_dependency 'webrick'
29
29
  gem.add_runtime_dependency 'term-ansicolor', '~> 1.0'
30
30
 
31
- gem.add_runtime_dependency 'pact-support', '~> 0.5'
32
- gem.add_runtime_dependency 'pact-mock_service', '~> 0.7'
31
+ gem.add_runtime_dependency 'pact-support', '~> 0.6'
32
+ gem.add_runtime_dependency 'pact-mock_service', '~> 0.11'
33
33
 
34
34
  gem.add_development_dependency 'rake', '~> 10.0.3'
35
35
  gem.add_development_dependency 'webmock', '~> 1.18.0'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pact
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.0
4
+ version: 1.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Fraser
@@ -9,280 +9,250 @@ authors:
9
9
  - Brent Snook
10
10
  - Ronald Holshausen
11
11
  - Beth Skurrie
12
- autorequire:
12
+ autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2015-07-10 00:00:00.000000000 Z
15
+ date: 2016-11-15 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: randexp
19
- requirement: !ruby/object:Gem::Requirement
19
+ version_requirements: !ruby/object:Gem::Requirement
20
20
  requirements:
21
21
  - - "~>"
22
22
  - !ruby/object:Gem::Version
23
23
  version: 0.1.7
24
- type: :runtime
25
- prerelease: false
26
- version_requirements: !ruby/object:Gem::Requirement
24
+ requirement: !ruby/object:Gem::Requirement
27
25
  requirements:
28
26
  - - "~>"
29
27
  - !ruby/object:Gem::Version
30
28
  version: 0.1.7
29
+ prerelease: false
30
+ type: :runtime
31
31
  - !ruby/object:Gem::Dependency
32
32
  name: rspec
33
- requirement: !ruby/object:Gem::Requirement
34
- requirements:
35
- - - ">="
36
- - !ruby/object:Gem::Version
37
- version: '2.14'
38
- type: :runtime
39
- prerelease: false
40
33
  version_requirements: !ruby/object:Gem::Requirement
41
34
  requirements:
42
35
  - - ">="
43
36
  - !ruby/object:Gem::Version
44
37
  version: '2.14'
45
- - !ruby/object:Gem::Dependency
46
- name: find_a_port
47
38
  requirement: !ruby/object:Gem::Requirement
48
39
  requirements:
49
- - - "~>"
40
+ - - ">="
50
41
  - !ruby/object:Gem::Version
51
- version: 1.0.1
52
- type: :runtime
42
+ version: '2.14'
53
43
  prerelease: false
54
- version_requirements: !ruby/object:Gem::Requirement
55
- requirements:
56
- - - "~>"
57
- - !ruby/object:Gem::Version
58
- version: 1.0.1
44
+ type: :runtime
59
45
  - !ruby/object:Gem::Dependency
60
46
  name: rack-test
61
- requirement: !ruby/object:Gem::Requirement
62
- requirements:
63
- - - "~>"
64
- - !ruby/object:Gem::Version
65
- version: 0.6.2
66
- type: :runtime
67
- prerelease: false
68
47
  version_requirements: !ruby/object:Gem::Requirement
69
48
  requirements:
70
49
  - - "~>"
71
50
  - !ruby/object:Gem::Version
72
51
  version: 0.6.2
73
- - !ruby/object:Gem::Dependency
74
- name: awesome_print
75
52
  requirement: !ruby/object:Gem::Requirement
76
53
  requirements:
77
54
  - - "~>"
78
55
  - !ruby/object:Gem::Version
79
- version: '1.1'
80
- type: :runtime
56
+ version: 0.6.2
81
57
  prerelease: false
58
+ type: :runtime
59
+ - !ruby/object:Gem::Dependency
60
+ name: thor
82
61
  version_requirements: !ruby/object:Gem::Requirement
83
62
  requirements:
84
- - - "~>"
63
+ - - ">="
85
64
  - !ruby/object:Gem::Version
86
- version: '1.1'
87
- - !ruby/object:Gem::Dependency
88
- name: thor
65
+ version: '0'
89
66
  requirement: !ruby/object:Gem::Requirement
90
67
  requirements:
91
68
  - - ">="
92
69
  - !ruby/object:Gem::Version
93
70
  version: '0'
94
- type: :runtime
95
71
  prerelease: false
72
+ type: :runtime
73
+ - !ruby/object:Gem::Dependency
74
+ name: json
96
75
  version_requirements: !ruby/object:Gem::Requirement
97
76
  requirements:
98
77
  - - ">="
99
78
  - !ruby/object:Gem::Version
100
79
  version: '0'
101
- - !ruby/object:Gem::Dependency
102
- name: json
103
80
  requirement: !ruby/object:Gem::Requirement
104
81
  requirements:
105
82
  - - ">="
106
83
  - !ruby/object:Gem::Version
107
84
  version: '0'
108
- type: :runtime
109
85
  prerelease: false
86
+ type: :runtime
87
+ - !ruby/object:Gem::Dependency
88
+ name: webrick
110
89
  version_requirements: !ruby/object:Gem::Requirement
111
90
  requirements:
112
91
  - - ">="
113
92
  - !ruby/object:Gem::Version
114
93
  version: '0'
115
- - !ruby/object:Gem::Dependency
116
- name: webrick
117
94
  requirement: !ruby/object:Gem::Requirement
118
95
  requirements:
119
96
  - - ">="
120
97
  - !ruby/object:Gem::Version
121
98
  version: '0'
122
- type: :runtime
123
99
  prerelease: false
100
+ type: :runtime
101
+ - !ruby/object:Gem::Dependency
102
+ name: term-ansicolor
124
103
  version_requirements: !ruby/object:Gem::Requirement
125
104
  requirements:
126
- - - ">="
105
+ - - "~>"
127
106
  - !ruby/object:Gem::Version
128
- version: '0'
129
- - !ruby/object:Gem::Dependency
130
- name: term-ansicolor
107
+ version: '1.0'
131
108
  requirement: !ruby/object:Gem::Requirement
132
109
  requirements:
133
110
  - - "~>"
134
111
  - !ruby/object:Gem::Version
135
112
  version: '1.0'
136
- type: :runtime
137
113
  prerelease: false
114
+ type: :runtime
115
+ - !ruby/object:Gem::Dependency
116
+ name: pact-support
138
117
  version_requirements: !ruby/object:Gem::Requirement
139
118
  requirements:
140
119
  - - "~>"
141
120
  - !ruby/object:Gem::Version
142
- version: '1.0'
143
- - !ruby/object:Gem::Dependency
144
- name: pact-support
121
+ version: '0.6'
145
122
  requirement: !ruby/object:Gem::Requirement
146
123
  requirements:
147
124
  - - "~>"
148
125
  - !ruby/object:Gem::Version
149
- version: '0.5'
150
- type: :runtime
126
+ version: '0.6'
151
127
  prerelease: false
128
+ type: :runtime
129
+ - !ruby/object:Gem::Dependency
130
+ name: pact-mock_service
152
131
  version_requirements: !ruby/object:Gem::Requirement
153
132
  requirements:
154
133
  - - "~>"
155
134
  - !ruby/object:Gem::Version
156
- version: '0.5'
157
- - !ruby/object:Gem::Dependency
158
- name: pact-mock_service
135
+ version: '0.11'
159
136
  requirement: !ruby/object:Gem::Requirement
160
137
  requirements:
161
138
  - - "~>"
162
139
  - !ruby/object:Gem::Version
163
- version: '0.7'
164
- type: :runtime
140
+ version: '0.11'
165
141
  prerelease: false
166
- version_requirements: !ruby/object:Gem::Requirement
167
- requirements:
168
- - - "~>"
169
- - !ruby/object:Gem::Version
170
- version: '0.7'
142
+ type: :runtime
171
143
  - !ruby/object:Gem::Dependency
172
144
  name: rake
173
- requirement: !ruby/object:Gem::Requirement
145
+ version_requirements: !ruby/object:Gem::Requirement
174
146
  requirements:
175
147
  - - "~>"
176
148
  - !ruby/object:Gem::Version
177
149
  version: 10.0.3
178
- type: :development
179
- prerelease: false
180
- version_requirements: !ruby/object:Gem::Requirement
150
+ requirement: !ruby/object:Gem::Requirement
181
151
  requirements:
182
152
  - - "~>"
183
153
  - !ruby/object:Gem::Version
184
154
  version: 10.0.3
155
+ prerelease: false
156
+ type: :development
185
157
  - !ruby/object:Gem::Dependency
186
158
  name: webmock
187
- requirement: !ruby/object:Gem::Requirement
159
+ version_requirements: !ruby/object:Gem::Requirement
188
160
  requirements:
189
161
  - - "~>"
190
162
  - !ruby/object:Gem::Version
191
163
  version: 1.18.0
192
- type: :development
193
- prerelease: false
194
- version_requirements: !ruby/object:Gem::Requirement
164
+ requirement: !ruby/object:Gem::Requirement
195
165
  requirements:
196
166
  - - "~>"
197
167
  - !ruby/object:Gem::Version
198
168
  version: 1.18.0
169
+ prerelease: false
170
+ type: :development
199
171
  - !ruby/object:Gem::Dependency
200
172
  name: pry
201
- requirement: !ruby/object:Gem::Requirement
173
+ version_requirements: !ruby/object:Gem::Requirement
202
174
  requirements:
203
175
  - - ">="
204
176
  - !ruby/object:Gem::Version
205
177
  version: '0'
206
- type: :development
207
- prerelease: false
208
- version_requirements: !ruby/object:Gem::Requirement
178
+ requirement: !ruby/object:Gem::Requirement
209
179
  requirements:
210
180
  - - ">="
211
181
  - !ruby/object:Gem::Version
212
182
  version: '0'
183
+ prerelease: false
184
+ type: :development
213
185
  - !ruby/object:Gem::Dependency
214
186
  name: fakefs
215
- requirement: !ruby/object:Gem::Requirement
187
+ version_requirements: !ruby/object:Gem::Requirement
216
188
  requirements:
217
189
  - - '='
218
190
  - !ruby/object:Gem::Version
219
191
  version: '0.5'
220
- type: :development
221
- prerelease: false
222
- version_requirements: !ruby/object:Gem::Requirement
192
+ requirement: !ruby/object:Gem::Requirement
223
193
  requirements:
224
194
  - - '='
225
195
  - !ruby/object:Gem::Version
226
196
  version: '0.5'
197
+ prerelease: false
198
+ type: :development
227
199
  - !ruby/object:Gem::Dependency
228
200
  name: hashie
229
- requirement: !ruby/object:Gem::Requirement
201
+ version_requirements: !ruby/object:Gem::Requirement
230
202
  requirements:
231
203
  - - "~>"
232
204
  - !ruby/object:Gem::Version
233
205
  version: '2.0'
234
- type: :development
235
- prerelease: false
236
- version_requirements: !ruby/object:Gem::Requirement
206
+ requirement: !ruby/object:Gem::Requirement
237
207
  requirements:
238
208
  - - "~>"
239
209
  - !ruby/object:Gem::Version
240
210
  version: '2.0'
211
+ prerelease: false
212
+ type: :development
241
213
  - !ruby/object:Gem::Dependency
242
214
  name: activesupport
243
- requirement: !ruby/object:Gem::Requirement
215
+ version_requirements: !ruby/object:Gem::Requirement
244
216
  requirements:
245
217
  - - ">="
246
218
  - !ruby/object:Gem::Version
247
219
  version: '0'
248
- type: :development
249
- prerelease: false
250
- version_requirements: !ruby/object:Gem::Requirement
220
+ requirement: !ruby/object:Gem::Requirement
251
221
  requirements:
252
222
  - - ">="
253
223
  - !ruby/object:Gem::Version
254
224
  version: '0'
225
+ prerelease: false
226
+ type: :development
255
227
  - !ruby/object:Gem::Dependency
256
228
  name: faraday
257
- requirement: !ruby/object:Gem::Requirement
229
+ version_requirements: !ruby/object:Gem::Requirement
258
230
  requirements:
259
231
  - - ">="
260
232
  - !ruby/object:Gem::Version
261
233
  version: '0'
262
- type: :development
263
- prerelease: false
264
- version_requirements: !ruby/object:Gem::Requirement
234
+ requirement: !ruby/object:Gem::Requirement
265
235
  requirements:
266
236
  - - ">="
267
237
  - !ruby/object:Gem::Version
268
238
  version: '0'
239
+ prerelease: false
240
+ type: :development
269
241
  - !ruby/object:Gem::Dependency
270
242
  name: appraisal
271
- requirement: !ruby/object:Gem::Requirement
243
+ version_requirements: !ruby/object:Gem::Requirement
272
244
  requirements:
273
245
  - - ">="
274
246
  - !ruby/object:Gem::Version
275
247
  version: '0'
276
- type: :development
277
- prerelease: false
278
- version_requirements: !ruby/object:Gem::Requirement
248
+ requirement: !ruby/object:Gem::Requirement
279
249
  requirements:
280
250
  - - ">="
281
251
  - !ruby/object:Gem::Version
282
252
  version: '0'
283
- description: Enables consumer driven contract testing, providing a mock service and
284
- DSL for the consumer project, and interaction playback and verification for the
285
- service provider project.
253
+ prerelease: false
254
+ type: :development
255
+ description: Enables consumer driven contract testing, providing a mock service and DSL for the consumer project, and interaction playback and verification for the service provider project.
286
256
  email:
287
257
  - james.fraser@alumni.swinburne.edu
288
258
  - sergei.matheson@gmail.com
@@ -373,7 +343,7 @@ homepage: https://github.com/realestate-com-au/pact
373
343
  licenses:
374
344
  - MIT
375
345
  metadata: {}
376
- post_install_message:
346
+ post_install_message:
377
347
  rdoc_options: []
378
348
  require_paths:
379
349
  - lib
@@ -381,18 +351,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
381
351
  requirements:
382
352
  - - ">="
383
353
  - !ruby/object:Gem::Version
384
- version: '0'
354
+ version: '2.0'
385
355
  required_rubygems_version: !ruby/object:Gem::Requirement
386
356
  requirements:
387
357
  - - ">="
388
358
  - !ruby/object:Gem::Version
389
359
  version: '0'
390
360
  requirements: []
391
- rubyforge_project:
392
- rubygems_version: 2.4.5
393
- signing_key:
361
+ rubyforge_project:
362
+ rubygems_version: 2.4.8
363
+ signing_key:
394
364
  specification_version: 4
395
- summary: Enables consumer driven contract testing, providing a mock service and DSL
396
- for the consumer project, and interaction playback and verification for the service
397
- provider project.
365
+ summary: Enables consumer driven contract testing, providing a mock service and DSL for the consumer project, and interaction playback and verification for the service provider project.
398
366
  test_files: []