hoodoo 2.12.6 → 2.12.9

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
  SHA256:
3
- metadata.gz: ef8db3ad23e93ddb58cfa9c5d41342cbab01f00ce55e57b37cd93748732da340
4
- data.tar.gz: bead6ded0b48b1b7ed361b9ec07ae59cdb0a797342ad8f96bac3b000bfc2cbf3
3
+ metadata.gz: c0c41b4724b4099c1c867eed75c74ec8291fe85bc8987a4b8960d229f64d7fe5
4
+ data.tar.gz: d3a526e9b9a9f301588a3f8be9dbb65b5fc0fee3b3e8088b368a775ac6e50af2
5
5
  SHA512:
6
- metadata.gz: 0ecf3d0a5c33119941526e9b04684f72ed12c96d351755fcaa773e8b4b14918bc5a55a57cd4411d592448f54b25d09546f249ba37b7fca50c26e2d341a2f02cd
7
- data.tar.gz: 523010953e4d7d3a07036224158163bc43743a45afe1ce5c106102ff50e1ae251090d4c04b2b8f3faa741d14032e68479e484273aaf7021d6c428a67a707c666
6
+ metadata.gz: 329c3cf991d235337a424362ae8a7190822a6a762cfa36c9e0292a09201757e3d1aee7f933c4f8e1b456639a0820d9882dbcbc05ec86dfff4b824bf52afdee94
7
+ data.tar.gz: 7002b2b20e888876cfe1b9d716f0aa00f9976b65373bee93b36810dfa9da0b0747083e85aa7e7cc77fbd0a0cc515683d994ee09a4d7b4f7895707cf6ac1ccc76
@@ -211,6 +211,13 @@ module Hoodoo
211
211
  :header => 'X-Deja-Vu',
212
212
  :header_proc => BOOLEAN_HEADER_PROC,
213
213
  },
214
+
215
+ 'HTTP_X_DISABLE_DOWNSTREAM_SYNC' => {
216
+ :property => :disable_downstream_sync,
217
+ :property_proc => BOOLEAN_PROPERTY_PROC,
218
+ :header => 'X-Disable-Downstream-Sync',
219
+ :header_proc => BOOLEAN_HEADER_PROC,
220
+ },
214
221
  }
215
222
 
216
223
  # For speed, fill in a "property_writer" value, where "foo" becomes
@@ -9,6 +9,8 @@
9
9
  # 15-Dec-2014 (ADH): Created.
10
10
  ########################################################################
11
11
 
12
+ require 'pp'
13
+
12
14
  module Hoodoo
13
15
  module Communicators
14
16
 
@@ -151,7 +153,7 @@ module Hoodoo
151
153
  begin
152
154
  communicator.communicate( object )
153
155
  rescue => exception
154
- handle_exception( exception, communicator )
156
+ handle_exception( exception, communicator, object )
155
157
  end
156
158
 
157
159
  else
@@ -333,6 +335,7 @@ module Hoodoo
333
335
  #
334
336
  loop do
335
337
 
338
+ obj = nil
336
339
  # Exception handler block.
337
340
  #
338
341
  begin
@@ -342,20 +345,23 @@ module Hoodoo
342
345
  #
343
346
  loop do
344
347
  entry = work_queue.shift() # ".shift" => FIFO, ".pop" would be LIFO
348
+ obj = nil
345
349
 
346
350
  if entry.terminate?
347
351
  ::Thread.exit
348
352
  elsif entry.sync?
353
+
349
354
  sync_queue << :sync
350
355
  elsif entry.dropped?
351
356
  communicator.dropped( entry.dropped )
352
357
  else
358
+ obj = entry.payload
353
359
  communicator.communicate( entry.payload )
354
360
  end
355
361
  end
356
362
 
357
363
  rescue => exception
358
- handle_exception( exception, communicator )
364
+ handle_exception( exception, communicator, obj )
359
365
 
360
366
  end
361
367
  end
@@ -453,12 +459,14 @@ module Hoodoo
453
459
  #
454
460
  # +exception+:: Exception (or Exception subclass) instance to print.
455
461
  # +communicator+:: Communicator instance that raised the exception.
462
+ # +obj+:: Parameter passed to the communicator subclass instance
463
+ # #communicate methods
456
464
  #
457
- def handle_exception( exception, communicator )
465
+ def handle_exception( exception, communicator, obj )
458
466
  begin
459
467
  report = "Communicator class #{ communicator.class.name } raised exception '#{ exception }': #{ exception.backtrace }"
460
468
  $stderr.puts( report )
461
-
469
+ pp( obj, $stderr )
462
470
  rescue
463
471
  # If the above fails then everything else is probably about to
464
472
  # collapse, but optimistically try to ignore the error and keep
@@ -161,7 +161,7 @@ module Hoodoo
161
161
  # # E.g.:
162
162
  # #
163
163
  # # {
164
- # # "numbers" => [ BigDecimal.new( '2.2511' ) ]
164
+ # # "numbers" => [ BigDecimal( '2.2511' ) ]
165
165
  # # }
166
166
  #
167
167
  def array( name, options = {}, &block )
@@ -58,21 +58,16 @@ module Hoodoo; module Services; class Discovery # Just used as a namespace here
58
58
  # server is already running, expect an "address in use" connection
59
59
  # exception from DRb.
60
60
  #
61
- # $SAFE will be set to 1 (unless it is already higher) in this thread.
62
- #
63
61
  # +port+:: Passed to ::uri method.
64
62
  #
65
63
  def self.start( port = nil )
66
64
 
67
65
  uri = self.uri( port )
68
66
 
69
- # For security, "disable eval() and friends":
70
- #
71
- # http://www.ruby-doc.org/stdlib-2.2.3/libdoc/drb/rdoc/DRb.html
72
- # https://ruby-hacking-guide.github.io/security.html
73
- # http://blog.recurity-labs.com/archives/2011/05/12/druby_for_penetration_testers/
74
-
75
- $SAFE = 1
67
+ # $SAFE and taint tracking is being removed from ruby 2.7+
68
+ # https://bugs.ruby-lang.org/issues/16131
69
+ # Set to 0 to disable taint tracking in earlier versions
70
+ $SAFE = 0
76
71
 
77
72
  # Have to allow a tained port string from "outside" just to be able
78
73
  # to start the service on a given port; so untaint that deliberately.
@@ -12,11 +12,11 @@ module Hoodoo
12
12
  # The Hoodoo gem version. If this changes, be sure to re-run
13
13
  # <tt>bundle install</tt> or <tt>bundle update</tt>.
14
14
  #
15
- VERSION = '2.12.6'
15
+ VERSION = '2.12.9'
16
16
 
17
17
  # The Hoodoo gem date. If this changes, be sure to re-run
18
18
  # <tt>bundle install</tt> or <tt>bundle update</tt>.
19
19
  #
20
- DATE = '2020-11-10'
20
+ DATE = '2021-09-07'
21
21
 
22
22
  end
@@ -654,6 +654,8 @@ describe Hoodoo::Client do
654
654
  @dated_from = Time.now - 2.years
655
655
  when :deja_vu
656
656
  @deja_vu = true
657
+ when :disable_downstream_sync
658
+ @disable_downstream_sync = true
657
659
  else
658
660
  raise "Update client_spec.rb with new non-secured properties for test"
659
661
  end
@@ -274,9 +274,9 @@ describe Hoodoo::Presenters::Array do
274
274
  'boolean' => { :valid => [ true ], :invalid => [ 4.51, 'false' ] },
275
275
  'date' => { :valid => [ Date.today.iso8601 ], :invalid => [ Date.today, '23rd January 2041' ] },
276
276
  'date_time' => { :valid => [ DateTime.now.iso8601 ], :invalid => [ DateTime.now, '2017-01-27 12:00' ] },
277
- 'decimal' => { :valid => [ '4.51' ], :invalid => [ 4.51, BigDecimal.new( '4.51' ) ] },
277
+ 'decimal' => { :valid => [ '4.51' ], :invalid => [ 4.51, BigDecimal( '4.51' ) ] },
278
278
  'enum' => { :valid => [ 'one' ], :invalid => [ 'One', 1 ] },
279
- 'float' => { :valid => [ 4.51 ], :invalid => [ BigDecimal.new(4.51, 2), '4.51' ] },
279
+ 'float' => { :valid => [ 4.51 ], :invalid => [ BigDecimal(4.51, 2), '4.51' ] },
280
280
  'integer' => { :valid => [ 4 ], :invalid => [ '4' ] },
281
281
  'string' => { :valid => [ 'four' ], :invalid => [ 'toolong', 4, true ] },
282
282
  'tags' => { :valid => [ 'tag_a,tag_b,tag_c' ], :invalid => [ 4, true ] },
@@ -446,9 +446,9 @@ describe Hoodoo::Presenters::Array do
446
446
  let( :valid_data ) do
447
447
  {
448
448
  'numbers' => [
449
- BigDecimal.new( '42.55111' ), # Precision is FYI data generators, not the renderer :-/
450
- BigDecimal.new( '42.4' ),
451
- BigDecimal.new( '42' )
449
+ BigDecimal( '42.55111' ), # Precision is FYI data generators, not the renderer :-/
450
+ BigDecimal( '42.4' ),
451
+ BigDecimal( '42' )
452
452
  ]
453
453
  }
454
454
  end
@@ -598,9 +598,9 @@ describe Hoodoo::Presenters::Hash do
598
598
  'boolean' => { :valid => [ true ], :invalid => [ 4.51, 'false' ] },
599
599
  'date' => { :valid => [ Date.today.iso8601 ], :invalid => [ Date.today, '23rd January 2041' ] },
600
600
  'date_time' => { :valid => [ DateTime.now.iso8601 ], :invalid => [ DateTime.now, '2017-01-27 12:00' ] },
601
- 'decimal' => { :valid => [ '4.51' ], :invalid => [ 4.51, BigDecimal.new( '4.51' ) ] },
601
+ 'decimal' => { :valid => [ '4.51' ], :invalid => [ 4.51, BigDecimal( '4.51' ) ] },
602
602
  'enum' => { :valid => [ 'one' ], :invalid => [ 'One', 1 ] },
603
- 'float' => { :valid => [ 4.51 ], :invalid => [ BigDecimal.new(4.51, 2), '4.51' ] },
603
+ 'float' => { :valid => [ 4.51 ], :invalid => [ BigDecimal(4.51, 2), '4.51' ] },
604
604
  'integer' => { :valid => [ 4 ], :invalid => [ '4' ] },
605
605
  'string' => { :valid => [ 'four' ], :invalid => [ 'toolong', 4, true ] },
606
606
  'tags' => { :valid => [ 'tag_a,tag_b,tag_c' ], :invalid => [ 4, true ] },
@@ -1254,9 +1254,9 @@ describe Hoodoo::Presenters::Hash do
1254
1254
  'boolean' => { :definition => { :length => 9, :type => :boolean }, :valid => [ true ], :invalid => [ 4.51, 'false' ] },
1255
1255
  'date' => { :definition => { :length => 9, :type => :date }, :valid => [ Date.today.iso8601 ], :invalid => [ Date.today, '23rd January 2041' ] },
1256
1256
  'date_time' => { :definition => { :length => 9, :type => :date_time }, :valid => [ DateTime.now.iso8601 ], :invalid => [ DateTime.now, '2017-01-27 12:00' ] },
1257
- 'decimal' => { :definition => { :length => 9, :type => :decimal, :field_precision => 2 }, :valid => [ '4.51' ], :invalid => [ 4.51, BigDecimal.new( '4.51' ) ] },
1257
+ 'decimal' => { :definition => { :length => 9, :type => :decimal, :field_precision => 2 }, :valid => [ '4.51' ], :invalid => [ 4.51, BigDecimal( '4.51' ) ] },
1258
1258
  'enum' => { :definition => { :length => 9, :type => :enum, :field_from => [ :one, :two, :three ] }, :valid => [ 'one' ], :invalid => [ 'One', 1 ] },
1259
- 'float' => { :definition => { :length => 9, :type => :float }, :valid => [ 4.51 ], :invalid => [ BigDecimal.new(4.51, 2), '4.51' ] },
1259
+ 'float' => { :definition => { :length => 9, :type => :float }, :valid => [ 4.51 ], :invalid => [ BigDecimal(4.51, 2), '4.51' ] },
1260
1260
  'integer' => { :definition => { :length => 9, :type => :integer }, :valid => [ 4 ], :invalid => [ '4' ] },
1261
1261
  'string' => { :definition => { :length => 9, :type => :string, :field_length => 4 }, :valid => [ 'four' ], :invalid => [ 'toolong', 4, true ] },
1262
1262
  'tags' => { :definition => { :length => 9, :type => :tags }, :valid => [ 'tag_a,tag_b,tag_c' ], :invalid => [ 4, true ] },
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hoodoo
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.12.6
4
+ version: 2.12.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Loyalty New Zealand
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-10 00:00:00.000000000 Z
11
+ date: 2021-09-07 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rack
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: dalli
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -39,13 +25,13 @@ dependencies:
39
25
  - !ruby/object:Gem::Version
40
26
  version: '2.7'
41
27
  - !ruby/object:Gem::Dependency
42
- name: bundle-audit
28
+ name: rack
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
31
  - - ">="
46
32
  - !ruby/object:Gem::Version
47
33
  version: '0'
48
- type: :development
34
+ type: :runtime
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
@@ -53,271 +39,271 @@ dependencies:
53
39
  - !ruby/object:Gem::Version
54
40
  version: '0'
55
41
  - !ruby/object:Gem::Dependency
56
- name: redis
42
+ name: activerecord
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
45
  - - "~>"
60
46
  - !ruby/object:Gem::Version
61
- version: '4.0'
47
+ version: 5.2.4.3
62
48
  type: :development
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
52
  - - "~>"
67
53
  - !ruby/object:Gem::Version
68
- version: '4.0'
54
+ version: 5.2.4.3
69
55
  - !ruby/object:Gem::Dependency
70
- name: rake
56
+ name: activesupport
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
59
  - - "~>"
74
60
  - !ruby/object:Gem::Version
75
- version: '12.0'
61
+ version: 5.2.4.3
76
62
  type: :development
77
63
  prerelease: false
78
64
  version_requirements: !ruby/object:Gem::Requirement
79
65
  requirements:
80
66
  - - "~>"
81
67
  - !ruby/object:Gem::Version
82
- version: '12.0'
68
+ version: 5.2.4.3
83
69
  - !ruby/object:Gem::Dependency
84
- name: simplecov-rcov
70
+ name: airbrake
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
73
  - - "~>"
88
74
  - !ruby/object:Gem::Version
89
- version: '0.2'
75
+ version: '7.3'
90
76
  type: :development
91
77
  prerelease: false
92
78
  version_requirements: !ruby/object:Gem::Requirement
93
79
  requirements:
94
80
  - - "~>"
95
81
  - !ruby/object:Gem::Version
96
- version: '0.2'
82
+ version: '7.3'
97
83
  - !ruby/object:Gem::Dependency
98
- name: rdoc
84
+ name: airbrake-ruby
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
87
  - - "~>"
102
88
  - !ruby/object:Gem::Version
103
- version: '6.0'
89
+ version: '2.11'
104
90
  type: :development
105
91
  prerelease: false
106
92
  version_requirements: !ruby/object:Gem::Requirement
107
93
  requirements:
108
94
  - - "~>"
109
95
  - !ruby/object:Gem::Version
110
- version: '6.0'
96
+ version: '2.11'
111
97
  - !ruby/object:Gem::Dependency
112
- name: rack-test
98
+ name: alchemy-flux
113
99
  requirement: !ruby/object:Gem::Requirement
114
100
  requirements:
115
- - - "~>"
101
+ - - '='
116
102
  - !ruby/object:Gem::Version
117
- version: '1.1'
103
+ version: 1.2.1
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
107
  requirements:
122
- - - "~>"
108
+ - - '='
123
109
  - !ruby/object:Gem::Version
124
- version: '1.1'
110
+ version: 1.2.1
125
111
  - !ruby/object:Gem::Dependency
126
- name: alchemy-flux
112
+ name: bundle-audit
127
113
  requirement: !ruby/object:Gem::Requirement
128
114
  requirements:
129
- - - '='
115
+ - - ">="
130
116
  - !ruby/object:Gem::Version
131
- version: 1.2.1
117
+ version: '0'
132
118
  type: :development
133
119
  prerelease: false
134
120
  version_requirements: !ruby/object:Gem::Requirement
135
121
  requirements:
136
- - - '='
122
+ - - ">="
137
123
  - !ruby/object:Gem::Version
138
- version: 1.2.1
124
+ version: '0'
139
125
  - !ruby/object:Gem::Dependency
140
- name: rspec
126
+ name: byebug
141
127
  requirement: !ruby/object:Gem::Requirement
142
128
  requirements:
143
129
  - - "~>"
144
130
  - !ruby/object:Gem::Version
145
- version: '3.8'
131
+ version: '10.0'
146
132
  type: :development
147
133
  prerelease: false
148
134
  version_requirements: !ruby/object:Gem::Requirement
149
135
  requirements:
150
136
  - - "~>"
151
137
  - !ruby/object:Gem::Version
152
- version: '3.8'
138
+ version: '10.0'
153
139
  - !ruby/object:Gem::Dependency
154
- name: rspec-mocks
140
+ name: database_cleaner
155
141
  requirement: !ruby/object:Gem::Requirement
156
142
  requirements:
157
143
  - - "~>"
158
144
  - !ruby/object:Gem::Version
159
- version: '3.8'
145
+ version: '1.7'
160
146
  type: :development
161
147
  prerelease: false
162
148
  version_requirements: !ruby/object:Gem::Requirement
163
149
  requirements:
164
150
  - - "~>"
165
151
  - !ruby/object:Gem::Version
166
- version: '3.8'
152
+ version: '1.7'
167
153
  - !ruby/object:Gem::Dependency
168
- name: webmock
154
+ name: le
169
155
  requirement: !ruby/object:Gem::Requirement
170
156
  requirements:
171
157
  - - "~>"
172
158
  - !ruby/object:Gem::Version
173
- version: '3.4'
159
+ version: '2.7'
174
160
  type: :development
175
161
  prerelease: false
176
162
  version_requirements: !ruby/object:Gem::Requirement
177
163
  requirements:
178
164
  - - "~>"
179
165
  - !ruby/object:Gem::Version
180
- version: '3.4'
166
+ version: '2.7'
181
167
  - !ruby/object:Gem::Dependency
182
- name: activerecord
168
+ name: pg
183
169
  requirement: !ruby/object:Gem::Requirement
184
170
  requirements:
185
171
  - - "~>"
186
172
  - !ruby/object:Gem::Version
187
- version: 5.2.4.3
173
+ version: '1.0'
188
174
  type: :development
189
175
  prerelease: false
190
176
  version_requirements: !ruby/object:Gem::Requirement
191
177
  requirements:
192
178
  - - "~>"
193
179
  - !ruby/object:Gem::Version
194
- version: 5.2.4.3
180
+ version: '1.0'
195
181
  - !ruby/object:Gem::Dependency
196
- name: activesupport
182
+ name: rack-test
197
183
  requirement: !ruby/object:Gem::Requirement
198
184
  requirements:
199
185
  - - "~>"
200
186
  - !ruby/object:Gem::Version
201
- version: 5.2.4.3
187
+ version: '1.1'
202
188
  type: :development
203
189
  prerelease: false
204
190
  version_requirements: !ruby/object:Gem::Requirement
205
191
  requirements:
206
192
  - - "~>"
207
193
  - !ruby/object:Gem::Version
208
- version: 5.2.4.3
194
+ version: '1.1'
209
195
  - !ruby/object:Gem::Dependency
210
- name: database_cleaner
196
+ name: rake
211
197
  requirement: !ruby/object:Gem::Requirement
212
198
  requirements:
213
199
  - - "~>"
214
200
  - !ruby/object:Gem::Version
215
- version: '1.7'
201
+ version: '12.0'
216
202
  type: :development
217
203
  prerelease: false
218
204
  version_requirements: !ruby/object:Gem::Requirement
219
205
  requirements:
220
206
  - - "~>"
221
207
  - !ruby/object:Gem::Version
222
- version: '1.7'
208
+ version: '12.0'
223
209
  - !ruby/object:Gem::Dependency
224
- name: pg
210
+ name: raygun4ruby
225
211
  requirement: !ruby/object:Gem::Requirement
226
212
  requirements:
227
213
  - - "~>"
228
214
  - !ruby/object:Gem::Version
229
- version: '1.0'
215
+ version: '2.7'
230
216
  type: :development
231
217
  prerelease: false
232
218
  version_requirements: !ruby/object:Gem::Requirement
233
219
  requirements:
234
220
  - - "~>"
235
221
  - !ruby/object:Gem::Version
236
- version: '1.0'
222
+ version: '2.7'
237
223
  - !ruby/object:Gem::Dependency
238
- name: byebug
224
+ name: redis
239
225
  requirement: !ruby/object:Gem::Requirement
240
226
  requirements:
241
227
  - - "~>"
242
228
  - !ruby/object:Gem::Version
243
- version: '10.0'
229
+ version: '4.0'
244
230
  type: :development
245
231
  prerelease: false
246
232
  version_requirements: !ruby/object:Gem::Requirement
247
233
  requirements:
248
234
  - - "~>"
249
235
  - !ruby/object:Gem::Version
250
- version: '10.0'
236
+ version: '4.0'
251
237
  - !ruby/object:Gem::Dependency
252
- name: timecop
238
+ name: rspec
253
239
  requirement: !ruby/object:Gem::Requirement
254
240
  requirements:
255
241
  - - "~>"
256
242
  - !ruby/object:Gem::Version
257
- version: '0.9'
243
+ version: '3.8'
258
244
  type: :development
259
245
  prerelease: false
260
246
  version_requirements: !ruby/object:Gem::Requirement
261
247
  requirements:
262
248
  - - "~>"
263
249
  - !ruby/object:Gem::Version
264
- version: '0.9'
250
+ version: '3.8'
265
251
  - !ruby/object:Gem::Dependency
266
- name: raygun4ruby
252
+ name: rspec-mocks
267
253
  requirement: !ruby/object:Gem::Requirement
268
254
  requirements:
269
255
  - - "~>"
270
256
  - !ruby/object:Gem::Version
271
- version: '2.7'
257
+ version: '3.8'
272
258
  type: :development
273
259
  prerelease: false
274
260
  version_requirements: !ruby/object:Gem::Requirement
275
261
  requirements:
276
262
  - - "~>"
277
263
  - !ruby/object:Gem::Version
278
- version: '2.7'
264
+ version: '3.8'
279
265
  - !ruby/object:Gem::Dependency
280
- name: airbrake-ruby
266
+ name: simplecov-rcov
281
267
  requirement: !ruby/object:Gem::Requirement
282
268
  requirements:
283
269
  - - "~>"
284
270
  - !ruby/object:Gem::Version
285
- version: '2.11'
271
+ version: '0.2'
286
272
  type: :development
287
273
  prerelease: false
288
274
  version_requirements: !ruby/object:Gem::Requirement
289
275
  requirements:
290
276
  - - "~>"
291
277
  - !ruby/object:Gem::Version
292
- version: '2.11'
278
+ version: '0.2'
293
279
  - !ruby/object:Gem::Dependency
294
- name: airbrake
280
+ name: timecop
295
281
  requirement: !ruby/object:Gem::Requirement
296
282
  requirements:
297
283
  - - "~>"
298
284
  - !ruby/object:Gem::Version
299
- version: '7.3'
285
+ version: '0.9'
300
286
  type: :development
301
287
  prerelease: false
302
288
  version_requirements: !ruby/object:Gem::Requirement
303
289
  requirements:
304
290
  - - "~>"
305
291
  - !ruby/object:Gem::Version
306
- version: '7.3'
292
+ version: '0.9'
307
293
  - !ruby/object:Gem::Dependency
308
- name: le
294
+ name: webmock
309
295
  requirement: !ruby/object:Gem::Requirement
310
296
  requirements:
311
297
  - - "~>"
312
298
  - !ruby/object:Gem::Version
313
- version: '2.7'
299
+ version: '3.4'
314
300
  type: :development
315
301
  prerelease: false
316
302
  version_requirements: !ruby/object:Gem::Requirement
317
303
  requirements:
318
304
  - - "~>"
319
305
  - !ruby/object:Gem::Version
320
- version: '2.7'
306
+ version: '3.4'
321
307
  description: Simplify the implementation of consistent services within an API-based
322
308
  software platform.
323
309
  email:
@@ -591,14 +577,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
591
577
  requirements:
592
578
  - - ">="
593
579
  - !ruby/object:Gem::Version
594
- version: 2.2.10
580
+ version: 2.3.5
595
581
  required_rubygems_version: !ruby/object:Gem::Requirement
596
582
  requirements:
597
583
  - - ">="
598
584
  - !ruby/object:Gem::Version
599
585
  version: '0'
600
586
  requirements: []
601
- rubygems_version: 3.1.4
587
+ rubygems_version: 3.2.27
602
588
  signing_key:
603
589
  specification_version: 4
604
590
  summary: Opinionated APIs