bloodbath 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -41,4 +41,329 @@ http_interactions:
41
41
  encoding: UTF-8
42
42
  string: '{"data":{"body":"Random body","dispatched_at":null,"endpoint":"https://api.fake-site.com","enqueued_at":null,"headers":"{\"Random-Header\":\"Something\"}","id":"1542e6eb-1ecf-48ed-b43e-692b90ce16c3","locked_at":null,"method":"post","origin":"rest_api","scheduled_for":"2021-05-27T23:09:34Z"}}'
43
43
  recorded_at: Thu, 27 May 2021 22:09:34 GMT
44
+ - request:
45
+ method: post
46
+ uri: http://localhost:4000/rest/events
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"scheduled_for":"2021-11-02 01:00:05 +0100","method":"post","headers":{"Random-Header":"Something"},"body":"Random
50
+ body","endpoint":"https://api.fake-site.com"}'
51
+ headers:
52
+ Accept-Encoding:
53
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
54
+ Accept:
55
+ - "*/*"
56
+ User-Agent:
57
+ - Ruby
58
+ Authorization:
59
+ - Bearer TONnZlNFWYG6CZ36v4tAwfA4UKRVX3_Ou8LNRmbkSFspd4xBl3oVaKkr_UfsAL2bgg_k39ENVzY1F90urvsBVA==
60
+ Content-Type:
61
+ - application/json
62
+ response:
63
+ status:
64
+ code: 401
65
+ message: Unauthorized
66
+ headers:
67
+ Cache-Control:
68
+ - max-age=0, private, must-revalidate
69
+ Content-Length:
70
+ - '157'
71
+ Content-Type:
72
+ - application/json; charset=utf-8
73
+ Date:
74
+ - Mon, 01 Nov 2021 23:00:06 GMT
75
+ Server:
76
+ - Cowboy
77
+ X-Request-Id:
78
+ - FrOOWc0NhZjkE6YAABGM
79
+ body:
80
+ encoding: UTF-8
81
+ string: '{"errors":["Your API key isn''t valid. Please read https://bloodbath.notion.site/Acquire-your-API-Key-3b4adbbcc7f948d0a5c52d165a963ae4
82
+ for more information"]}'
83
+ recorded_at: Mon, 01 Nov 2021 23:00:06 GMT
84
+ - request:
85
+ method: post
86
+ uri: http://localhost:4000/rest/events
87
+ body:
88
+ encoding: UTF-8
89
+ string: '{"scheduled_for":"2021-11-02 01:05:10 +0100","method":"post","headers":{"Random-Header":"Something"},"body":"Random
90
+ body","endpoint":"https://api.fake-site.com"}'
91
+ headers:
92
+ Accept-Encoding:
93
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
94
+ Accept:
95
+ - "*/*"
96
+ User-Agent:
97
+ - Ruby
98
+ Authorization:
99
+ - Bearer RIi9yhM42RDgEXLiVbO3z-ncbS2GvI3fcmwYL4f2Zf0JpyUUKCAx8M6glyHnLmyN8Kkbul9VoAai6798ssu4aw==
100
+ Content-Type:
101
+ - application/json
102
+ response:
103
+ status:
104
+ code: 401
105
+ message: Unauthorized
106
+ headers:
107
+ Cache-Control:
108
+ - max-age=0, private, must-revalidate
109
+ Content-Length:
110
+ - '157'
111
+ Content-Type:
112
+ - application/json; charset=utf-8
113
+ Date:
114
+ - Mon, 01 Nov 2021 23:05:10 GMT
115
+ Server:
116
+ - Cowboy
117
+ X-Request-Id:
118
+ - FrOOoLI8k8Ap8-MAAAIB
119
+ body:
120
+ encoding: UTF-8
121
+ string: '{"errors":["Your API key isn''t valid. Please read https://bloodbath.notion.site/Acquire-your-API-Key-3b4adbbcc7f948d0a5c52d165a963ae4
122
+ for more information"]}'
123
+ recorded_at: Mon, 01 Nov 2021 23:05:10 GMT
124
+ - request:
125
+ method: post
126
+ uri: http://localhost:4000/rest/events
127
+ body:
128
+ encoding: UTF-8
129
+ string: '{"scheduled_for":"2021-11-02 01:05:34 +0100","method":"post","headers":{"Random-Header":"Something"},"body":"Random
130
+ body","endpoint":"https://api.fake-site.com"}'
131
+ headers:
132
+ Accept-Encoding:
133
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
134
+ Accept:
135
+ - "*/*"
136
+ User-Agent:
137
+ - Ruby
138
+ Authorization:
139
+ - Bearer RIi9yhM42RDgEXLiVbO3z-ncbS2GvI3fcmwYL4f2Zf0JpyUUKCAx8M6glyHnLmyN8Kkbul9VoAai6798ssu4aw==
140
+ Content-Type:
141
+ - application/json
142
+ response:
143
+ status:
144
+ code: 401
145
+ message: Unauthorized
146
+ headers:
147
+ Cache-Control:
148
+ - max-age=0, private, must-revalidate
149
+ Content-Length:
150
+ - '157'
151
+ Content-Type:
152
+ - application/json; charset=utf-8
153
+ Date:
154
+ - Mon, 01 Nov 2021 23:05:34 GMT
155
+ Server:
156
+ - Cowboy
157
+ X-Request-Id:
158
+ - FrOOplk5dLg8J2oAAAJM
159
+ body:
160
+ encoding: UTF-8
161
+ string: '{"errors":["Your API key isn''t valid. Please read https://bloodbath.notion.site/Acquire-your-API-Key-3b4adbbcc7f948d0a5c52d165a963ae4
162
+ for more information"]}'
163
+ recorded_at: Mon, 01 Nov 2021 23:05:34 GMT
164
+ - request:
165
+ method: post
166
+ uri: http://localhost:4000/rest/events
167
+ body:
168
+ encoding: UTF-8
169
+ string: '{"scheduled_for":"2021-11-02 01:08:31 +0100","method":"post","headers":{"Random-Header":"Something"},"body":"Random
170
+ body","endpoint":"https://api.fake-site.com"}'
171
+ headers:
172
+ Accept-Encoding:
173
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
174
+ Accept:
175
+ - "*/*"
176
+ User-Agent:
177
+ - Ruby
178
+ Authorization:
179
+ - Bearer 0u9dmuz_uxQf4bD_rYzltCWA8hrUjvxQQ-ILWFppj7sfSfkjoNqbCX_oqtJ1ska3GaYACb25Ef-uYcbITTYJbA==
180
+ Content-Type:
181
+ - application/json
182
+ response:
183
+ status:
184
+ code: 201
185
+ message: Created
186
+ headers:
187
+ Cache-Control:
188
+ - max-age=0, private, must-revalidate
189
+ Content-Length:
190
+ - '292'
191
+ Content-Type:
192
+ - application/json; charset=utf-8
193
+ Date:
194
+ - Mon, 01 Nov 2021 23:08:31 GMT
195
+ Location:
196
+ - "/rest/events/d1919c58-4cf9-41e5-b9f8-f79c9cf58ef2"
197
+ Server:
198
+ - Cowboy
199
+ X-Request-Id:
200
+ - FrOOz3RteBsdfhMAAADG
201
+ body:
202
+ encoding: UTF-8
203
+ string: '{"data":{"body":"Random body","dispatched_at":null,"endpoint":"https://api.fake-site.com","enqueued_at":null,"headers":"{\"Random-Header\":\"Something\"}","id":"d1919c58-4cf9-41e5-b9f8-f79c9cf58ef2","locked_at":null,"method":"post","origin":"rest_api","scheduled_for":"2021-11-02T00:08:31Z"}}'
204
+ recorded_at: Mon, 01 Nov 2021 23:08:31 GMT
205
+ - request:
206
+ method: post
207
+ uri: http://localhost:4000/rest/events
208
+ body:
209
+ encoding: UTF-8
210
+ string: '{"scheduled_for":"2021-11-02 01:08:52 +0100","method":"post","headers":{"Random-Header":"Something"},"body":"Random
211
+ body","endpoint":"https://api.fake-site.com"}'
212
+ headers:
213
+ Accept-Encoding:
214
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
215
+ Accept:
216
+ - "*/*"
217
+ User-Agent:
218
+ - Ruby
219
+ Authorization:
220
+ - Bearer 0u9dmuz_uxQf4bD_rYzltCWA8hrUjvxQQ-ILWFppj7sfSfkjoNqbCX_oqtJ1ska3GaYACb25Ef-uYcbITTYJbA==
221
+ Content-Type:
222
+ - application/json
223
+ response:
224
+ status:
225
+ code: 201
226
+ message: Created
227
+ headers:
228
+ Cache-Control:
229
+ - max-age=0, private, must-revalidate
230
+ Content-Length:
231
+ - '292'
232
+ Content-Type:
233
+ - application/json; charset=utf-8
234
+ Date:
235
+ - Mon, 01 Nov 2021 23:08:52 GMT
236
+ Location:
237
+ - "/rest/events/e6e28a5f-23e5-43fa-939d-c103c5065f27"
238
+ Server:
239
+ - Cowboy
240
+ X-Request-Id:
241
+ - FrOO1HFT-oLVzCkAAAFG
242
+ body:
243
+ encoding: UTF-8
244
+ string: '{"data":{"body":"Random body","dispatched_at":null,"endpoint":"https://api.fake-site.com","enqueued_at":null,"headers":"{\"Random-Header\":\"Something\"}","id":"e6e28a5f-23e5-43fa-939d-c103c5065f27","locked_at":null,"method":"post","origin":"rest_api","scheduled_for":"2021-11-02T00:08:52Z"}}'
245
+ recorded_at: Mon, 01 Nov 2021 23:08:52 GMT
246
+ - request:
247
+ method: post
248
+ uri: http://localhost:4000/rest/events
249
+ body:
250
+ encoding: UTF-8
251
+ string: '{"scheduled_for":"2021-11-02 01:09:28 +0100","method":"post","headers":{"Random-Header":"Something"},"body":"Random
252
+ body","endpoint":"https://api.fake-site.com"}'
253
+ headers:
254
+ Accept-Encoding:
255
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
256
+ Accept:
257
+ - "*/*"
258
+ User-Agent:
259
+ - Ruby
260
+ Authorization:
261
+ - Bearer 0u9dmuz_uxQf4bD_rYzltCWA8hrUjvxQQ-ILWFppj7sfSfkjoNqbCX_oqtJ1ska3GaYACb25Ef-uYcbITTYJbA==
262
+ Content-Type:
263
+ - application/json
264
+ response:
265
+ status:
266
+ code: 201
267
+ message: Created
268
+ headers:
269
+ Cache-Control:
270
+ - max-age=0, private, must-revalidate
271
+ Content-Length:
272
+ - '292'
273
+ Content-Type:
274
+ - application/json; charset=utf-8
275
+ Date:
276
+ - Mon, 01 Nov 2021 23:09:28 GMT
277
+ Location:
278
+ - "/rest/events/eb8c5939-406e-40c4-96a0-f05ee7280ad5"
279
+ Server:
280
+ - Cowboy
281
+ X-Request-Id:
282
+ - FrOO3Mx1U2RudXwAAABI
283
+ body:
284
+ encoding: UTF-8
285
+ string: '{"data":{"body":"Random body","dispatched_at":null,"endpoint":"https://api.fake-site.com","enqueued_at":null,"headers":"{\"Random-Header\":\"Something\"}","id":"eb8c5939-406e-40c4-96a0-f05ee7280ad5","locked_at":null,"method":"post","origin":"rest_api","scheduled_for":"2021-11-02T00:09:28Z"}}'
286
+ recorded_at: Mon, 01 Nov 2021 23:09:28 GMT
287
+ - request:
288
+ method: post
289
+ uri: http://localhost:4000/rest/events
290
+ body:
291
+ encoding: UTF-8
292
+ string: '{"scheduled_for":"2021-11-02 01:10:10 +0100","method":"post","headers":{"Random-Header":"Something"},"body":"Random
293
+ body","endpoint":"https://api.fake-site.com"}'
294
+ headers:
295
+ Accept-Encoding:
296
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
297
+ Accept:
298
+ - "*/*"
299
+ User-Agent:
300
+ - Ruby
301
+ Authorization:
302
+ - Bearer 0u9dmuz_uxQf4bD_rYzltCWA8hrUjvxQQ-ILWFppj7sfSfkjoNqbCX_oqtJ1ska3GaYACb25Ef-uYcbITTYJbA==
303
+ Content-Type:
304
+ - application/json
305
+ response:
306
+ status:
307
+ code: 201
308
+ message: Created
309
+ headers:
310
+ Cache-Control:
311
+ - max-age=0, private, must-revalidate
312
+ Content-Length:
313
+ - '292'
314
+ Content-Type:
315
+ - application/json; charset=utf-8
316
+ Date:
317
+ - Mon, 01 Nov 2021 23:10:09 GMT
318
+ Location:
319
+ - "/rest/events/7f51d158-07f3-4d66-b818-97b7367e10a8"
320
+ Server:
321
+ - Cowboy
322
+ X-Request-Id:
323
+ - FrOO5niZj6ksFBUAAAAK
324
+ body:
325
+ encoding: UTF-8
326
+ string: '{"data":{"body":"Random body","dispatched_at":null,"endpoint":"https://api.fake-site.com","enqueued_at":null,"headers":"{\"Random-Header\":\"Something\"}","id":"7f51d158-07f3-4d66-b818-97b7367e10a8","locked_at":null,"method":"post","origin":"rest_api","scheduled_for":"2021-11-02T00:10:10Z"}}'
327
+ recorded_at: Mon, 01 Nov 2021 23:10:10 GMT
328
+ - request:
329
+ method: post
330
+ uri: http://localhost:4000/rest/events
331
+ body:
332
+ encoding: UTF-8
333
+ string: '{"scheduled_for":"2021-11-02 01:10:45 +0100","method":"post","headers":{"Random-Header":"Something"},"body":"Random
334
+ body","endpoint":"https://api.fake-site.com"}'
335
+ headers:
336
+ Accept-Encoding:
337
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
338
+ Accept:
339
+ - "*/*"
340
+ User-Agent:
341
+ - Ruby
342
+ Authorization:
343
+ - Bearer 0u9dmuz_uxQf4bD_rYzltCWA8hrUjvxQQ-ILWFppj7sfSfkjoNqbCX_oqtJ1ska3GaYACb25Ef-uYcbITTYJbA==
344
+ Content-Type:
345
+ - application/json
346
+ response:
347
+ status:
348
+ code: 201
349
+ message: Created
350
+ headers:
351
+ Cache-Control:
352
+ - max-age=0, private, must-revalidate
353
+ Content-Length:
354
+ - '292'
355
+ Content-Type:
356
+ - application/json; charset=utf-8
357
+ Date:
358
+ - Mon, 01 Nov 2021 23:10:44 GMT
359
+ Location:
360
+ - "/rest/events/14ab2fc7-a5d5-44e7-8650-1da77e653046"
361
+ Server:
362
+ - Cowboy
363
+ X-Request-Id:
364
+ - FrOO7p7R1XAxsQ4AAAFH
365
+ body:
366
+ encoding: UTF-8
367
+ string: '{"data":{"body":"Random body","dispatched_at":null,"endpoint":"https://api.fake-site.com","enqueued_at":null,"headers":"{\"Random-Header\":\"Something\"}","id":"14ab2fc7-a5d5-44e7-8650-1da77e653046","locked_at":null,"method":"post","origin":"rest_api","scheduled_for":"2021-11-02T00:10:45Z"}}'
368
+ recorded_at: Mon, 01 Nov 2021 23:10:45 GMT
44
369
  recorded_with: VCR 6.0.0
@@ -0,0 +1,44 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://localhost:4000/rest/events
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"scheduled_for":"2021-11-02 01:12:00 +0100","method":"post","headers":{"Random-Header":"Something"},"body":"Random
9
+ body","endpoint":"https://api.fake-site.com"}'
10
+ headers:
11
+ Accept-Encoding:
12
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
13
+ Accept:
14
+ - "*/*"
15
+ User-Agent:
16
+ - Ruby
17
+ Authorization:
18
+ - Bearer 0u9dmuz_uxQf4bD_rYzltCWA8hrUjvxQQ-ILWFppj7sfSfkjoNqbCX_oqtJ1ska3GaYACb25Ef-uYcbITTYJbA==
19
+ Content-Type:
20
+ - application/json
21
+ response:
22
+ status:
23
+ code: 201
24
+ message: Created
25
+ headers:
26
+ Cache-Control:
27
+ - max-age=0, private, must-revalidate
28
+ Content-Length:
29
+ - '292'
30
+ Content-Type:
31
+ - application/json; charset=utf-8
32
+ Date:
33
+ - Mon, 01 Nov 2021 23:11:59 GMT
34
+ Location:
35
+ - "/rest/events/a350e6b1-7beb-4948-80ec-d1fbeaaf0add"
36
+ Server:
37
+ - Cowboy
38
+ X-Request-Id:
39
+ - FrOPACKU-RkX8pIAAADE
40
+ body:
41
+ encoding: UTF-8
42
+ string: '{"data":{"body":"Random body","dispatched_at":null,"endpoint":"https://api.fake-site.com","enqueued_at":null,"headers":"{\"Random-Header\":\"Something\"}","id":"a350e6b1-7beb-4948-80ec-d1fbeaaf0add","locked_at":null,"method":"post","origin":"rest_api","scheduled_for":"2021-11-02T00:12:00Z"}}'
43
+ recorded_at: Mon, 01 Nov 2021 23:12:00 GMT
44
+ recorded_with: VCR 6.0.0
@@ -4,7 +4,7 @@ module Bloodbath
4
4
  attr_accessor :api_key, :api_base
5
5
 
6
6
  def initialize
7
- @api_base = "https://api.bloodbath.io/rest"
7
+ @api_base = "https://api.bloodbath.io/rest" # "http://localhost:4000/rest"
8
8
  end
9
9
  end
10
10
  end
@@ -3,21 +3,31 @@ require "net/http"
3
3
  require "pry"
4
4
  require "json"
5
5
 
6
+ require_relative "utils/threading"
7
+
6
8
  module Bloodbath
7
9
  module Adapters
8
10
  class Rest
9
- attr_reader :method, :endpoint, :body, :config
11
+ include Bloodbath::Utils::Threading
12
+
13
+ attr_reader :method, :endpoint, :body, :options, :config
10
14
 
11
- def initialize(method:, endpoint:, body: nil, config: Bloodbath.config)
15
+ def initialize(method:, endpoint:, body: nil, options:, config: Bloodbath.config)
12
16
  @method = method
13
17
  @endpoint = endpoint
14
18
  @body = body
19
+ @options = options
15
20
  @config = config
16
21
  end
17
22
 
18
23
  def perform
19
24
  check_api_key
20
- response
25
+
26
+ if options[:wait_for_response]
27
+ synchronous_call_with_response
28
+ else
29
+ asynchronously { synchronous_call_with_response }
30
+ end
21
31
  end
22
32
 
23
33
  private
@@ -26,7 +36,11 @@ module Bloodbath
26
36
  raise Bloodbath::Error, "Please set your API key through Bloodbath.api_key = 'my-api-key'" unless config.api_key
27
37
  end
28
38
 
29
- def response
39
+ def asynchronously
40
+ threading { yield }
41
+ end
42
+
43
+ def synchronous_call_with_response
30
44
  http = Net::HTTP.new(uri.host, uri.port)
31
45
  http.use_ssl = true if uri.instance_of?(URI::HTTPS)
32
46
 
@@ -68,30 +82,50 @@ module Bloodbath
68
82
  end
69
83
  end
70
84
 
85
+ # when we want to add specific Ruby library options we instanciate what we want
86
+ # instead of going with Event.schedule we do Event.new(my_option: true).schedule
87
+ # this is to manage the transition to go class first while adding the options
71
88
  module Bloodbath
72
89
  class Event
73
90
  class << self
74
- def schedule(args)
75
- adapter.new(method: :post, endpoint: "/events", body: args).perform
91
+ def method_missing(method_name, args = {}, &block)
92
+ return new.send(method_name, &block) if args == {}
93
+ new.send(method_name, args, &block)
76
94
  end
77
95
 
78
- def list
79
- adapter.new(method: :get, endpoint: "/events").perform
96
+ def respond_to_missing?(method_name, include_private = false)
97
+ super
80
98
  end
99
+ end
81
100
 
82
- def find(id)
83
- adapter.new(method: :get, endpoint: "/events/#{id}").perform
84
- end
101
+ attr_reader :options
85
102
 
86
- def cancel(id)
87
- adapter.new(method: :delete, endpoint: "/events/#{id}").perform
88
- end
103
+ def initialize(wait_for_response: true)
104
+ @options = {
105
+ wait_for_response: wait_for_response,
106
+ }
107
+ end
89
108
 
90
- private
109
+ def schedule(args)
110
+ adapter.new(method: :post, endpoint: "/events", body: args, options: options).perform
111
+ end
91
112
 
92
- def adapter
93
- Bloodbath::Adapters::Rest
94
- end
113
+ def list
114
+ adapter.new(method: :get, endpoint: "/events", options: options).perform
115
+ end
116
+
117
+ def find(id)
118
+ adapter.new(method: :get, endpoint: "/events/#{id}", options: options).perform
119
+ end
120
+
121
+ def cancel(id)
122
+ adapter.new(method: :delete, endpoint: "/events/#{id}", options: options).perform
123
+ end
124
+
125
+ private
126
+
127
+ def adapter
128
+ Bloodbath::Adapters::Rest
95
129
  end
96
130
  end
97
131
  end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+ # rubocop:disable Style/ClassVars
3
+ module Bloodbath
4
+ module Utils
5
+ module Threading
6
+ MAX_ACTIVE_THREADS = 10
7
+ @@threads = []
8
+ @@count = 0
9
+
10
+ class << self
11
+ def join_all_threads
12
+ @@threads.each(&:join).tap do
13
+ @@count += @@threads.size
14
+ @@threads = []
15
+ end
16
+ end
17
+ end
18
+
19
+ at_exit do
20
+ join_all_threads
21
+ end
22
+
23
+ def threading
24
+ thread = Thread.new { yield }
25
+ to_active_threads(thread)
26
+
27
+ Utils::Threading.join_all_threads if active_threads.size >= MAX_ACTIVE_THREADS
28
+ thread
29
+ end
30
+
31
+ private
32
+
33
+ def to_active_threads(thread)
34
+ @@threads << thread
35
+ end
36
+
37
+ def active_threads
38
+ @@threads
39
+ end
40
+ end
41
+ end
42
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Bloodbath
4
- VERSION = "1.0.0"
4
+ VERSION = "1.1.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bloodbath
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Laurent Schaffner
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-05-31 00:00:00.000000000 Z
11
+ date: 2021-11-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry
@@ -159,12 +159,17 @@ files:
159
159
  - bin/setup
160
160
  - bloodbath.gemspec
161
161
  - fixtures/vcr_cassettes/Bloodbath_Event/_cancel/1_4_1.yml
162
+ - fixtures/vcr_cassettes/Bloodbath_Event/_cancel/_cancel/1_4_2_1.yml
162
163
  - fixtures/vcr_cassettes/Bloodbath_Event/_find/1_3_1.yml
164
+ - fixtures/vcr_cassettes/Bloodbath_Event/_find/_find/1_3_2_1.yml
163
165
  - fixtures/vcr_cassettes/Bloodbath_Event/_list/1_2_1.yml
166
+ - fixtures/vcr_cassettes/Bloodbath_Event/_list/_list/1_2_1_1.yml
164
167
  - fixtures/vcr_cassettes/Bloodbath_Event/_schedule/1_1_1.yml
168
+ - fixtures/vcr_cassettes/Bloodbath_Event/_schedule/_schedule/1_1_2_1.yml
165
169
  - lib/bloodbath.rb
166
170
  - lib/bloodbath/configuration.rb
167
171
  - lib/bloodbath/event.rb
172
+ - lib/bloodbath/utils/threading.rb
168
173
  - lib/bloodbath/version.rb
169
174
  homepage: https://bloodbath.io
170
175
  licenses: []
@@ -188,7 +193,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
188
193
  - !ruby/object:Gem::Version
189
194
  version: '0'
190
195
  requirements: []
191
- rubygems_version: 3.2.3
196
+ rubygems_version: 3.1.4
192
197
  signing_key:
193
198
  specification_version: 4
194
199
  summary: The Bloodbath Ruby library provides convenient access to the Bloodbath APIfrom