multiple_devices_logger 2.0.2 → 2.0.3

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
  SHA1:
3
- metadata.gz: 1000616e326879c8aa96b1820511a75e68f472a8
4
- data.tar.gz: 47d4cd971b820a285f068d3526280ba1d7f7ab40
3
+ metadata.gz: 8c8875aa3e930caeabc8f1da4e1b29e0c0048fcc
4
+ data.tar.gz: 94dc37b500f66c4ee3cf466085baf6b8a4062cf2
5
5
  SHA512:
6
- metadata.gz: 16164c8ee3bc608b3db7d995e4033a491275c76b439a964c408fc4c5be649a5c6e7c163c617612bfb3c12f2912ad169461817f6f7c840899402fcf7210fd5ebd
7
- data.tar.gz: d92a152b1caaef9d7ec768a47120ea494018f4209d262f8bbdc0c58badffea0dbd6fa2af285006a51740726d19814c93dfabda4ae89f0000641aadabed864714
6
+ metadata.gz: 06dd0de6cfffb45e360626b98b974e4aff73980b72e64efe9048dc7b0e195c6d82d4abcc2e79b822e39e1efcd0d021496a1011dc8540eb45343a0f001d160044
7
+ data.tar.gz: 9c5d2050463dad9d124114c479b4b39a4c4444628bc337c3018272558c772983ea3de512c283d19f5cd17122720d4ca861d3c747ee0509557f0c73572c1ab19f
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.0.2
1
+ 2.0.3
@@ -9,8 +9,7 @@ Gem::Specification.new do |s|
9
9
  s.description = 'Logger that support many and different devices for specified levels'
10
10
  s.license = 'MIT'
11
11
 
12
- s.files = `git ls-files`.split("\n")
13
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
12
+ s.files = `git ls-files | grep -vE '^(spec/|test/|\\.|Gemfile|Rakefile)'`.split("\n")
14
13
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
15
14
  s.require_paths = ['lib']
16
15
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: multiple_devices_logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexis Toulotte
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-21 00:00:00.000000000 Z
11
+ date: 2017-05-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: byebug
@@ -76,17 +76,11 @@ executables: []
76
76
  extensions: []
77
77
  extra_rdoc_files: []
78
78
  files:
79
- - ".gitignore"
80
- - ".rspec"
81
- - Gemfile
82
79
  - MIT-LICENSE
83
80
  - README.mdown
84
- - Rakefile
85
81
  - VERSION
86
82
  - lib/multiple_devices_logger.rb
87
83
  - multiple_devices_logger.gemspec
88
- - spec/multiple_devices_logger_spec.rb
89
- - spec/spec_helper.rb
90
84
  homepage: https://github.com/alexistoulotte/multiple_devices_logger
91
85
  licenses:
92
86
  - MIT
@@ -107,7 +101,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
107
101
  version: '0'
108
102
  requirements: []
109
103
  rubyforge_project:
110
- rubygems_version: 2.5.1
104
+ rubygems_version: 2.5.2
111
105
  signing_key:
112
106
  specification_version: 4
113
107
  summary: Logger than can have many devices
data/.gitignore DELETED
@@ -1,6 +0,0 @@
1
- .DS_Store
2
- /.bundle/
3
- /.byebug_history
4
- /.ruby-version
5
- /Gemfile.lock
6
- /pkg/
data/.rspec DELETED
@@ -1,2 +0,0 @@
1
- --colour
2
- --order random
data/Gemfile DELETED
@@ -1,3 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec
data/Rakefile DELETED
@@ -1,10 +0,0 @@
1
- require 'bundler'
2
- require 'rspec/core/rake_task'
3
-
4
- Bundler::GemHelper.install_tasks
5
-
6
- desc 'Default: runs specs.'
7
- task default: :spec
8
-
9
- desc 'Run all specs in spec directory.'
10
- RSpec::Core::RakeTask.new(:spec)
@@ -1,508 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe MultipleDevicesLogger do
4
-
5
- let(:logger) { MultipleDevicesLogger.new }
6
-
7
- it 'is a Logger' do
8
- expect(logger).to be_a(Logger)
9
- end
10
-
11
- describe '#add' do
12
-
13
- before :each do
14
- logger.add_device(STDERR, '>= WARN')
15
- end
16
-
17
- it 'write to device' do
18
- expect(STDERR).to receive(:write).with(/BAM!/)
19
- logger.add(Logger::WARN, 'BAM!')
20
- end
21
-
22
- it 'use a default formatter' do
23
- expect(STDERR).to receive(:write).with(/^W, \[\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d+ #\d+\] WARN -- MyApp: BAM!\n$/)
24
- logger.add(Logger::WARN, 'BAM!', 'MyApp')
25
- end
26
-
27
- it 'write to multiple device if configured' do
28
- logger.add_device(STDOUT)
29
- expect(STDERR).to receive(:write).with(/BAM!/)
30
- expect(STDOUT).to receive(:write).with(/BAM!/)
31
- logger.add(Logger::WARN, 'BAM!')
32
- end
33
-
34
- it 'does not write anything if given severity is lower than configured level' do
35
- logger.level = :error
36
- expect(STDERR).not_to receive(:write)
37
- logger.add(Logger::WARN, 'BAM!')
38
- end
39
-
40
- it 'severity is UNKNOWN if not specified' do
41
- expect(STDERR).to receive(:write).with(/ANY -- : BIM!/)
42
- logger.add(nil, 'BIM!')
43
- end
44
-
45
- it 'a block can be given' do
46
- expect(STDERR).to receive(:write).with(/BIM!/)
47
- logger.add(Logger::ERROR) { 'BIM!' }
48
- end
49
-
50
- it 'accepts progname' do
51
- expect(STDERR).to receive(:write).with(/FATAL -- MyApp: BAM!/)
52
- logger.add(Logger::FATAL, 'BAM!', 'MyApp')
53
- end
54
-
55
- it 'returns true' do
56
- expect(STDERR).to receive(:write)
57
- expect(logger.add(Logger::WARN, 'BAM!')).to be(true)
58
- end
59
-
60
- it 'returns true if nothing is written' do
61
- logger.level = :error
62
- expect(STDERR).not_to receive(:write)
63
- expect(logger.add(Logger::WARN, 'BAM!')).to be(true)
64
- end
65
-
66
- it 'block is ignored if message is given' do
67
- expect(STDERR).to receive(:write).with(/BAM!/)
68
- logger.add(Logger::WARN, 'BAM!') { 'BIM!' }
69
- end
70
-
71
- it 'message is progname if nil' do
72
- expect(STDERR).to receive(:write).with(/WARN -- : BAM!/)
73
- logger.add(Logger::WARN, nil, 'BAM!')
74
- end
75
-
76
- it 'use formatter set' do
77
- logger.add_device(STDERR, '> debug', formatter: -> (severity, time, progname, message) { "Hello #{message}" })
78
- expect(STDERR).to receive(:write).with('Hello John')
79
- logger.add(Logger::INFO, 'John')
80
- end
81
-
82
- it 'use default formatter if not set' do
83
- logger.formatter = -> (severity, time, progname, message) { "Hello #{progname}: #{message}" }
84
- expect(STDERR).to receive(:write).with('Hello World: cool')
85
- logger.add(Logger::WARN, 'cool', 'World')
86
- end
87
-
88
- it 'use default formatter if formatter set via #set_formatter does not match severity' do
89
- logger.add_device(STDERR, '<= info', formatter: -> (severity, time, progname, message) { "Hello #{message}" })
90
-
91
- expect(STDERR).to receive(:write).with(/WARN -- : John/)
92
- logger.add(Logger::WARN, 'John')
93
-
94
- expect(STDERR).to receive(:write).with('Hello John')
95
- logger.add(Logger::DEBUG, 'John')
96
-
97
- expect(STDERR).to receive(:write).with('Hello John')
98
- logger.add(Logger::INFO, 'John')
99
- end
100
-
101
- end
102
-
103
- describe '#add_device' do
104
-
105
- it 'adds a device for all severities if given severity is nil' do
106
- expect {
107
- logger.add_device(STDOUT)
108
- }.to change { logger.devices_for(Logger::INFO).size }.by(1)
109
- expect(logger.devices_for(Logger::WARN).first.dev).to be(STDOUT)
110
- end
111
-
112
- it 'does not adds to other severities if severity is specified' do
113
- logger.add_device(STDERR, Logger::WARN)
114
- expect(logger.devices_for(Logger::WARN)).not_to be_empty
115
- expect(logger.devices_for(Logger::INFO)).to be_empty
116
- expect(logger.devices_for(Logger::ERROR)).to be_empty
117
- end
118
-
119
- it 'severity can be specified as constant' do
120
- expect {
121
- logger.add_device(STDERR, Logger::WARN)
122
- }.to change { logger.devices_for(Logger::WARN).size }.by(1)
123
- end
124
-
125
- it 'severity can be specified as symbol' do
126
- expect {
127
- logger.add_device(STDOUT, :warn)
128
- }.to change { logger.devices_for(Logger::WARN).size }.by(1)
129
- end
130
-
131
- it 'severity can be specified as symbol (ignore case)' do
132
- expect {
133
- logger.add_device(STDOUT, :waRN)
134
- }.to change { logger.devices_for(Logger::WARN).size }.by(1)
135
- end
136
-
137
- it 'severity can be specified as string' do
138
- expect {
139
- logger.add_device(STDOUT, 'fatal')
140
- }.to change { logger.devices_for(Logger::FATAL).size }.by(1)
141
- end
142
-
143
- it 'severity can be specified as string (ignore case)' do
144
- expect {
145
- logger.add_device(STDOUT, 'FATal')
146
- }.to change { logger.devices_for(Logger::FATAL).size }.by(1)
147
- end
148
-
149
- it 'severity can be specified as string (with extra spaces)' do
150
- expect {
151
- logger.add_device(STDOUT, " fatal \n")
152
- }.to change { logger.devices_for(Logger::FATAL).size }.by(1)
153
- end
154
-
155
- it 'severity can be specified as integer' do
156
- expect {
157
- logger.add_device(STDOUT, 0)
158
- }.to change { logger.devices_for(Logger::DEBUG).size }.by(1)
159
- end
160
-
161
- it 'severity can be specified as integer (as string)' do
162
- expect {
163
- logger.add_device(STDOUT, '3')
164
- }.to change { logger.devices_for(Logger::ERROR).size }.by(1)
165
- end
166
-
167
- it 'severity can be specified as integer (as string with spaces)' do
168
- expect {
169
- logger.add_device(STDOUT, ' 2 ')
170
- }.to change { logger.devices_for(Logger::WARN).size }.by(1)
171
- end
172
-
173
- it 'many severities can be given' do
174
- logger.add_device(STDERR, Logger::DEBUG, Logger::WARN)
175
- expect(logger.devices_for(Logger::DEBUG)).not_to be_empty
176
- expect(logger.devices_for(Logger::WARN)).not_to be_empty
177
- expect(logger.devices_for(Logger::INFO)).to be_empty
178
- expect(logger.devices_for(Logger::ERROR)).to be_empty
179
- end
180
-
181
- it 'an array of severities can be given' do
182
- logger.add_device(STDERR, [Logger::DEBUG, Logger::WARN])
183
- expect(logger.devices_for(Logger::DEBUG)).not_to be_empty
184
- expect(logger.devices_for(Logger::WARN)).not_to be_empty
185
- expect(logger.devices_for(Logger::INFO)).to be_empty
186
- end
187
-
188
- it 'avoids doubloons on severities' do
189
- logger.add_device(STDOUT, Logger::DEBUG, Logger::INFO, Logger::DEBUG)
190
- expect(logger.devices_for(Logger::DEBUG).size).to eq(1)
191
- end
192
-
193
- it 'raise an error if severity specified as integer is too high' do
194
- expect {
195
- logger.add_device(STDERR, 8)
196
- }.to raise_error(ArgumentError, 'Invalid log severity: 8')
197
- end
198
-
199
- it 'raise an error if severity specified as integer is negative' do
200
- expect {
201
- logger.add_device(STDERR, -1)
202
- }.to raise_error(ArgumentError, 'Invalid log severity: -1')
203
- end
204
-
205
- it 'does not add any device if one severity is invalid' do
206
- expect {
207
- expect {
208
- logger.add_device(STDOUT, Logger::DEBUG, 'bim')
209
- }.to raise_error(ArgumentError, 'Invalid log severity: "bim"')
210
- }.not_to change { logger.devices_for(Logger::DEBUG).size }
211
- end
212
-
213
- it 'raise an error if severity is unknown (as string)' do
214
- expect {
215
- logger.add_device(STDOUT, 'errors')
216
- }.to raise_error(ArgumentError, 'Invalid log severity: "errors"')
217
- end
218
-
219
- it 'may have many device for a severity' do
220
- logger.add_device(STDERR, Logger::INFO).add_device(STDOUT, Logger::INFO)
221
- expect(logger.devices_for(Logger::DEBUG)).to be_empty
222
- expect(logger.devices_for(Logger::INFO).size).to eq(2)
223
- expect(logger.devices_for(Logger::FATAL)).to be_empty
224
- end
225
-
226
- it 'returns self' do
227
- expect(logger.add_device(STDOUT)).to be(logger)
228
- expect(logger.add_device(STDOUT, Logger::DEBUG)).to be(logger)
229
- end
230
-
231
- it 'accepts <= operator' do
232
- logger.add_device(STDOUT, '<= warn')
233
- expect(logger.devices_for(Logger::DEBUG)).not_to be_empty
234
- expect(logger.devices_for(Logger::INFO)).not_to be_empty
235
- expect(logger.devices_for(Logger::WARN)).not_to be_empty
236
- expect(logger.devices_for(Logger::ERROR)).to be_empty
237
- end
238
-
239
- it 'accepts < operator' do
240
- logger.add_device(STDOUT, '< warn')
241
- expect(logger.devices_for(Logger::DEBUG)).not_to be_empty
242
- expect(logger.devices_for(Logger::INFO)).not_to be_empty
243
- expect(logger.devices_for(Logger::WARN)).to be_empty
244
- expect(logger.devices_for(Logger::ERROR)).to be_empty
245
- end
246
-
247
- it 'accepts > operator' do
248
- logger.add_device(STDOUT, '> error')
249
- expect(logger.devices_for(Logger::UNKNOWN)).not_to be_empty
250
- expect(logger.devices_for(Logger::FATAL)).not_to be_empty
251
- expect(logger.devices_for(Logger::ERROR)).to be_empty
252
- end
253
-
254
- it 'accepts >= operator' do
255
- logger.add_device(STDOUT, '>= error')
256
- expect(logger.devices_for(Logger::UNKNOWN)).not_to be_empty
257
- expect(logger.devices_for(Logger::FATAL)).not_to be_empty
258
- expect(logger.devices_for(Logger::ERROR)).not_to be_empty
259
- expect(logger.devices_for(Logger::WARN)).to be_empty
260
- end
261
-
262
- it 'accepts operator with spaces and with a different case' do
263
- logger.add_device(STDOUT, " \n > eRRor ")
264
- expect(logger.devices_for(Logger::UNKNOWN)).not_to be_empty
265
- expect(logger.devices_for(Logger::FATAL)).not_to be_empty
266
- expect(logger.devices_for(Logger::ERROR)).to be_empty
267
- end
268
-
269
- it 'accepts operator with no spaces' do
270
- logger.add_device(STDOUT, ">error")
271
- expect(logger.devices_for(Logger::UNKNOWN)).not_to be_empty
272
- expect(logger.devices_for(Logger::FATAL)).not_to be_empty
273
- expect(logger.devices_for(Logger::ERROR)).to be_empty
274
- end
275
-
276
- it 'raise an error if operator is invalid' do
277
- expect {
278
- logger.add_device(STDERR, '!> error')
279
- }.to raise_error(ArgumentError, 'Invalid log severity: "!> error"')
280
- end
281
-
282
- it 'raise an error if severity is invalid (with operator)' do
283
- expect {
284
- logger.add_device(STDERR, '>= foo')
285
- }.to raise_error(ArgumentError, 'Invalid log severity: "foo"')
286
- end
287
-
288
- it 'avoid doubloons with operator' do
289
- logger.add_device(STDERR, Logger::INFO, '>= DEBUG')
290
- expect(logger.devices_for(Logger::DEBUG).size).to eq(1)
291
- expect(logger.devices_for(Logger::INFO).size).to eq(1)
292
- expect(logger.devices_for(Logger::WARN).size).to eq(1)
293
- end
294
-
295
- it 'may have many devices for a severity with an operator' do
296
- logger.add_device(STDERR, Logger::INFO).add_device(STDOUT, '<= error')
297
- expect(logger.devices_for(Logger::DEBUG).size).to eq(1)
298
- expect(logger.devices_for(Logger::INFO).size).to eq(2)
299
- expect(logger.devices_for(Logger::FATAL)).to be_empty
300
- end
301
-
302
- it 'register LogDevice directly if a LogDevice is given' do
303
- device = Logger::LogDevice.new(STDERR)
304
- logger.add_device(device, Logger::INFO)
305
- expect(logger.devices_for(Logger::INFO).first).to be(device)
306
- end
307
-
308
- it 'given options are forwared to LogDevice constructor' do
309
- device = Logger::LogDevice.new(STDOUT)
310
- expect(Logger::LogDevice).to receive(:new).with(STDOUT, foo: 'bar').and_return(device)
311
- logger.add_device(STDOUT, Logger::INFO, foo: 'bar')
312
- end
313
-
314
- it 'does not forward :formatter option to log device constructor' do
315
- device = Logger::LogDevice.new(STDOUT)
316
- expect(Logger::LogDevice).to receive(:new).with(STDOUT, foo: 'bar').and_return(device)
317
- logger.add_device(STDOUT, Logger::INFO, foo: 'bar', formatter: -> {})
318
- end
319
-
320
- it 'raise an error for default severity' do
321
- expect {
322
- logger.add_device(STDERR, 'default')
323
- }.to raise_error(ArgumentError, 'Invalid log severity: "default"')
324
- end
325
-
326
- it 'raise an error if formatter is not a proc' do
327
- expect {
328
- logger.add_device(STDOUT, formatter: :foo)
329
- }.to raise_error(ArgumentError, 'Formatter must respond to #call, :foo given')
330
- end
331
-
332
- end
333
-
334
- describe '#clear_devices' do
335
-
336
- it 'removes registered loggers' do
337
- logger.add_device(STDERR)
338
- expect {
339
- logger.clear_devices
340
- }.to change { logger.devices_for(Logger::DEBUG) }.to([])
341
- end
342
-
343
- end
344
-
345
- describe '#default_device' do
346
-
347
- it 'is nil by default' do
348
- expect(logger.default_device).to be_nil
349
- end
350
-
351
- it 'can be changed' do
352
- logger.default_device = STDERR
353
- expect(logger.default_device).not_to be_nil
354
- end
355
-
356
- it 'is converted to a LogDevice when set' do
357
- logger.default_device = STDERR
358
- expect(logger.default_device).to be_a(Logger::LogDevice)
359
- expect(logger.default_device.dev).to be(STDERR)
360
- end
361
-
362
- it 'is not converted to a LogDevice when a LogDevice is set' do
363
- device = Logger::LogDevice.new(STDOUT)
364
- logger.default_device = device
365
- expect(logger.default_device).to be(device)
366
- expect(logger.default_device.dev).to be(STDOUT)
367
- end
368
-
369
- end
370
-
371
- describe '#devices_for' do
372
-
373
- it 'accepts strings' do
374
- logger.add_device(STDERR, 'warn')
375
- expect(logger.devices_for('warn').size).to eq(1)
376
- end
377
-
378
- it 'returns a LogDevice instance' do
379
- logger.add_device(STDERR, 'warn')
380
- expect(logger.devices_for(:warn).first).to be_a(Logger::LogDevice)
381
- expect(logger.devices_for(:warn).first.dev).to be(STDERR)
382
- end
383
-
384
- it 'returns an empty array if there is not registered device for given severity' do
385
- expect(logger.devices_for(Logger::WARN)).to eq([])
386
- end
387
-
388
- it 'returns default device if there is no device for given severity' do
389
- logger.default_device = STDERR
390
- logger.add_device(STDOUT, '>= warn')
391
- expect(logger.devices_for(:debug).first.dev).to be(STDERR)
392
- expect(logger.devices_for(:warn).first.dev).to be(STDOUT)
393
- expect(logger.devices_for(:error).first.dev).to be(STDOUT)
394
- end
395
-
396
- it 'default is never used if a logger has been added to all severity' do
397
- logger.default_device = STDERR
398
- logger.add_device(STDOUT)
399
- expect(logger.devices_for(:debug).first.dev).to be(STDOUT)
400
- expect(logger.devices_for(:warn).first.dev).to be(STDOUT)
401
- expect(logger.devices_for(:error).first.dev).to be(STDOUT)
402
- end
403
-
404
- end
405
-
406
- describe '#initialize' do
407
-
408
- it 'accepts no argument' do
409
- expect {
410
- MultipleDevicesLogger.new
411
- }.not_to raise_error
412
- end
413
-
414
- it 'logdev is nil' do
415
- expect(logger.instance_variable_get(:@logdev)).to be_nil
416
- end
417
-
418
- end
419
-
420
- describe '#level' do
421
-
422
- it 'is debug by default' do
423
- expect(logger.level).to eq(Logger::DEBUG)
424
- end
425
-
426
- it 'is not changed when adding devices' do
427
- expect {
428
- logger.add_device(STDOUT, '> WARN')
429
- }.not_to change { logger.level }
430
- end
431
-
432
- end
433
-
434
- describe '#level=' do
435
-
436
- it 'changes level' do
437
- expect {
438
- logger.level = Logger::INFO
439
- }.to change { logger.level }.to(Logger::INFO)
440
- end
441
-
442
- it 'accepts symbols' do
443
- expect {
444
- logger.level = :warn
445
- }.to change { logger.level }.to(Logger::WARN)
446
- end
447
-
448
- it 'accepts string' do
449
- expect {
450
- logger.level = 'Error'
451
- }.to change { logger.level }.to(Logger::ERROR)
452
- end
453
-
454
- it 'raise an error if invalid' do
455
- expect {
456
- logger.level = :foo
457
- }.to raise_error(ArgumentError, 'Invalid log severity: :foo')
458
- end
459
-
460
- end
461
-
462
- describe '#log' do
463
-
464
- it 'works like expected' do
465
- logger.add_device(STDOUT, Logger::WARN)
466
- expect(STDOUT).to receive(:write).with(/WARN -- : BAM!/)
467
- logger.log(Logger::WARN, 'BAM!')
468
- end
469
-
470
- end
471
-
472
- describe '#reopen' do
473
-
474
- it 'raise an NotImplementedError' do
475
- expect {
476
- logger.reopen
477
- }.to raise_error(NotImplementedError, 'MultipleDevicesLogger#reopen')
478
- end
479
-
480
- end
481
-
482
- describe '#warn' do
483
-
484
- it 'does not output anything if there is no device' do
485
- logger.add_device(STDOUT, Logger::DEBUG)
486
- expect(STDOUT).not_to receive(:write)
487
- logger.warn('BAM!')
488
- end
489
-
490
- it 'output message to device if configured' do
491
- logger.add_device(STDOUT, Logger::WARN)
492
- expect(STDOUT).to receive(:write).with(/WARN -- : BAM!/)
493
- logger.warn('BAM!')
494
- end
495
-
496
- end
497
-
498
- describe '@logdev' do
499
-
500
- let(:logdev) { logger.instance_variable_get(:@logdev) }
501
-
502
- it 'is nil' do
503
- expect(logdev).to be_nil
504
- end
505
-
506
- end
507
-
508
- end
@@ -1,6 +0,0 @@
1
- require File.expand_path("#{__dir__}/../lib/multiple_devices_logger")
2
- require 'byebug'
3
-
4
- RSpec.configure do |config|
5
- config.raise_errors_for_deprecations!
6
- end