pact_broker 2.102.2 → 2.103.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1747ecbaa97d17fef8acf4946bd24c59ea255d3179776c09c701ccea77f4d006
4
- data.tar.gz: e748481ebd6df16c369e8ba7660ba371f82a4445b2b89df8a9cf1aa8b23ac657
3
+ metadata.gz: a82ecff0b79c081b9f3712bde752b9983e7377eb8d48120616c8c3fcf237076c
4
+ data.tar.gz: cef4b3136255cbba17ad31e9001c935393989df848666ddb712e81884ac61003
5
5
  SHA512:
6
- metadata.gz: a10ebe04db5984d671e58f99f8857363d3a2bf806d7429d9b39fa6d8a2a202af423166c429acacb3f8fedc9773b078964b02d67a2d9687e71e0303466b04d106
7
- data.tar.gz: a50a13c96cd171b4f1583f7c17d7d5c95a557fab21aa210c1235e6505bd6eb5eceae8b0cf5d9c3fa02284d3b845093e30c8a2ec18628868dde5256b663cca34a
6
+ metadata.gz: cb22f318c1f69dc91ceb7a84c940170600ceaf4a53e3ef65eabb7876fd2510867ad243cb1fb4cb22cf06e7b370f868cb01199697de73835879423d1371d6e19b
7
+ data.tar.gz: 87507ea9c45bc37318b98a9b8d53ab5a703eeffd1970cb111f3c8d639015f08442a0839376c4d59cc3e321005cb77da11466a1ca5340661905d66578c5aa669d
data/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ <a name="v2.103.0"></a>
2
+ ### v2.103.0 (2022-09-14)
3
+
4
+ #### Features
5
+
6
+ * allow rack protection use and except options to be configured ([f44db585](/../../commit/f44db585))
7
+
8
+ * **can-i-deploy**
9
+ * only warn about missing version numbers if there are no selectors with a version number ([ac4e1e73](/../../commit/ac4e1e73))
10
+
11
+ #### Bug Fixes
12
+
13
+ * correctly identify database version when schema_migrations table is empty ([dcb59203](/../../commit/dcb59203))
14
+
1
15
  <a name="v2.102.2"></a>
2
16
  ### v2.102.2 (2022-07-14)
3
17
 
data/Gemfile CHANGED
@@ -26,11 +26,11 @@ group :test do
26
26
  gem "rspec-its", "~>1.2"
27
27
  gem "database_cleaner", "~>1.8", ">= 1.8.1"
28
28
  gem "timecop", "~> 0.9"
29
- gem "faraday", "~>0.15"
30
- gem "faraday_middleware", "~> 0.14"
29
+ gem "faraday", "~>2.0"
31
30
  gem "docker-api", "~>1.34"
32
31
  gem "approvals", ">=0.0.24", "<1.0.0"
33
32
  gem "tzinfo", "~>2.0"
33
+ gem "faraday-retry", "~>2.0"
34
34
  end
35
35
 
36
36
  if ENV["INSTALL_MYSQL"] == "true"
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 Bethany Skurrie
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -16,11 +16,15 @@ module PactBroker
16
16
  end
17
17
 
18
18
  def to_json
19
- raise PactBroker::TestError.new("Don't panic. This is a test API error.")
19
+ raise PactBroker::TestError.new("Don't panic. This is a test API error. #{Time.now.strftime("%Y-%m-%dT%H:%M:%S.000%:z")}")
20
20
  end
21
21
 
22
22
  def process_post
23
- raise PactBroker::TestError.new("Don't panic. This is a test API error.")
23
+ begin
24
+ raise "This is the cause test error"
25
+ rescue
26
+ raise PactBroker::TestError.new("Don't panic. This is a test API error. #{Time.now.strftime("%Y-%m-%dT%H:%M:%S.000%:z")}")
27
+ end
24
28
  end
25
29
 
26
30
  def policy_name
@@ -217,7 +217,14 @@ module PactBroker
217
217
 
218
218
  def configure_rack_protection
219
219
  if configuration.use_rack_protection
220
- @app_builder.use Rack::Protection, except: [:path_traversal, :remote_token, :session_hijacking, :http_origin]
220
+ rack_protection_options = {
221
+ logger: logger,
222
+ use: configuration.rack_protection_use,
223
+ except: configuration.rack_protection_except
224
+ }.compact
225
+
226
+ logger.info("Configuring Rack::Protection", payload: rack_protection_options)
227
+ @app_builder.use Rack::Protection, rack_protection_options
221
228
 
222
229
  is_hal_browser = ->(env) { env["PATH_INFO"] == "/hal-browser/browser.html" }
223
230
  not_hal_browser = ->(env) { env["PATH_INFO"] != "/hal-browser/browser.html" }
@@ -68,6 +68,8 @@ module PactBroker
68
68
  use_hal_browser: true,
69
69
  enable_diagnostic_endpoints: true,
70
70
  use_rack_protection: true,
71
+ rack_protection_use: nil,
72
+ rack_protection_except: [:path_traversal, :remote_token, :session_hijacking, :http_origin], # Beth: not sure why these are disabled
71
73
  badge_provider_mode: :redirect,
72
74
  enable_public_badge_access: false,
73
75
  shields_io_base_url: "https://img.shields.io",
@@ -180,6 +182,14 @@ module PactBroker
180
182
  super(value_to_string_array(features, "features").collect(&:downcase))
181
183
  end
182
184
 
185
+ def rack_protection_use= rack_protection_use
186
+ super(value_to_string_array(rack_protection_use, "rack_protection_use")&.collect(&:to_sym))
187
+ end
188
+
189
+ def rack_protection_except= rack_protection_except
190
+ super(value_to_string_array(rack_protection_except, "rack_protection_except")&.collect(&:to_sym))
191
+ end
192
+
183
193
  def webhook_certificates= webhook_certificates
184
194
  if webhook_certificates.is_a?(Array)
185
195
  super(webhook_certificates.collect(&:symbolize_keys))
@@ -3,10 +3,27 @@ module PactBroker
3
3
  class Version
4
4
  def self.call database_connection
5
5
  if database_connection.tables.include?(:schema_migrations)
6
- last_migration_filename = database_connection[:schema_migrations].order(:filename).last[:filename]
7
- last_migration_filename.split("_", 2).first.to_i
6
+ version_from_schema_migrations(database_connection)
8
7
  elsif database_connection.tables.include?(:schema_info)
9
- database_connection[:schema_info].first[:version]
8
+ version_from_schema_info(database_connection)
9
+ else
10
+ 0
11
+ end
12
+ end
13
+
14
+ private_class_method def self.version_from_schema_migrations(database_connection)
15
+ last_migration = database_connection[:schema_migrations].order(:filename).last
16
+ if last_migration
17
+ last_migration[:filename].split("_", 2).first.to_i
18
+ else
19
+ 0
20
+ end
21
+ end
22
+
23
+ private_class_method def self.version_from_schema_info(database_connection)
24
+ schema_info = database_connection[:schema_info].first
25
+ if schema_info
26
+ schema_info[:version]
10
27
  else
11
28
  0
12
29
  end
@@ -6,7 +6,6 @@ This resource returns the "cartesian join" of every pact publication and every v
6
6
 
7
7
  If you need to use this API, consider calling the `/can-i-deploy` resource instead, as it provides an interface that is easier to understand.
8
8
 
9
-
10
9
  ## Matrix selectors and options
11
10
 
12
11
  Selectors are the way we specify which pacticipants and versions we want to view the matrix for. The best way to understand them is to imagine that we start with a Matrix table that contains the pacts/verification results for every consumer and provider in the Pact Broker.
@@ -75,11 +75,15 @@ module PactBroker
75
75
 
76
76
  def selector_without_pacticipant_version_number_specified?
77
77
  # If only the pacticipant name is specified, it can't be a can-i-deploy query, must be a matrix UI query
78
- resolved_selectors
79
- .select(&:specified?)
80
- .reject(&:only_pacticipant_name_specified?)
81
- .reject(&:pacticipant_version_specified_in_original_selector?)
82
- .any?
78
+ if resolved_selectors.select(&:specified?).reject(&:only_pacticipant_name_specified?).any?
79
+ # There should be at least one selector with a version number specified
80
+ resolved_selectors
81
+ .select(&:specified?)
82
+ .select(&:pacticipant_version_specified_in_original_selector?)
83
+ .empty?
84
+ else
85
+ false
86
+ end
83
87
  end
84
88
 
85
89
 
@@ -29,7 +29,8 @@ module PactBroker
29
29
  dataset: LATEST_MAIN_BRANCH_VERIFICATION,
30
30
  key: :pact_version_id,
31
31
  primary_key: :id,
32
- eager_block: lambda { | ds | ds.from_provider_main_branch.latest_by_pact_version }
32
+ eager_block: lambda { | ds | ds.from_provider_main_branch.latest_by_pact_version },
33
+ allow_eager: true
33
34
  )
34
35
 
35
36
  one_to_one(:latest_verification,
@@ -37,7 +38,8 @@ module PactBroker
37
38
  read_only: true,
38
39
  dataset: LATEST_VERIFICATION_DATASET,
39
40
  key: :pact_version_id, primary_key: :id,
40
- eager_block: lambda { | ds | ds.latest_by_pact_version }
41
+ eager_block: lambda { | ds | ds.latest_by_pact_version },
42
+ allow_eager: true
41
43
  )
42
44
 
43
45
  # do not eager load this - it won't work because of the limit(1)
@@ -16,6 +16,7 @@ require "pact_broker/pacts/selectors"
16
16
  require "pact_broker/feature_toggle"
17
17
  require "pact_broker/pacts/pacts_for_verification_repository"
18
18
  require "pact_broker/pacts/content"
19
+ require "pact_broker/policies"
19
20
 
20
21
  module PactBroker
21
22
  module Pacts
@@ -29,7 +29,9 @@ module PactBroker
29
29
  # verifiable_pact_messages, so don't need the "for_consumer" sub category
30
30
  # rubocop: disable Metrics/CyclomaticComplexity
31
31
  def type
32
- if latest_for_branch?
32
+ if latest_for_main_branch?
33
+ :latest_for_main_branch
34
+ elsif latest_for_branch?
33
35
  :latest_for_branch
34
36
  elsif matching_branch?
35
37
  :matching_branch
@@ -252,6 +252,8 @@ module PactBroker
252
252
  else
253
253
  "latest with tag #{selector.tag}"
254
254
  end
255
+ elsif selector.latest_for_main_branch?
256
+ "latest from main branch"
255
257
  elsif selector.latest_for_branch?
256
258
  if selector.fallback_branch?
257
259
  "latest from branch #{selector.fallback_branch}"
@@ -3,55 +3,112 @@ require "pact_broker/pacts/repository"
3
3
 
4
4
  module PactBroker
5
5
  module Repositories
6
+ REPOSITORY_FACTORIES = {}
7
+
8
+ extend self
9
+
10
+ def register_repository(name, &block)
11
+ REPOSITORY_FACTORIES[name] = block
12
+ end
13
+
14
+ def get_repository(name)
15
+ REPOSITORY_FACTORIES[name].call
16
+ end
17
+
6
18
  def pacticipant_repository
7
- require "pact_broker/pacticipants/repository"
8
- Pacticipants::Repository.new
19
+ get_repository(:pacticipant_repository)
9
20
  end
10
21
 
11
22
  def version_repository
12
- require "pact_broker/versions/repository"
13
- Versions::Repository.new
23
+ get_repository(:version_repository)
14
24
  end
15
25
 
16
26
  def pact_repository
17
- PactBroker::Pacts::Repository.new
27
+ get_repository(:pact_repository)
18
28
  end
19
29
 
20
30
  def tag_repository
21
- require "pact_broker/tags/repository"
22
- Tags::Repository.new
31
+ get_repository(:tag_repository)
23
32
  end
24
33
 
25
34
  def label_repository
26
- require "pact_broker/labels/repository"
27
- Labels::Repository.new
35
+ get_repository(:label_repository)
28
36
  end
29
37
 
30
38
  def webhook_repository
31
- require "pact_broker/webhooks/repository"
32
- Webhooks::Repository.new
39
+ get_repository(:webhook_repository)
33
40
  end
34
41
 
35
42
  def verification_repository
36
- require "pact_broker/verifications/repository"
37
- Verifications::Repository.new
43
+ get_repository(:verification_repository)
38
44
  end
39
45
 
40
46
  def matrix_repository
41
- require "pact_broker/matrix/repository"
42
- Matrix::Repository.new
47
+ get_repository(:matrix_repository)
43
48
  end
44
49
 
45
50
  def branch_version_repository
46
- require "pact_broker/versions/branch_version_repository"
47
- PactBroker::Versions::BranchVersionRepository.new
51
+ get_repository(:branch_version_repository)
48
52
  end
49
53
 
50
54
  def integration_repository
51
- require "pact_broker/integrations/repository"
52
- PactBroker::Integrations::Repository.new
55
+ get_repository(:integration_repository)
53
56
  end
54
57
 
55
- extend self
58
+ # rubocop: disable Metrics/MethodLength
59
+ def register_default_repositories
60
+ register_repository(:pacticipant_repository) do
61
+ require "pact_broker/pacticipants/repository"
62
+ Pacticipants::Repository.new
63
+ end
64
+
65
+ register_repository(:version_repository) do
66
+ require "pact_broker/versions/repository"
67
+ Versions::Repository.new
68
+ end
69
+
70
+ register_repository(:pact_repository) do
71
+ PactBroker::Pacts::Repository.new
72
+ end
73
+
74
+ register_repository(:tag_repository) do
75
+ require "pact_broker/tags/repository"
76
+ Tags::Repository.new
77
+ end
78
+
79
+ register_repository(:label_repository) do
80
+ require "pact_broker/labels/repository"
81
+ Labels::Repository.new
82
+ end
83
+
84
+ register_repository(:webhook_repository) do
85
+ require "pact_broker/webhooks/repository"
86
+ Webhooks::Repository.new
87
+ end
88
+
89
+ register_repository(:verification_repository) do
90
+ require "pact_broker/verifications/repository"
91
+ Verifications::Repository.new
92
+ end
93
+
94
+ register_repository(:matrix_repository) do
95
+ require "pact_broker/matrix/repository"
96
+ Matrix::Repository.new
97
+ end
98
+
99
+ register_repository(:branch_version_repository) do
100
+ require "pact_broker/versions/branch_version_repository"
101
+ PactBroker::Versions::BranchVersionRepository.new
102
+ end
103
+
104
+ register_repository(:integration_repository) do
105
+ require "pact_broker/integrations/repository"
106
+ PactBroker::Integrations::Repository.new
107
+ end
108
+
109
+ # rubocop: enable Metrics/MethodLength
110
+ end
56
111
  end
57
112
  end
113
+
114
+ PactBroker::Repositories.register_default_repositories
@@ -1,96 +1,96 @@
1
1
  module PactBroker
2
2
  module Services
3
3
 
4
- FACTORIES = {}
4
+ SERVICE_FACTORIES = {}
5
5
 
6
6
  extend self
7
7
 
8
8
  def register_service(name, &block)
9
- FACTORIES[name] = block
9
+ SERVICE_FACTORIES[name] = block
10
10
  end
11
11
 
12
- def get(name)
13
- FACTORIES[name].call
12
+ def get_service(name)
13
+ SERVICE_FACTORIES[name].call
14
14
  end
15
15
 
16
16
  def index_service
17
- get(:index_service)
17
+ get_service(:index_service)
18
18
  end
19
19
 
20
20
  def pact_service
21
- get(:pact_service)
21
+ get_service(:pact_service)
22
22
  end
23
23
 
24
24
  def pacticipant_service
25
- get(:pacticipant_service)
25
+ get_service(:pacticipant_service)
26
26
  end
27
27
 
28
28
  def tag_service
29
- get(:tag_service)
29
+ get_service(:tag_service)
30
30
  end
31
31
 
32
32
  def label_service
33
- get(:label_service)
33
+ get_service(:label_service)
34
34
  end
35
35
 
36
36
  def group_service
37
- get(:group_service)
37
+ get_service(:group_service)
38
38
  end
39
39
 
40
40
  def webhook_service
41
- get(:webhook_service)
41
+ get_service(:webhook_service)
42
42
  end
43
43
 
44
44
  def version_service
45
- get(:version_service)
45
+ get_service(:version_service)
46
46
  end
47
47
 
48
48
  def verification_service
49
- get(:verification_service)
49
+ get_service(:verification_service)
50
50
  end
51
51
 
52
52
  def badge_service
53
- get(:badge_service)
53
+ get_service(:badge_service)
54
54
  end
55
55
 
56
56
  def matrix_service
57
- get(:matrix_service)
57
+ get_service(:matrix_service)
58
58
  end
59
59
 
60
60
  def certificate_service
61
- get(:certificate_service)
61
+ get_service(:certificate_service)
62
62
  end
63
63
 
64
64
  def integration_service
65
- get(:integration_service)
65
+ get_service(:integration_service)
66
66
  end
67
67
 
68
68
  def webhook_trigger_service
69
- get(:webhook_trigger_service)
69
+ get_service(:webhook_trigger_service)
70
70
  end
71
71
 
72
72
  def metrics_service
73
- get(:metrics_service)
73
+ get_service(:metrics_service)
74
74
  end
75
75
 
76
76
  def environment_service
77
- get(:environment_service)
77
+ get_service(:environment_service)
78
78
  end
79
79
 
80
80
  def deployed_version_service
81
- get(:deployed_version_service)
81
+ get_service(:deployed_version_service)
82
82
  end
83
83
 
84
84
  def released_version_service
85
- get(:released_version_service)
85
+ get_service(:released_version_service)
86
86
  end
87
87
 
88
88
  def contract_service
89
- get(:contract_service)
89
+ get_service(:contract_service)
90
90
  end
91
91
 
92
92
  def branch_service
93
- get(:branch_service)
93
+ get_service(:branch_service)
94
94
  end
95
95
 
96
96
  # rubocop: disable Metrics/MethodLength
@@ -1,5 +1,4 @@
1
1
  require "faraday"
2
- require "faraday_middleware"
3
2
  require "logger"
4
3
  require "erb"
5
4
  require "yaml"
@@ -82,7 +81,7 @@ module PactBroker
82
81
  available_environments = version_body["_links"]["pb:record-deployment"].collect{ | relation | relation["name"]}.join
83
82
  puts "Environment with name #{environment_name} not found. Available environments: #{available_environments}"
84
83
  else
85
- client.post(environment_relation["href"]).tap { |response| check_for_error(response) }
84
+ client.post(environment_relation["href"], {}).tap { |response| check_for_error(response) }
86
85
  end
87
86
 
88
87
  separate
@@ -142,7 +141,7 @@ module PactBroker
142
141
  self
143
142
  end
144
143
 
145
- def publish_pact(consumer: last_consumer_name, consumer_version:, provider: last_provider_name, content_id:, tag: nil, branch: nil)
144
+ def publish_pact_the_old_way(consumer: last_consumer_name, consumer_version:, provider: last_provider_name, content_id:, tag: nil, branch: nil)
146
145
  @last_consumer_name = consumer
147
146
  @last_provider_name = provider
148
147
  @last_consumer_version_number = consumer_version
@@ -162,6 +161,19 @@ module PactBroker
162
161
  self
163
162
  end
164
163
 
164
+ def publish_contract_and_verify(consumer:, provider:, consumer_version:, content_id: nil, consumer_branch: "main", provider_version:, provider_branch: "main", success: true)
165
+ publish_contract(consumer: consumer, provider: provider, consumer_version: consumer_version, content_id: content_id || SecureRandom.rand.to_s, branch: consumer_branch)
166
+ .get_pacts_for_verification(provider: provider, consumer_version_selectors: [ { branch: consumer_branch }])
167
+ .verify_pact(
168
+ provider: provider,
169
+ provider_version_branch: provider_branch,
170
+ provider_version: provider_version,
171
+ success: success
172
+ )
173
+ end
174
+
175
+ alias_method :publish_pact, :publish_pact_the_old_way
176
+
165
177
  def get_pacts_for_verification(provider: last_provider_name, provider_version_tag: nil, provider_version_branch: nil, consumer_version_selectors: nil, enable_pending: nil, include_wip_pacts_since: nil)
166
178
  @last_provider_name = provider
167
179
  @last_provider_version_tag = provider_version_tag
@@ -227,6 +239,7 @@ module PactBroker
227
239
  create_webhook_for_event(**kwargs)
228
240
  end
229
241
 
242
+ # rubocop: disable Metrics/MethodLength
230
243
  def create_webhook_for_event(uuid: nil, url: "https://postman-echo.com/post", body: nil, provider: nil, consumer: nil, event_name:)
231
244
  require "securerandom"
232
245
  webhook_prefix = "global " if provider.nil? && consumer.nil?
@@ -237,11 +250,12 @@ module PactBroker
237
250
  "eventName" => "${pactbroker.eventName}",
238
251
  "consumerName" => "${pactbroker.consumerName}",
239
252
  "consumerVersionNumber" => "${pactbroker.consumerVersionNumber}",
240
- "providerVersionBranch" => "${pactbroker.providerVersionBranch}",
253
+ "consumerVersionTags" => "${pactbroker.consumerVersionTags}",
254
+ "consumerVersionBranch" => "${pactbroker.consumerVersionBranch}",
241
255
  "providerName" => "${pactbroker.providerName}",
242
256
  "providerVersionNumber" => "${pactbroker.providerVersionNumber}",
257
+ "providerVersionBranch" => "${pactbroker.providerVersionBranch}",
243
258
  "providerVersionDescriptions" => "${pactbroker.providerVersionDescriptions}",
244
- "consumerVersionBranch" => "${pactbroker.consumerVersionBranch}",
245
259
  }
246
260
  request_body = {
247
261
  "consumer" => consumer,
@@ -259,11 +273,16 @@ module PactBroker
259
273
  separate
260
274
  self
261
275
  end
276
+ # rubocop: enable Metrics/MethodLength
262
277
 
263
278
  def create_global_webhook_for_contract_changed(uuid: nil, url: "https://postman-echo.com/post", body: nil)
264
279
  create_global_webhook_for_event(uuid: uuid, url: url, body: body, event_name: "contract_content_changed")
265
280
  end
266
281
 
282
+ def create_global_webhook_for_contract_requiring_verification_published(uuid: nil, url: "https://postman-echo.com/post", body: nil)
283
+ create_global_webhook_for_event(uuid: uuid, url: url, body: body, event_name: "contract_requiring_verification_published")
284
+ end
285
+
267
286
  def create_global_webhook_for_anything_published(uuid: nil, url: "https://postman-echo.com/post")
268
287
  puts "Creating global webhook for contract changed event with uuid #{uuid}"
269
288
  uuid ||= SecureRandom.uuid
@@ -1,3 +1,3 @@
1
1
  module PactBroker
2
- VERSION = "2.102.2"
2
+ VERSION = "2.103.0"
3
3
  end
data/pact_broker.gemspec CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |gem|
19
19
  gem.files = begin
20
20
  if Dir.exist?(".git")
21
21
  Dir.chdir(File.expand_path(__dir__)) do
22
- include_patterns = %w[lib/**/* db/**/* docs/**/*.md public/**/* vendor/**/* README.md CHANGELOG.md Gemfile pact_broker.gemspec]
22
+ include_patterns = %w[lib/**/* db/**/* docs/**/*.md public/**/* vendor/**/* LICENSE.txt README.md CHANGELOG.md Gemfile pact_broker.gemspec]
23
23
  exclude_patterns = %w[db/test/**/*]
24
24
  include_list = include_patterns.flat_map{ | pattern | Dir.glob(pattern) } - exclude_patterns.flat_map{ | pattern | Dir.glob(pattern) }
25
25
 
@@ -50,7 +50,6 @@ Gem::Specification.new do |gem|
50
50
  gem.license = "MIT"
51
51
 
52
52
  #gem.add_runtime_dependency 'pact'
53
- gem.add_runtime_dependency "httparty", "~> 0.14"
54
53
  gem.add_runtime_dependency "json", "~> 2.3"
55
54
  gem.add_runtime_dependency "roar", "~> 1.1"
56
55
  gem.add_runtime_dependency "reform", "~> 2.3.3"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pact_broker
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.102.2
4
+ version: 2.103.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bethany Skurrie
@@ -10,22 +10,8 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2022-07-14 00:00:00.000000000 Z
13
+ date: 2022-09-16 00:00:00.000000000 Z
14
14
  dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: httparty
17
- requirement: !ruby/object:Gem::Requirement
18
- requirements:
19
- - - "~>"
20
- - !ruby/object:Gem::Version
21
- version: '0.14'
22
- type: :runtime
23
- prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- requirements:
26
- - - "~>"
27
- - !ruby/object:Gem::Version
28
- version: '0.14'
29
15
  - !ruby/object:Gem::Dependency
30
16
  name: json
31
17
  requirement: !ruby/object:Gem::Requirement
@@ -424,6 +410,7 @@ extra_rdoc_files: []
424
410
  files:
425
411
  - CHANGELOG.md
426
412
  - Gemfile
413
+ - LICENSE.txt
427
414
  - README.md
428
415
  - db/ddl_statements.rb
429
416
  - db/ddl_statements/all_verifications.rb
@@ -1240,7 +1227,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1240
1227
  - !ruby/object:Gem::Version
1241
1228
  version: '0'
1242
1229
  requirements: []
1243
- rubygems_version: 3.3.18
1230
+ rubygems_version: 3.3.22
1244
1231
  signing_key:
1245
1232
  specification_version: 4
1246
1233
  summary: See description