retryable 1.3.0 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md ADDED
@@ -0,0 +1,33 @@
1
+ ## Retryable 1.3.1 ##
2
+
3
+ * :ensure retryable option add added
4
+
5
+ * ArgumentError is raised instead of InvalidRetryableOptions in case of invalid option param for retryable block
6
+
7
+ ## Retryable 1.3.0 ##
8
+
9
+ * StandardError is now default exception for rescuing.
10
+
11
+ ## Retryable 1.2.5 ##
12
+
13
+ * became friendly to any rubygems version installed
14
+
15
+ ## Retryable 1.2.4 ##
16
+
17
+ * added :matching option + better options validation
18
+
19
+ ## Retryable 1.2.3 ##
20
+
21
+ * fixed dependencies
22
+
23
+ ## Retryable 1.2.2 ##
24
+
25
+ * added :sleep option
26
+
27
+ ## Retryable 1.2.1 ##
28
+
29
+ * stability -- Thoroughly unit-tested
30
+
31
+ ## Retryable 1.2.0 ##
32
+
33
+ * FIX -- block would run twice when `:tries` was set to `0`. (Thanks for the heads-up to [Tuker](http://github.com/tuker).)
data/LICENSE.md ADDED
@@ -0,0 +1,24 @@
1
+ (The MIT License)
2
+
3
+ Copyright (c) 2011 Carlo Zottmann
4
+
5
+ Copyright (c) 2012 Nikita Fedyashev
6
+
7
+ Permission is hereby granted, free of charge, to any person obtaining
8
+ a copy of this software and associated documentation files (the
9
+ "Software"), to deal in the Software without restriction, including
10
+ without limitation the rights to use, copy, modify, merge, publish,
11
+ distribute, sublicense, and/or sell copies of the Software, and to
12
+ permit persons to whom the Software is furnished to do so, subject to
13
+ the following conditions:
14
+
15
+ The above copyright notice and this permission notice shall be
16
+ included in all copies or substantial portions of the Software.
17
+
18
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
22
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
23
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
24
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -9,7 +9,7 @@ Description
9
9
  Runs a code block, and retries it when an exception occurs. It's great when
10
10
  working with flakey webservices (for example).
11
11
 
12
- It's configured using four optional parameters --`:tries`, `:on`, `:sleep`, `:matching`--, and
12
+ It's configured using four optional parameters `:tries`, `:on`, `:sleep`, `:matching`, `:ensure` and
13
13
  runs the passed block. Should an exception occur, it'll retry for (n-1) times.
14
14
 
15
15
  Should the number of retries be reached without success, the last exception
@@ -22,11 +22,10 @@ Examples
22
22
  Open an URL, retry up to two times when an `OpenURI::HTTPError` occurs.
23
23
 
24
24
  ``` ruby
25
- require "retryable"
26
25
  require "open-uri"
27
26
 
28
- retryable( :tries => 3, :on => OpenURI::HTTPError ) do
29
- xml = open( "http://example.com/test.xml" ).read
27
+ retryable(:tries => 3, :on => OpenURI::HTTPError) do
28
+ xml = open("http://example.com/test.xml").read
30
29
  end
31
30
  ```
32
31
 
@@ -34,16 +33,30 @@ Do _something_, retry up to four times for either `ArgumentError` or
34
33
  `TimeoutError` exceptions.
35
34
 
36
35
  ``` ruby
37
- require "retryable"
38
-
39
- retryable( :tries => 5, :on => [ ArgumentError, TimeoutError ] ) do
36
+ retryable(:tries => 5, :on => [ArgumentError, TimeoutError]) do
40
37
  # some crazy code
41
38
  end
42
39
  ```
43
40
 
41
+ Ensure that block of code is executed, regardless of whether an exception was raised. It doesn't matter if the block exits normally, if it retries to execute block of code, or if it is terminated by an uncaught exception -- the ensure block will get run.
42
+
43
+ ``` ruby
44
+ f = File.open("testfile")
45
+
46
+ ensure_cb = Proc.new do |retries|
47
+ puts "total retry attempts: #{retries}"
48
+
49
+ f.close
50
+ end
51
+
52
+ retryable(:ensure => ensure_cb) do
53
+ # process file
54
+ end
55
+ ```
56
+
44
57
  ## Defaults
45
58
 
46
- :tries => 2, :on => StandardError, :sleep => 1, :matching => /.*/
59
+ :tries => 2, :on => StandardError, :sleep => 1, :matching => /.*/, :ensure => Proc.new { }
47
60
 
48
61
  Sleeping
49
62
  --------
@@ -91,21 +104,8 @@ Add it to your Gemfile:
91
104
  gem 'retryable'
92
105
  ```
93
106
 
94
-
95
- ## Changelog
96
-
97
- * v1.3.0: StandardError is now default exception for rescuing.
98
- * v1.2.5: became friendly to any rubygems version installed
99
- * v1.2.4: added :matching option + better options validation
100
- * v1.2.3: fixed dependencies
101
- * v1.2.2: added :sleep option
102
- * v1.2.1: stability -- Thoroughly unit-tested
103
- * v1.2: FIX -- block would run twice when `:tries` was set to `0`. (Thanks for the heads-up to [Tuker](http://github.com/tuker).)
104
-
105
-
106
107
  ## Thanks
107
108
 
108
109
  [Chu Yeow for this nifty piece of code](http://blog.codefront.net/2008/01/14/retrying-code-blocks-in-ruby-on-exceptions-whatever/)
109
110
  [Scott Bronson](https://github.com/bronson/retryable)
110
111
 
111
-
data/Rakefile ADDED
@@ -0,0 +1,11 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
3
+
4
+ require 'rspec/core/rake_task'
5
+ RSpec::Core::RakeTask.new(:spec)
6
+
7
+ task :test => :spec
8
+ task :default => :spec
9
+
10
+ require 'yard'
11
+ YARD::Rake::YardocTask.new
data/lib/retryable.rb CHANGED
@@ -1,18 +1,16 @@
1
1
 
2
2
  module Kernel
3
- class InvalidRetryableOptions < RuntimeError; end
4
-
5
3
  def retryable(options = {}, &block)
6
- opts = { :tries => 2, :sleep => 1, :on => StandardError, :matching => /.*/ }
4
+ opts = {:tries => 2, :sleep => 1, :on => StandardError, :matching => /.*/, :ensure => Proc.new {}}
7
5
  check_for_invalid_options(options, opts)
8
6
  opts.merge!(options)
9
7
 
10
- return nil if opts[:tries] == 0
8
+ return if opts[:tries] == 0
11
9
 
12
10
  on_exception, tries = [ opts[:on] ].flatten, opts[:tries]
13
11
  retries = 0
14
12
  retry_exception = nil
15
-
13
+
16
14
  begin
17
15
  return yield retries, retry_exception
18
16
  rescue *on_exception => exception
@@ -28,6 +26,8 @@ module Kernel
28
26
  retries += 1
29
27
  retry_exception = exception
30
28
  retry
29
+ ensure
30
+ opts[:ensure].call(retries)
31
31
  end
32
32
  end
33
33
 
@@ -35,6 +35,7 @@ module Kernel
35
35
 
36
36
  def check_for_invalid_options(custom_options, default_options)
37
37
  invalid_options = default_options.merge(custom_options).keys - default_options.keys
38
- raise InvalidRetryableOptions.new("Invalid options: #{invalid_options.join(", ")}") unless invalid_options.empty?
38
+
39
+ raise ArgumentError.new("[Retryable] Invalid options: #{invalid_options.join(", ")}") unless invalid_options.empty?
39
40
  end
40
41
  end
data/retryable.gemspec ADDED
@@ -0,0 +1,20 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |gem|
4
+ gem.add_development_dependency 'bundler'
5
+ gem.add_development_dependency 'rspec'
6
+ gem.add_development_dependency 'yard'
7
+ gem.authors = ["Nikita Fedyashev", "Carlo Zottmann", "Chu Yeow"]
8
+ gem.description = %q{Kernel#retryable, allow for retrying of code blocks.}
9
+ gem.email = %q{loci.master@gmail.com}
10
+ gem.files = %w(CHANGELOG.md LICENSE.md README.md Rakefile retryable.gemspec)
11
+ gem.files += Dir.glob("lib/**/*.rb")
12
+ gem.files += Dir.glob("spec/**/*")
13
+ gem.homepage = %q{http://github.com/nfedyashev/retryable}
14
+ gem.name = 'retryable'
15
+ gem.require_paths = ["lib"]
16
+ gem.required_rubygems_version = '>= 1.3.6'
17
+ gem.summary = %q{Kernel#retryable, allow for retrying of code blocks.}
18
+ gem.test_files = Dir.glob("spec/**/*")
19
+ gem.version = "1.3.1"
20
+ end
@@ -6,7 +6,7 @@ describe 'retryable' do
6
6
  @attempt = 0
7
7
  end
8
8
 
9
- it "should only catch StandardError by default" do
9
+ it "should only catch StandardError by default" do
10
10
  lambda do
11
11
  count_retryable(:tries => 2) { |tries, ex| raise Exception if tries < 1 }
12
12
  end.should raise_error Exception
@@ -20,6 +20,14 @@ describe 'retryable' do
20
20
  @try_count.should == 2
21
21
  end
22
22
 
23
+ it "should execute *ensure* clause" do
24
+ ensure_cb = Proc.new do |retries|
25
+ retries.should == 0
26
+ end
27
+
28
+ Kernel.retryable(:ensure => ensure_cb) { }
29
+ end
30
+
23
31
  it "should pass retry count and exception on retry" do
24
32
  Kernel.should_receive(:sleep).once.with(1)
25
33
 
@@ -88,7 +96,7 @@ describe 'retryable' do
88
96
  it "doesn't allow invalid options" do
89
97
  lambda do
90
98
  retryable(:bad_option => 2) { raise "this is bad" }
91
- end.should raise_error InvalidRetryableOptions
99
+ end.should raise_error ArgumentError, '[Retryable] Invalid options: bad_option'
92
100
  end
93
101
 
94
102
  private
@@ -0,0 +1,3639 @@
1
+ !RBIX
2
+ 9595534255132031488
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 22
13
+ 5
14
+ 7
15
+ 0
16
+ 64
17
+ 47
18
+ 49
19
+ 1
20
+ 1
21
+ 15
22
+ 5
23
+ 7
24
+ 2
25
+ 64
26
+ 56
27
+ 3
28
+ 47
29
+ 50
30
+ 4
31
+ 1
32
+ 15
33
+ 2
34
+ 11
35
+ I
36
+ 3
37
+ I
38
+ 0
39
+ I
40
+ 0
41
+ I
42
+ 0
43
+ n
44
+ p
45
+ 5
46
+ s
47
+ 11
48
+ spec_helper
49
+ x
50
+ 7
51
+ require
52
+ s
53
+ 9
54
+ retryable
55
+ M
56
+ 1
57
+ p
58
+ 2
59
+ x
60
+ 9
61
+ for_block
62
+ t
63
+ n
64
+ x
65
+ 9
66
+ __block__
67
+ i
68
+ 160
69
+ 5
70
+ 7
71
+ 0
72
+ 56
73
+ 1
74
+ 47
75
+ 50
76
+ 2
77
+ 1
78
+ 15
79
+ 5
80
+ 7
81
+ 3
82
+ 64
83
+ 56
84
+ 4
85
+ 47
86
+ 50
87
+ 5
88
+ 1
89
+ 15
90
+ 5
91
+ 7
92
+ 6
93
+ 64
94
+ 56
95
+ 7
96
+ 47
97
+ 50
98
+ 5
99
+ 1
100
+ 15
101
+ 5
102
+ 7
103
+ 8
104
+ 64
105
+ 56
106
+ 9
107
+ 47
108
+ 50
109
+ 5
110
+ 1
111
+ 15
112
+ 5
113
+ 7
114
+ 10
115
+ 64
116
+ 56
117
+ 11
118
+ 47
119
+ 50
120
+ 5
121
+ 1
122
+ 15
123
+ 5
124
+ 7
125
+ 12
126
+ 64
127
+ 56
128
+ 13
129
+ 47
130
+ 50
131
+ 5
132
+ 1
133
+ 15
134
+ 5
135
+ 7
136
+ 14
137
+ 64
138
+ 56
139
+ 15
140
+ 47
141
+ 50
142
+ 5
143
+ 1
144
+ 15
145
+ 5
146
+ 7
147
+ 6
148
+ 64
149
+ 56
150
+ 16
151
+ 47
152
+ 50
153
+ 5
154
+ 1
155
+ 15
156
+ 5
157
+ 7
158
+ 17
159
+ 64
160
+ 56
161
+ 18
162
+ 47
163
+ 50
164
+ 5
165
+ 1
166
+ 15
167
+ 5
168
+ 7
169
+ 19
170
+ 64
171
+ 56
172
+ 20
173
+ 47
174
+ 50
175
+ 5
176
+ 1
177
+ 15
178
+ 5
179
+ 7
180
+ 21
181
+ 64
182
+ 56
183
+ 22
184
+ 47
185
+ 50
186
+ 5
187
+ 1
188
+ 15
189
+ 5
190
+ 7
191
+ 23
192
+ 64
193
+ 56
194
+ 24
195
+ 47
196
+ 50
197
+ 5
198
+ 1
199
+ 15
200
+ 5
201
+ 7
202
+ 25
203
+ 64
204
+ 56
205
+ 26
206
+ 47
207
+ 50
208
+ 5
209
+ 1
210
+ 15
211
+ 5
212
+ 48
213
+ 27
214
+ 15
215
+ 99
216
+ 7
217
+ 28
218
+ 7
219
+ 29
220
+ 65
221
+ 67
222
+ 49
223
+ 30
224
+ 0
225
+ 49
226
+ 31
227
+ 4
228
+ 11
229
+ I
230
+ 6
231
+ I
232
+ 0
233
+ I
234
+ 0
235
+ I
236
+ 0
237
+ I
238
+ -2
239
+ p
240
+ 32
241
+ x
242
+ 4
243
+ each
244
+ M
245
+ 1
246
+ p
247
+ 2
248
+ x
249
+ 9
250
+ for_block
251
+ t
252
+ n
253
+ x
254
+ 9
255
+ __block__
256
+ i
257
+ 4
258
+ 78
259
+ 38
260
+ 0
261
+ 11
262
+ I
263
+ 2
264
+ I
265
+ 0
266
+ I
267
+ 0
268
+ I
269
+ 0
270
+ I
271
+ -2
272
+ p
273
+ 1
274
+ x
275
+ 8
276
+ @attempt
277
+ p
278
+ 3
279
+ I
280
+ 0
281
+ I
282
+ 6
283
+ I
284
+ 4
285
+ x
286
+ 54
287
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
288
+ p
289
+ 0
290
+ x
291
+ 6
292
+ before
293
+ s
294
+ 42
295
+ should only catch StandardError by default
296
+ M
297
+ 1
298
+ p
299
+ 2
300
+ x
301
+ 9
302
+ for_block
303
+ t
304
+ n
305
+ x
306
+ 9
307
+ __block__
308
+ i
309
+ 28
310
+ 5
311
+ 56
312
+ 0
313
+ 47
314
+ 50
315
+ 1
316
+ 0
317
+ 5
318
+ 45
319
+ 2
320
+ 3
321
+ 47
322
+ 49
323
+ 4
324
+ 1
325
+ 49
326
+ 5
327
+ 1
328
+ 15
329
+ 39
330
+ 6
331
+ 49
332
+ 5
333
+ 0
334
+ 79
335
+ 83
336
+ 7
337
+ 11
338
+ I
339
+ 4
340
+ I
341
+ 0
342
+ I
343
+ 0
344
+ I
345
+ 0
346
+ I
347
+ -2
348
+ p
349
+ 8
350
+ M
351
+ 1
352
+ p
353
+ 2
354
+ x
355
+ 9
356
+ for_block
357
+ t
358
+ n
359
+ x
360
+ 9
361
+ __block__
362
+ i
363
+ 23
364
+ 5
365
+ 44
366
+ 43
367
+ 0
368
+ 79
369
+ 49
370
+ 1
371
+ 1
372
+ 13
373
+ 7
374
+ 2
375
+ 80
376
+ 49
377
+ 3
378
+ 2
379
+ 15
380
+ 56
381
+ 4
382
+ 47
383
+ 50
384
+ 5
385
+ 1
386
+ 11
387
+ I
388
+ 6
389
+ I
390
+ 0
391
+ I
392
+ 0
393
+ I
394
+ 0
395
+ I
396
+ -2
397
+ p
398
+ 6
399
+ x
400
+ 4
401
+ Hash
402
+ x
403
+ 16
404
+ new_from_literal
405
+ x
406
+ 5
407
+ tries
408
+ x
409
+ 3
410
+ []=
411
+ M
412
+ 1
413
+ p
414
+ 2
415
+ x
416
+ 9
417
+ for_block
418
+ t
419
+ n
420
+ x
421
+ 9
422
+ __block__
423
+ i
424
+ 29
425
+ 58
426
+ 37
427
+ 19
428
+ 0
429
+ 15
430
+ 37
431
+ 19
432
+ 1
433
+ 15
434
+ 15
435
+ 20
436
+ 0
437
+ 79
438
+ 84
439
+ 0
440
+ 9
441
+ 27
442
+ 5
443
+ 45
444
+ 1
445
+ 2
446
+ 47
447
+ 49
448
+ 3
449
+ 1
450
+ 8
451
+ 28
452
+ 1
453
+ 11
454
+ I
455
+ 5
456
+ I
457
+ 2
458
+ I
459
+ 2
460
+ I
461
+ 2
462
+ n
463
+ p
464
+ 4
465
+ x
466
+ 1
467
+ <
468
+ x
469
+ 9
470
+ Exception
471
+ n
472
+ x
473
+ 5
474
+ raise
475
+ p
476
+ 5
477
+ I
478
+ 0
479
+ I
480
+ b
481
+ I
482
+ 1c
483
+ I
484
+ 0
485
+ I
486
+ 1d
487
+ x
488
+ 54
489
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
490
+ p
491
+ 2
492
+ x
493
+ 5
494
+ tries
495
+ x
496
+ 2
497
+ ex
498
+ x
499
+ 15
500
+ count_retryable
501
+ p
502
+ 3
503
+ I
504
+ 0
505
+ I
506
+ b
507
+ I
508
+ 17
509
+ x
510
+ 54
511
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
512
+ p
513
+ 0
514
+ x
515
+ 6
516
+ lambda
517
+ x
518
+ 9
519
+ Exception
520
+ n
521
+ x
522
+ 11
523
+ raise_error
524
+ x
525
+ 6
526
+ should
527
+ x
528
+ 10
529
+ @try_count
530
+ x
531
+ 2
532
+ ==
533
+ p
534
+ 9
535
+ I
536
+ 0
537
+ I
538
+ a
539
+ I
540
+ 7
541
+ I
542
+ c
543
+ I
544
+ f
545
+ I
546
+ a
547
+ I
548
+ 13
549
+ I
550
+ d
551
+ I
552
+ 1c
553
+ x
554
+ 54
555
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
556
+ p
557
+ 0
558
+ x
559
+ 2
560
+ it
561
+ s
562
+ 33
563
+ should retry on default exception
564
+ M
565
+ 1
566
+ p
567
+ 2
568
+ x
569
+ 9
570
+ for_block
571
+ t
572
+ n
573
+ x
574
+ 9
575
+ __block__
576
+ i
577
+ 48
578
+ 45
579
+ 0
580
+ 1
581
+ 7
582
+ 2
583
+ 49
584
+ 3
585
+ 1
586
+ 49
587
+ 4
588
+ 0
589
+ 79
590
+ 49
591
+ 5
592
+ 1
593
+ 15
594
+ 5
595
+ 44
596
+ 43
597
+ 6
598
+ 79
599
+ 49
600
+ 7
601
+ 1
602
+ 13
603
+ 7
604
+ 8
605
+ 80
606
+ 49
607
+ 9
608
+ 2
609
+ 15
610
+ 56
611
+ 10
612
+ 47
613
+ 50
614
+ 11
615
+ 1
616
+ 15
617
+ 39
618
+ 12
619
+ 49
620
+ 13
621
+ 0
622
+ 80
623
+ 83
624
+ 14
625
+ 11
626
+ I
627
+ 6
628
+ I
629
+ 0
630
+ I
631
+ 0
632
+ I
633
+ 0
634
+ I
635
+ -2
636
+ p
637
+ 15
638
+ x
639
+ 6
640
+ Kernel
641
+ n
642
+ x
643
+ 5
644
+ sleep
645
+ x
646
+ 14
647
+ should_receive
648
+ x
649
+ 4
650
+ once
651
+ x
652
+ 4
653
+ with
654
+ x
655
+ 4
656
+ Hash
657
+ x
658
+ 16
659
+ new_from_literal
660
+ x
661
+ 5
662
+ tries
663
+ x
664
+ 3
665
+ []=
666
+ M
667
+ 1
668
+ p
669
+ 2
670
+ x
671
+ 9
672
+ for_block
673
+ t
674
+ n
675
+ x
676
+ 9
677
+ __block__
678
+ i
679
+ 29
680
+ 58
681
+ 37
682
+ 19
683
+ 0
684
+ 15
685
+ 37
686
+ 19
687
+ 1
688
+ 15
689
+ 15
690
+ 20
691
+ 0
692
+ 79
693
+ 84
694
+ 0
695
+ 9
696
+ 27
697
+ 5
698
+ 45
699
+ 1
700
+ 2
701
+ 47
702
+ 49
703
+ 3
704
+ 1
705
+ 8
706
+ 28
707
+ 1
708
+ 11
709
+ I
710
+ 5
711
+ I
712
+ 2
713
+ I
714
+ 2
715
+ I
716
+ 2
717
+ n
718
+ p
719
+ 4
720
+ x
721
+ 1
722
+ <
723
+ x
724
+ 13
725
+ StandardError
726
+ n
727
+ x
728
+ 5
729
+ raise
730
+ p
731
+ 5
732
+ I
733
+ 0
734
+ I
735
+ 13
736
+ I
737
+ 1c
738
+ I
739
+ 0
740
+ I
741
+ 1d
742
+ x
743
+ 54
744
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
745
+ p
746
+ 2
747
+ x
748
+ 5
749
+ tries
750
+ x
751
+ 2
752
+ ex
753
+ x
754
+ 15
755
+ count_retryable
756
+ x
757
+ 10
758
+ @try_count
759
+ x
760
+ 6
761
+ should
762
+ x
763
+ 2
764
+ ==
765
+ p
766
+ 7
767
+ I
768
+ 0
769
+ I
770
+ 11
771
+ I
772
+ 10
773
+ I
774
+ 13
775
+ I
776
+ 27
777
+ I
778
+ 14
779
+ I
780
+ 30
781
+ x
782
+ 54
783
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
784
+ p
785
+ 0
786
+ s
787
+ 46
788
+ should pass retry count and exception on retry
789
+ M
790
+ 1
791
+ p
792
+ 2
793
+ x
794
+ 9
795
+ for_block
796
+ t
797
+ n
798
+ x
799
+ 9
800
+ __block__
801
+ i
802
+ 48
803
+ 45
804
+ 0
805
+ 1
806
+ 7
807
+ 2
808
+ 49
809
+ 3
810
+ 1
811
+ 49
812
+ 4
813
+ 0
814
+ 79
815
+ 49
816
+ 5
817
+ 1
818
+ 15
819
+ 5
820
+ 44
821
+ 43
822
+ 6
823
+ 79
824
+ 49
825
+ 7
826
+ 1
827
+ 13
828
+ 7
829
+ 8
830
+ 80
831
+ 49
832
+ 9
833
+ 2
834
+ 15
835
+ 56
836
+ 10
837
+ 47
838
+ 50
839
+ 11
840
+ 1
841
+ 15
842
+ 39
843
+ 12
844
+ 49
845
+ 13
846
+ 0
847
+ 80
848
+ 83
849
+ 14
850
+ 11
851
+ I
852
+ 6
853
+ I
854
+ 0
855
+ I
856
+ 0
857
+ I
858
+ 0
859
+ I
860
+ -2
861
+ p
862
+ 15
863
+ x
864
+ 6
865
+ Kernel
866
+ n
867
+ x
868
+ 5
869
+ sleep
870
+ x
871
+ 14
872
+ should_receive
873
+ x
874
+ 4
875
+ once
876
+ x
877
+ 4
878
+ with
879
+ x
880
+ 4
881
+ Hash
882
+ x
883
+ 16
884
+ new_from_literal
885
+ x
886
+ 5
887
+ tries
888
+ x
889
+ 3
890
+ []=
891
+ M
892
+ 1
893
+ p
894
+ 2
895
+ x
896
+ 9
897
+ for_block
898
+ t
899
+ n
900
+ x
901
+ 9
902
+ __block__
903
+ i
904
+ 53
905
+ 58
906
+ 37
907
+ 19
908
+ 0
909
+ 15
910
+ 37
911
+ 19
912
+ 1
913
+ 15
914
+ 15
915
+ 20
916
+ 0
917
+ 78
918
+ 85
919
+ 0
920
+ 9
921
+ 32
922
+ 20
923
+ 1
924
+ 49
925
+ 1
926
+ 0
927
+ 49
928
+ 2
929
+ 0
930
+ 45
931
+ 3
932
+ 4
933
+ 83
934
+ 5
935
+ 8
936
+ 33
937
+ 1
938
+ 15
939
+ 20
940
+ 0
941
+ 79
942
+ 84
943
+ 6
944
+ 9
945
+ 51
946
+ 5
947
+ 45
948
+ 3
949
+ 7
950
+ 47
951
+ 49
952
+ 8
953
+ 1
954
+ 8
955
+ 52
956
+ 1
957
+ 11
958
+ I
959
+ 5
960
+ I
961
+ 2
962
+ I
963
+ 2
964
+ I
965
+ 2
966
+ n
967
+ p
968
+ 9
969
+ x
970
+ 1
971
+ >
972
+ x
973
+ 5
974
+ class
975
+ x
976
+ 6
977
+ should
978
+ x
979
+ 13
980
+ StandardError
981
+ n
982
+ x
983
+ 2
984
+ ==
985
+ x
986
+ 1
987
+ <
988
+ n
989
+ x
990
+ 5
991
+ raise
992
+ p
993
+ 11
994
+ I
995
+ 0
996
+ I
997
+ 1a
998
+ I
999
+ a
1000
+ I
1001
+ 1b
1002
+ I
1003
+ 21
1004
+ I
1005
+ 0
1006
+ I
1007
+ 22
1008
+ I
1009
+ 1c
1010
+ I
1011
+ 34
1012
+ I
1013
+ 0
1014
+ I
1015
+ 35
1016
+ x
1017
+ 54
1018
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
1019
+ p
1020
+ 2
1021
+ x
1022
+ 5
1023
+ tries
1024
+ x
1025
+ 2
1026
+ ex
1027
+ x
1028
+ 15
1029
+ count_retryable
1030
+ x
1031
+ 10
1032
+ @try_count
1033
+ x
1034
+ 6
1035
+ should
1036
+ x
1037
+ 2
1038
+ ==
1039
+ p
1040
+ 7
1041
+ I
1042
+ 0
1043
+ I
1044
+ 18
1045
+ I
1046
+ 10
1047
+ I
1048
+ 1a
1049
+ I
1050
+ 27
1051
+ I
1052
+ 1e
1053
+ I
1054
+ 30
1055
+ x
1056
+ 54
1057
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
1058
+ p
1059
+ 0
1060
+ s
1061
+ 54
1062
+ should make another try if exception is covered by :on
1063
+ M
1064
+ 1
1065
+ p
1066
+ 2
1067
+ x
1068
+ 9
1069
+ for_block
1070
+ t
1071
+ n
1072
+ x
1073
+ 9
1074
+ __block__
1075
+ i
1076
+ 51
1077
+ 45
1078
+ 0
1079
+ 1
1080
+ 7
1081
+ 2
1082
+ 49
1083
+ 3
1084
+ 1
1085
+ 15
1086
+ 5
1087
+ 44
1088
+ 43
1089
+ 4
1090
+ 79
1091
+ 49
1092
+ 5
1093
+ 1
1094
+ 13
1095
+ 7
1096
+ 6
1097
+ 45
1098
+ 7
1099
+ 8
1100
+ 45
1101
+ 9
1102
+ 10
1103
+ 45
1104
+ 11
1105
+ 12
1106
+ 35
1107
+ 3
1108
+ 49
1109
+ 13
1110
+ 2
1111
+ 15
1112
+ 56
1113
+ 14
1114
+ 47
1115
+ 50
1116
+ 15
1117
+ 1
1118
+ 15
1119
+ 39
1120
+ 16
1121
+ 49
1122
+ 17
1123
+ 0
1124
+ 80
1125
+ 83
1126
+ 18
1127
+ 11
1128
+ I
1129
+ 8
1130
+ I
1131
+ 0
1132
+ I
1133
+ 0
1134
+ I
1135
+ 0
1136
+ I
1137
+ -2
1138
+ p
1139
+ 19
1140
+ x
1141
+ 6
1142
+ Kernel
1143
+ n
1144
+ x
1145
+ 5
1146
+ sleep
1147
+ x
1148
+ 5
1149
+ stub!
1150
+ x
1151
+ 4
1152
+ Hash
1153
+ x
1154
+ 16
1155
+ new_from_literal
1156
+ x
1157
+ 2
1158
+ on
1159
+ x
1160
+ 13
1161
+ StandardError
1162
+ n
1163
+ x
1164
+ 13
1165
+ ArgumentError
1166
+ n
1167
+ x
1168
+ 12
1169
+ RuntimeError
1170
+ n
1171
+ x
1172
+ 3
1173
+ []=
1174
+ M
1175
+ 1
1176
+ p
1177
+ 2
1178
+ x
1179
+ 9
1180
+ for_block
1181
+ t
1182
+ n
1183
+ x
1184
+ 9
1185
+ __block__
1186
+ i
1187
+ 29
1188
+ 58
1189
+ 37
1190
+ 19
1191
+ 0
1192
+ 15
1193
+ 37
1194
+ 19
1195
+ 1
1196
+ 15
1197
+ 15
1198
+ 20
1199
+ 0
1200
+ 79
1201
+ 84
1202
+ 0
1203
+ 9
1204
+ 27
1205
+ 5
1206
+ 45
1207
+ 1
1208
+ 2
1209
+ 47
1210
+ 49
1211
+ 3
1212
+ 1
1213
+ 8
1214
+ 28
1215
+ 1
1216
+ 11
1217
+ I
1218
+ 5
1219
+ I
1220
+ 2
1221
+ I
1222
+ 2
1223
+ I
1224
+ 2
1225
+ n
1226
+ p
1227
+ 4
1228
+ x
1229
+ 1
1230
+ <
1231
+ x
1232
+ 13
1233
+ ArgumentError
1234
+ n
1235
+ x
1236
+ 5
1237
+ raise
1238
+ p
1239
+ 5
1240
+ I
1241
+ 0
1242
+ I
1243
+ 23
1244
+ I
1245
+ 1c
1246
+ I
1247
+ 0
1248
+ I
1249
+ 1d
1250
+ x
1251
+ 54
1252
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
1253
+ p
1254
+ 2
1255
+ x
1256
+ 5
1257
+ tries
1258
+ x
1259
+ 2
1260
+ ex
1261
+ x
1262
+ 15
1263
+ count_retryable
1264
+ x
1265
+ 10
1266
+ @try_count
1267
+ x
1268
+ 6
1269
+ should
1270
+ x
1271
+ 2
1272
+ ==
1273
+ p
1274
+ 7
1275
+ I
1276
+ 0
1277
+ I
1278
+ 22
1279
+ I
1280
+ 9
1281
+ I
1282
+ 23
1283
+ I
1284
+ 2a
1285
+ I
1286
+ 24
1287
+ I
1288
+ 33
1289
+ x
1290
+ 54
1291
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
1292
+ p
1293
+ 0
1294
+ s
1295
+ 38
1296
+ should not try on unexpected exception
1297
+ M
1298
+ 1
1299
+ p
1300
+ 2
1301
+ x
1302
+ 9
1303
+ for_block
1304
+ t
1305
+ n
1306
+ x
1307
+ 9
1308
+ __block__
1309
+ i
1310
+ 37
1311
+ 45
1312
+ 0
1313
+ 1
1314
+ 7
1315
+ 2
1316
+ 49
1317
+ 3
1318
+ 1
1319
+ 15
1320
+ 5
1321
+ 56
1322
+ 4
1323
+ 47
1324
+ 50
1325
+ 5
1326
+ 0
1327
+ 5
1328
+ 45
1329
+ 6
1330
+ 7
1331
+ 47
1332
+ 49
1333
+ 8
1334
+ 1
1335
+ 49
1336
+ 9
1337
+ 1
1338
+ 15
1339
+ 39
1340
+ 10
1341
+ 49
1342
+ 9
1343
+ 0
1344
+ 79
1345
+ 83
1346
+ 11
1347
+ 11
1348
+ I
1349
+ 4
1350
+ I
1351
+ 0
1352
+ I
1353
+ 0
1354
+ I
1355
+ 0
1356
+ I
1357
+ -2
1358
+ p
1359
+ 12
1360
+ x
1361
+ 6
1362
+ Kernel
1363
+ n
1364
+ x
1365
+ 5
1366
+ sleep
1367
+ x
1368
+ 5
1369
+ stub!
1370
+ M
1371
+ 1
1372
+ p
1373
+ 2
1374
+ x
1375
+ 9
1376
+ for_block
1377
+ t
1378
+ n
1379
+ x
1380
+ 9
1381
+ __block__
1382
+ i
1383
+ 25
1384
+ 5
1385
+ 44
1386
+ 43
1387
+ 0
1388
+ 79
1389
+ 49
1390
+ 1
1391
+ 1
1392
+ 13
1393
+ 7
1394
+ 2
1395
+ 45
1396
+ 3
1397
+ 4
1398
+ 49
1399
+ 5
1400
+ 2
1401
+ 15
1402
+ 56
1403
+ 6
1404
+ 47
1405
+ 50
1406
+ 7
1407
+ 1
1408
+ 11
1409
+ I
1410
+ 6
1411
+ I
1412
+ 0
1413
+ I
1414
+ 0
1415
+ I
1416
+ 0
1417
+ I
1418
+ -2
1419
+ p
1420
+ 8
1421
+ x
1422
+ 4
1423
+ Hash
1424
+ x
1425
+ 16
1426
+ new_from_literal
1427
+ x
1428
+ 2
1429
+ on
1430
+ x
1431
+ 12
1432
+ RuntimeError
1433
+ n
1434
+ x
1435
+ 3
1436
+ []=
1437
+ M
1438
+ 1
1439
+ p
1440
+ 2
1441
+ x
1442
+ 9
1443
+ for_block
1444
+ t
1445
+ n
1446
+ x
1447
+ 9
1448
+ __block__
1449
+ i
1450
+ 29
1451
+ 58
1452
+ 37
1453
+ 19
1454
+ 0
1455
+ 15
1456
+ 37
1457
+ 19
1458
+ 1
1459
+ 15
1460
+ 15
1461
+ 20
1462
+ 0
1463
+ 79
1464
+ 84
1465
+ 0
1466
+ 9
1467
+ 27
1468
+ 5
1469
+ 45
1470
+ 1
1471
+ 2
1472
+ 47
1473
+ 49
1474
+ 3
1475
+ 1
1476
+ 8
1477
+ 28
1478
+ 1
1479
+ 11
1480
+ I
1481
+ 5
1482
+ I
1483
+ 2
1484
+ I
1485
+ 2
1486
+ I
1487
+ 2
1488
+ n
1489
+ p
1490
+ 4
1491
+ x
1492
+ 1
1493
+ <
1494
+ x
1495
+ 13
1496
+ StandardError
1497
+ n
1498
+ x
1499
+ 5
1500
+ raise
1501
+ p
1502
+ 5
1503
+ I
1504
+ 0
1505
+ I
1506
+ 2a
1507
+ I
1508
+ 1c
1509
+ I
1510
+ 0
1511
+ I
1512
+ 1d
1513
+ x
1514
+ 54
1515
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
1516
+ p
1517
+ 2
1518
+ x
1519
+ 5
1520
+ tries
1521
+ x
1522
+ 2
1523
+ ex
1524
+ x
1525
+ 15
1526
+ count_retryable
1527
+ p
1528
+ 3
1529
+ I
1530
+ 0
1531
+ I
1532
+ 2a
1533
+ I
1534
+ 19
1535
+ x
1536
+ 54
1537
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
1538
+ p
1539
+ 0
1540
+ x
1541
+ 6
1542
+ lambda
1543
+ x
1544
+ 13
1545
+ StandardError
1546
+ n
1547
+ x
1548
+ 11
1549
+ raise_error
1550
+ x
1551
+ 6
1552
+ should
1553
+ x
1554
+ 10
1555
+ @try_count
1556
+ x
1557
+ 2
1558
+ ==
1559
+ p
1560
+ 11
1561
+ I
1562
+ 0
1563
+ I
1564
+ 28
1565
+ I
1566
+ 9
1567
+ I
1568
+ 29
1569
+ I
1570
+ 10
1571
+ I
1572
+ 2b
1573
+ I
1574
+ 18
1575
+ I
1576
+ 29
1577
+ I
1578
+ 1c
1579
+ I
1580
+ 2c
1581
+ I
1582
+ 25
1583
+ x
1584
+ 54
1585
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
1586
+ p
1587
+ 0
1588
+ s
1589
+ 18
1590
+ should three times
1591
+ M
1592
+ 1
1593
+ p
1594
+ 2
1595
+ x
1596
+ 9
1597
+ for_block
1598
+ t
1599
+ n
1600
+ x
1601
+ 9
1602
+ __block__
1603
+ i
1604
+ 43
1605
+ 45
1606
+ 0
1607
+ 1
1608
+ 7
1609
+ 2
1610
+ 49
1611
+ 3
1612
+ 1
1613
+ 15
1614
+ 5
1615
+ 44
1616
+ 43
1617
+ 4
1618
+ 79
1619
+ 49
1620
+ 5
1621
+ 1
1622
+ 13
1623
+ 7
1624
+ 6
1625
+ 4
1626
+ 3
1627
+ 49
1628
+ 7
1629
+ 2
1630
+ 15
1631
+ 56
1632
+ 8
1633
+ 47
1634
+ 50
1635
+ 9
1636
+ 1
1637
+ 15
1638
+ 39
1639
+ 10
1640
+ 49
1641
+ 11
1642
+ 0
1643
+ 4
1644
+ 3
1645
+ 83
1646
+ 12
1647
+ 11
1648
+ I
1649
+ 6
1650
+ I
1651
+ 0
1652
+ I
1653
+ 0
1654
+ I
1655
+ 0
1656
+ I
1657
+ -2
1658
+ p
1659
+ 13
1660
+ x
1661
+ 6
1662
+ Kernel
1663
+ n
1664
+ x
1665
+ 5
1666
+ sleep
1667
+ x
1668
+ 5
1669
+ stub!
1670
+ x
1671
+ 4
1672
+ Hash
1673
+ x
1674
+ 16
1675
+ new_from_literal
1676
+ x
1677
+ 5
1678
+ tries
1679
+ x
1680
+ 3
1681
+ []=
1682
+ M
1683
+ 1
1684
+ p
1685
+ 2
1686
+ x
1687
+ 9
1688
+ for_block
1689
+ t
1690
+ n
1691
+ x
1692
+ 9
1693
+ __block__
1694
+ i
1695
+ 29
1696
+ 58
1697
+ 37
1698
+ 19
1699
+ 0
1700
+ 15
1701
+ 37
1702
+ 19
1703
+ 1
1704
+ 15
1705
+ 15
1706
+ 20
1707
+ 0
1708
+ 80
1709
+ 84
1710
+ 0
1711
+ 9
1712
+ 27
1713
+ 5
1714
+ 45
1715
+ 1
1716
+ 2
1717
+ 47
1718
+ 49
1719
+ 3
1720
+ 1
1721
+ 8
1722
+ 28
1723
+ 1
1724
+ 11
1725
+ I
1726
+ 5
1727
+ I
1728
+ 2
1729
+ I
1730
+ 2
1731
+ I
1732
+ 2
1733
+ n
1734
+ p
1735
+ 4
1736
+ x
1737
+ 1
1738
+ <
1739
+ x
1740
+ 13
1741
+ StandardError
1742
+ n
1743
+ x
1744
+ 5
1745
+ raise
1746
+ p
1747
+ 5
1748
+ I
1749
+ 0
1750
+ I
1751
+ 31
1752
+ I
1753
+ 1c
1754
+ I
1755
+ 0
1756
+ I
1757
+ 1d
1758
+ x
1759
+ 54
1760
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
1761
+ p
1762
+ 2
1763
+ x
1764
+ 5
1765
+ tries
1766
+ x
1767
+ 2
1768
+ ex
1769
+ x
1770
+ 15
1771
+ count_retryable
1772
+ x
1773
+ 10
1774
+ @try_count
1775
+ x
1776
+ 6
1777
+ should
1778
+ x
1779
+ 2
1780
+ ==
1781
+ p
1782
+ 7
1783
+ I
1784
+ 0
1785
+ I
1786
+ 30
1787
+ I
1788
+ 9
1789
+ I
1790
+ 31
1791
+ I
1792
+ 21
1793
+ I
1794
+ 32
1795
+ I
1796
+ 2b
1797
+ x
1798
+ 54
1799
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
1800
+ p
1801
+ 0
1802
+ M
1803
+ 1
1804
+ p
1805
+ 2
1806
+ x
1807
+ 9
1808
+ for_block
1809
+ t
1810
+ n
1811
+ x
1812
+ 9
1813
+ __block__
1814
+ i
1815
+ 48
1816
+ 45
1817
+ 0
1818
+ 1
1819
+ 7
1820
+ 2
1821
+ 49
1822
+ 3
1823
+ 1
1824
+ 49
1825
+ 4
1826
+ 0
1827
+ 79
1828
+ 49
1829
+ 5
1830
+ 1
1831
+ 15
1832
+ 5
1833
+ 44
1834
+ 43
1835
+ 6
1836
+ 79
1837
+ 49
1838
+ 7
1839
+ 1
1840
+ 13
1841
+ 7
1842
+ 8
1843
+ 80
1844
+ 49
1845
+ 9
1846
+ 2
1847
+ 15
1848
+ 56
1849
+ 10
1850
+ 47
1851
+ 50
1852
+ 11
1853
+ 1
1854
+ 15
1855
+ 39
1856
+ 12
1857
+ 49
1858
+ 13
1859
+ 0
1860
+ 80
1861
+ 83
1862
+ 14
1863
+ 11
1864
+ I
1865
+ 6
1866
+ I
1867
+ 0
1868
+ I
1869
+ 0
1870
+ I
1871
+ 0
1872
+ I
1873
+ -2
1874
+ p
1875
+ 15
1876
+ x
1877
+ 6
1878
+ Kernel
1879
+ n
1880
+ x
1881
+ 5
1882
+ sleep
1883
+ x
1884
+ 14
1885
+ should_receive
1886
+ x
1887
+ 4
1888
+ once
1889
+ x
1890
+ 4
1891
+ with
1892
+ x
1893
+ 4
1894
+ Hash
1895
+ x
1896
+ 16
1897
+ new_from_literal
1898
+ x
1899
+ 5
1900
+ tries
1901
+ x
1902
+ 3
1903
+ []=
1904
+ M
1905
+ 1
1906
+ p
1907
+ 2
1908
+ x
1909
+ 9
1910
+ for_block
1911
+ t
1912
+ n
1913
+ x
1914
+ 9
1915
+ __block__
1916
+ i
1917
+ 29
1918
+ 58
1919
+ 37
1920
+ 19
1921
+ 0
1922
+ 15
1923
+ 37
1924
+ 19
1925
+ 1
1926
+ 15
1927
+ 15
1928
+ 20
1929
+ 0
1930
+ 79
1931
+ 84
1932
+ 0
1933
+ 9
1934
+ 27
1935
+ 5
1936
+ 45
1937
+ 1
1938
+ 2
1939
+ 47
1940
+ 49
1941
+ 3
1942
+ 1
1943
+ 8
1944
+ 28
1945
+ 1
1946
+ 11
1947
+ I
1948
+ 5
1949
+ I
1950
+ 2
1951
+ I
1952
+ 2
1953
+ I
1954
+ 2
1955
+ n
1956
+ p
1957
+ 4
1958
+ x
1959
+ 1
1960
+ <
1961
+ x
1962
+ 13
1963
+ StandardError
1964
+ n
1965
+ x
1966
+ 5
1967
+ raise
1968
+ p
1969
+ 5
1970
+ I
1971
+ 0
1972
+ I
1973
+ 38
1974
+ I
1975
+ 1c
1976
+ I
1977
+ 0
1978
+ I
1979
+ 1d
1980
+ x
1981
+ 54
1982
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
1983
+ p
1984
+ 2
1985
+ x
1986
+ 5
1987
+ tries
1988
+ x
1989
+ 2
1990
+ ex
1991
+ x
1992
+ 15
1993
+ count_retryable
1994
+ x
1995
+ 10
1996
+ @try_count
1997
+ x
1998
+ 6
1999
+ should
2000
+ x
2001
+ 2
2002
+ ==
2003
+ p
2004
+ 7
2005
+ I
2006
+ 0
2007
+ I
2008
+ 36
2009
+ I
2010
+ 10
2011
+ I
2012
+ 38
2013
+ I
2014
+ 27
2015
+ I
2016
+ 39
2017
+ I
2018
+ 30
2019
+ x
2020
+ 54
2021
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
2022
+ p
2023
+ 0
2024
+ s
2025
+ 44
2026
+ exponential backoff scheme for :sleep option
2027
+ M
2028
+ 1
2029
+ p
2030
+ 2
2031
+ x
2032
+ 9
2033
+ for_block
2034
+ t
2035
+ n
2036
+ x
2037
+ 9
2038
+ __block__
2039
+ i
2040
+ 34
2041
+ 79
2042
+ 4
2043
+ 4
2044
+ 4
2045
+ 16
2046
+ 4
2047
+ 64
2048
+ 35
2049
+ 4
2050
+ 56
2051
+ 0
2052
+ 50
2053
+ 1
2054
+ 0
2055
+ 15
2056
+ 5
2057
+ 56
2058
+ 2
2059
+ 47
2060
+ 50
2061
+ 3
2062
+ 0
2063
+ 5
2064
+ 45
2065
+ 4
2066
+ 5
2067
+ 47
2068
+ 49
2069
+ 6
2070
+ 1
2071
+ 49
2072
+ 7
2073
+ 1
2074
+ 11
2075
+ I
2076
+ 5
2077
+ I
2078
+ 0
2079
+ I
2080
+ 0
2081
+ I
2082
+ 0
2083
+ I
2084
+ -2
2085
+ p
2086
+ 8
2087
+ M
2088
+ 1
2089
+ p
2090
+ 2
2091
+ x
2092
+ 9
2093
+ for_block
2094
+ t
2095
+ n
2096
+ x
2097
+ 9
2098
+ __block__
2099
+ i
2100
+ 24
2101
+ 57
2102
+ 19
2103
+ 0
2104
+ 15
2105
+ 45
2106
+ 0
2107
+ 1
2108
+ 7
2109
+ 2
2110
+ 49
2111
+ 3
2112
+ 1
2113
+ 49
2114
+ 4
2115
+ 0
2116
+ 49
2117
+ 5
2118
+ 0
2119
+ 20
2120
+ 0
2121
+ 49
2122
+ 6
2123
+ 1
2124
+ 11
2125
+ I
2126
+ 4
2127
+ I
2128
+ 1
2129
+ I
2130
+ 1
2131
+ I
2132
+ 1
2133
+ n
2134
+ p
2135
+ 7
2136
+ x
2137
+ 6
2138
+ Kernel
2139
+ n
2140
+ x
2141
+ 5
2142
+ sleep
2143
+ x
2144
+ 14
2145
+ should_receive
2146
+ x
2147
+ 4
2148
+ once
2149
+ x
2150
+ 7
2151
+ ordered
2152
+ x
2153
+ 4
2154
+ with
2155
+ p
2156
+ 3
2157
+ I
2158
+ 0
2159
+ I
2160
+ 3d
2161
+ I
2162
+ 18
2163
+ x
2164
+ 54
2165
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
2166
+ p
2167
+ 1
2168
+ x
2169
+ 1
2170
+ i
2171
+ x
2172
+ 4
2173
+ each
2174
+ M
2175
+ 1
2176
+ p
2177
+ 2
2178
+ x
2179
+ 9
2180
+ for_block
2181
+ t
2182
+ n
2183
+ x
2184
+ 9
2185
+ __block__
2186
+ i
2187
+ 39
2188
+ 45
2189
+ 0
2190
+ 1
2191
+ 44
2192
+ 43
2193
+ 2
2194
+ 80
2195
+ 49
2196
+ 3
2197
+ 1
2198
+ 13
2199
+ 7
2200
+ 4
2201
+ 4
2202
+ 5
2203
+ 49
2204
+ 5
2205
+ 2
2206
+ 15
2207
+ 13
2208
+ 7
2209
+ 6
2210
+ 5
2211
+ 56
2212
+ 7
2213
+ 47
2214
+ 50
2215
+ 8
2216
+ 0
2217
+ 49
2218
+ 5
2219
+ 2
2220
+ 15
2221
+ 56
2222
+ 9
2223
+ 50
2224
+ 10
2225
+ 1
2226
+ 11
2227
+ I
2228
+ 7
2229
+ I
2230
+ 0
2231
+ I
2232
+ 0
2233
+ I
2234
+ 0
2235
+ I
2236
+ -2
2237
+ p
2238
+ 11
2239
+ x
2240
+ 6
2241
+ Kernel
2242
+ n
2243
+ x
2244
+ 4
2245
+ Hash
2246
+ x
2247
+ 16
2248
+ new_from_literal
2249
+ x
2250
+ 5
2251
+ tries
2252
+ x
2253
+ 3
2254
+ []=
2255
+ x
2256
+ 5
2257
+ sleep
2258
+ M
2259
+ 1
2260
+ p
2261
+ 2
2262
+ x
2263
+ 9
2264
+ for_block
2265
+ t
2266
+ n
2267
+ x
2268
+ 9
2269
+ __block__
2270
+ i
2271
+ 12
2272
+ 57
2273
+ 19
2274
+ 0
2275
+ 15
2276
+ 4
2277
+ 4
2278
+ 20
2279
+ 0
2280
+ 49
2281
+ 0
2282
+ 1
2283
+ 11
2284
+ I
2285
+ 4
2286
+ I
2287
+ 1
2288
+ I
2289
+ 1
2290
+ I
2291
+ 1
2292
+ n
2293
+ p
2294
+ 1
2295
+ x
2296
+ 2
2297
+ **
2298
+ p
2299
+ 3
2300
+ I
2301
+ 0
2302
+ I
2303
+ 3f
2304
+ I
2305
+ c
2306
+ x
2307
+ 54
2308
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
2309
+ p
2310
+ 1
2311
+ x
2312
+ 1
2313
+ n
2314
+ x
2315
+ 6
2316
+ lambda
2317
+ M
2318
+ 1
2319
+ p
2320
+ 2
2321
+ x
2322
+ 9
2323
+ for_block
2324
+ t
2325
+ n
2326
+ x
2327
+ 9
2328
+ __block__
2329
+ i
2330
+ 9
2331
+ 5
2332
+ 45
2333
+ 0
2334
+ 1
2335
+ 47
2336
+ 49
2337
+ 2
2338
+ 1
2339
+ 11
2340
+ I
2341
+ 3
2342
+ I
2343
+ 0
2344
+ I
2345
+ 0
2346
+ I
2347
+ 0
2348
+ I
2349
+ -2
2350
+ p
2351
+ 3
2352
+ x
2353
+ 10
2354
+ RangeError
2355
+ n
2356
+ x
2357
+ 5
2358
+ raise
2359
+ p
2360
+ 3
2361
+ I
2362
+ 0
2363
+ I
2364
+ 3f
2365
+ I
2366
+ 9
2367
+ x
2368
+ 54
2369
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
2370
+ p
2371
+ 0
2372
+ x
2373
+ 9
2374
+ retryable
2375
+ p
2376
+ 3
2377
+ I
2378
+ 0
2379
+ I
2380
+ 3f
2381
+ I
2382
+ 27
2383
+ x
2384
+ 54
2385
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
2386
+ p
2387
+ 0
2388
+ x
2389
+ 6
2390
+ lambda
2391
+ x
2392
+ 10
2393
+ RangeError
2394
+ n
2395
+ x
2396
+ 11
2397
+ raise_error
2398
+ x
2399
+ 6
2400
+ should
2401
+ p
2402
+ 9
2403
+ I
2404
+ 0
2405
+ I
2406
+ 3d
2407
+ I
2408
+ f
2409
+ I
2410
+ 3e
2411
+ I
2412
+ 16
2413
+ I
2414
+ 40
2415
+ I
2416
+ 1e
2417
+ I
2418
+ 3e
2419
+ I
2420
+ 22
2421
+ x
2422
+ 54
2423
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
2424
+ p
2425
+ 0
2426
+ s
2427
+ 48
2428
+ doesn't retry any exception if :on is empty list
2429
+ M
2430
+ 1
2431
+ p
2432
+ 2
2433
+ x
2434
+ 9
2435
+ for_block
2436
+ t
2437
+ n
2438
+ x
2439
+ 9
2440
+ __block__
2441
+ i
2442
+ 28
2443
+ 5
2444
+ 56
2445
+ 0
2446
+ 47
2447
+ 50
2448
+ 1
2449
+ 0
2450
+ 5
2451
+ 45
2452
+ 2
2453
+ 3
2454
+ 47
2455
+ 49
2456
+ 4
2457
+ 1
2458
+ 49
2459
+ 5
2460
+ 1
2461
+ 15
2462
+ 39
2463
+ 6
2464
+ 49
2465
+ 5
2466
+ 0
2467
+ 79
2468
+ 83
2469
+ 7
2470
+ 11
2471
+ I
2472
+ 4
2473
+ I
2474
+ 0
2475
+ I
2476
+ 0
2477
+ I
2478
+ 0
2479
+ I
2480
+ -2
2481
+ p
2482
+ 8
2483
+ M
2484
+ 1
2485
+ p
2486
+ 2
2487
+ x
2488
+ 9
2489
+ for_block
2490
+ t
2491
+ n
2492
+ x
2493
+ 9
2494
+ __block__
2495
+ i
2496
+ 24
2497
+ 5
2498
+ 44
2499
+ 43
2500
+ 0
2501
+ 79
2502
+ 49
2503
+ 1
2504
+ 1
2505
+ 13
2506
+ 7
2507
+ 2
2508
+ 35
2509
+ 0
2510
+ 49
2511
+ 3
2512
+ 2
2513
+ 15
2514
+ 56
2515
+ 4
2516
+ 47
2517
+ 50
2518
+ 5
2519
+ 1
2520
+ 11
2521
+ I
2522
+ 6
2523
+ I
2524
+ 0
2525
+ I
2526
+ 0
2527
+ I
2528
+ 0
2529
+ I
2530
+ -2
2531
+ p
2532
+ 6
2533
+ x
2534
+ 4
2535
+ Hash
2536
+ x
2537
+ 16
2538
+ new_from_literal
2539
+ x
2540
+ 2
2541
+ on
2542
+ x
2543
+ 3
2544
+ []=
2545
+ M
2546
+ 1
2547
+ p
2548
+ 2
2549
+ x
2550
+ 9
2551
+ for_block
2552
+ t
2553
+ n
2554
+ x
2555
+ 9
2556
+ __block__
2557
+ i
2558
+ 4
2559
+ 5
2560
+ 48
2561
+ 0
2562
+ 11
2563
+ I
2564
+ 2
2565
+ I
2566
+ 0
2567
+ I
2568
+ 0
2569
+ I
2570
+ 0
2571
+ I
2572
+ -2
2573
+ p
2574
+ 1
2575
+ x
2576
+ 5
2577
+ raise
2578
+ p
2579
+ 3
2580
+ I
2581
+ 0
2582
+ I
2583
+ 45
2584
+ I
2585
+ 4
2586
+ x
2587
+ 54
2588
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
2589
+ p
2590
+ 0
2591
+ x
2592
+ 15
2593
+ count_retryable
2594
+ p
2595
+ 3
2596
+ I
2597
+ 0
2598
+ I
2599
+ 45
2600
+ I
2601
+ 18
2602
+ x
2603
+ 54
2604
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
2605
+ p
2606
+ 0
2607
+ x
2608
+ 6
2609
+ lambda
2610
+ x
2611
+ 12
2612
+ RuntimeError
2613
+ n
2614
+ x
2615
+ 11
2616
+ raise_error
2617
+ x
2618
+ 6
2619
+ should
2620
+ x
2621
+ 10
2622
+ @try_count
2623
+ x
2624
+ 2
2625
+ ==
2626
+ p
2627
+ 9
2628
+ I
2629
+ 0
2630
+ I
2631
+ 44
2632
+ I
2633
+ 7
2634
+ I
2635
+ 46
2636
+ I
2637
+ f
2638
+ I
2639
+ 44
2640
+ I
2641
+ 13
2642
+ I
2643
+ 47
2644
+ I
2645
+ 1c
2646
+ x
2647
+ 54
2648
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
2649
+ p
2650
+ 0
2651
+ s
2652
+ 48
2653
+ should catch an exception that matches the regex
2654
+ M
2655
+ 1
2656
+ p
2657
+ 2
2658
+ x
2659
+ 9
2660
+ for_block
2661
+ t
2662
+ n
2663
+ x
2664
+ 9
2665
+ __block__
2666
+ i
2667
+ 65
2668
+ 45
2669
+ 0
2670
+ 1
2671
+ 7
2672
+ 2
2673
+ 49
2674
+ 3
2675
+ 1
2676
+ 49
2677
+ 4
2678
+ 0
2679
+ 79
2680
+ 49
2681
+ 5
2682
+ 1
2683
+ 15
2684
+ 5
2685
+ 44
2686
+ 43
2687
+ 6
2688
+ 79
2689
+ 49
2690
+ 7
2691
+ 1
2692
+ 13
2693
+ 7
2694
+ 8
2695
+ 7
2696
+ 9
2697
+ 13
2698
+ 70
2699
+ 9
2700
+ 45
2701
+ 15
2702
+ 44
2703
+ 43
2704
+ 10
2705
+ 7
2706
+ 11
2707
+ 78
2708
+ 49
2709
+ 12
2710
+ 2
2711
+ 6
2712
+ 9
2713
+ 49
2714
+ 13
2715
+ 2
2716
+ 15
2717
+ 56
2718
+ 14
2719
+ 47
2720
+ 50
2721
+ 15
2722
+ 1
2723
+ 15
2724
+ 39
2725
+ 16
2726
+ 49
2727
+ 17
2728
+ 0
2729
+ 80
2730
+ 83
2731
+ 18
2732
+ 11
2733
+ I
2734
+ 8
2735
+ I
2736
+ 0
2737
+ I
2738
+ 0
2739
+ I
2740
+ 0
2741
+ I
2742
+ -2
2743
+ p
2744
+ 19
2745
+ x
2746
+ 6
2747
+ Kernel
2748
+ n
2749
+ x
2750
+ 5
2751
+ sleep
2752
+ x
2753
+ 14
2754
+ should_receive
2755
+ x
2756
+ 4
2757
+ once
2758
+ x
2759
+ 4
2760
+ with
2761
+ x
2762
+ 4
2763
+ Hash
2764
+ x
2765
+ 16
2766
+ new_from_literal
2767
+ x
2768
+ 8
2769
+ matching
2770
+ n
2771
+ x
2772
+ 6
2773
+ Regexp
2774
+ s
2775
+ 10
2776
+ IO timeout
2777
+ x
2778
+ 3
2779
+ new
2780
+ x
2781
+ 3
2782
+ []=
2783
+ M
2784
+ 1
2785
+ p
2786
+ 2
2787
+ x
2788
+ 9
2789
+ for_block
2790
+ t
2791
+ n
2792
+ x
2793
+ 9
2794
+ __block__
2795
+ i
2796
+ 29
2797
+ 58
2798
+ 37
2799
+ 19
2800
+ 0
2801
+ 15
2802
+ 37
2803
+ 19
2804
+ 1
2805
+ 15
2806
+ 15
2807
+ 20
2808
+ 0
2809
+ 78
2810
+ 83
2811
+ 0
2812
+ 9
2813
+ 27
2814
+ 5
2815
+ 7
2816
+ 1
2817
+ 64
2818
+ 47
2819
+ 49
2820
+ 2
2821
+ 1
2822
+ 8
2823
+ 28
2824
+ 1
2825
+ 11
2826
+ I
2827
+ 5
2828
+ I
2829
+ 2
2830
+ I
2831
+ 2
2832
+ I
2833
+ 2
2834
+ n
2835
+ p
2836
+ 3
2837
+ x
2838
+ 2
2839
+ ==
2840
+ s
2841
+ 15
2842
+ yo, IO timeout!
2843
+ x
2844
+ 5
2845
+ raise
2846
+ p
2847
+ 5
2848
+ I
2849
+ 0
2850
+ I
2851
+ 4c
2852
+ I
2853
+ 1c
2854
+ I
2855
+ 0
2856
+ I
2857
+ 1d
2858
+ x
2859
+ 54
2860
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
2861
+ p
2862
+ 2
2863
+ x
2864
+ 1
2865
+ c
2866
+ x
2867
+ 1
2868
+ e
2869
+ x
2870
+ 15
2871
+ count_retryable
2872
+ x
2873
+ 10
2874
+ @try_count
2875
+ x
2876
+ 6
2877
+ should
2878
+ x
2879
+ 2
2880
+ ==
2881
+ p
2882
+ 7
2883
+ I
2884
+ 0
2885
+ I
2886
+ 4b
2887
+ I
2888
+ 10
2889
+ I
2890
+ 4c
2891
+ I
2892
+ 38
2893
+ I
2894
+ 4d
2895
+ I
2896
+ 41
2897
+ x
2898
+ 54
2899
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
2900
+ p
2901
+ 0
2902
+ s
2903
+ 58
2904
+ should not catch an exception that doesn't match the regex
2905
+ M
2906
+ 1
2907
+ p
2908
+ 2
2909
+ x
2910
+ 9
2911
+ for_block
2912
+ t
2913
+ n
2914
+ x
2915
+ 9
2916
+ __block__
2917
+ i
2918
+ 36
2919
+ 5
2920
+ 7
2921
+ 0
2922
+ 47
2923
+ 49
2924
+ 1
2925
+ 1
2926
+ 15
2927
+ 5
2928
+ 56
2929
+ 2
2930
+ 47
2931
+ 50
2932
+ 3
2933
+ 0
2934
+ 5
2935
+ 45
2936
+ 4
2937
+ 5
2938
+ 47
2939
+ 49
2940
+ 6
2941
+ 1
2942
+ 49
2943
+ 7
2944
+ 1
2945
+ 15
2946
+ 39
2947
+ 8
2948
+ 49
2949
+ 7
2950
+ 0
2951
+ 79
2952
+ 83
2953
+ 9
2954
+ 11
2955
+ I
2956
+ 4
2957
+ I
2958
+ 0
2959
+ I
2960
+ 0
2961
+ I
2962
+ 0
2963
+ I
2964
+ -2
2965
+ p
2966
+ 10
2967
+ x
2968
+ 5
2969
+ sleep
2970
+ x
2971
+ 18
2972
+ should_not_receive
2973
+ M
2974
+ 1
2975
+ p
2976
+ 2
2977
+ x
2978
+ 9
2979
+ for_block
2980
+ t
2981
+ n
2982
+ x
2983
+ 9
2984
+ __block__
2985
+ i
2986
+ 40
2987
+ 5
2988
+ 44
2989
+ 43
2990
+ 0
2991
+ 79
2992
+ 49
2993
+ 1
2994
+ 1
2995
+ 13
2996
+ 7
2997
+ 2
2998
+ 7
2999
+ 3
3000
+ 13
3001
+ 70
3002
+ 9
3003
+ 29
3004
+ 15
3005
+ 44
3006
+ 43
3007
+ 4
3008
+ 7
3009
+ 5
3010
+ 78
3011
+ 49
3012
+ 6
3013
+ 2
3014
+ 6
3015
+ 3
3016
+ 49
3017
+ 7
3018
+ 2
3019
+ 15
3020
+ 56
3021
+ 8
3022
+ 47
3023
+ 50
3024
+ 9
3025
+ 1
3026
+ 11
3027
+ I
3028
+ 8
3029
+ I
3030
+ 0
3031
+ I
3032
+ 0
3033
+ I
3034
+ 0
3035
+ I
3036
+ -2
3037
+ p
3038
+ 10
3039
+ x
3040
+ 4
3041
+ Hash
3042
+ x
3043
+ 16
3044
+ new_from_literal
3045
+ x
3046
+ 8
3047
+ matching
3048
+ n
3049
+ x
3050
+ 6
3051
+ Regexp
3052
+ s
3053
+ 9
3054
+ TimeError
3055
+ x
3056
+ 3
3057
+ new
3058
+ x
3059
+ 3
3060
+ []=
3061
+ M
3062
+ 1
3063
+ p
3064
+ 2
3065
+ x
3066
+ 9
3067
+ for_block
3068
+ t
3069
+ n
3070
+ x
3071
+ 9
3072
+ __block__
3073
+ i
3074
+ 9
3075
+ 5
3076
+ 7
3077
+ 0
3078
+ 64
3079
+ 47
3080
+ 49
3081
+ 1
3082
+ 1
3083
+ 11
3084
+ I
3085
+ 3
3086
+ I
3087
+ 0
3088
+ I
3089
+ 0
3090
+ I
3091
+ 0
3092
+ I
3093
+ -2
3094
+ p
3095
+ 2
3096
+ s
3097
+ 15
3098
+ yo, IO timeout!
3099
+ x
3100
+ 5
3101
+ raise
3102
+ p
3103
+ 3
3104
+ I
3105
+ 0
3106
+ I
3107
+ 53
3108
+ I
3109
+ 9
3110
+ x
3111
+ 54
3112
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
3113
+ p
3114
+ 0
3115
+ x
3116
+ 15
3117
+ count_retryable
3118
+ p
3119
+ 3
3120
+ I
3121
+ 0
3122
+ I
3123
+ 53
3124
+ I
3125
+ 28
3126
+ x
3127
+ 54
3128
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
3129
+ p
3130
+ 0
3131
+ x
3132
+ 6
3133
+ lambda
3134
+ x
3135
+ 12
3136
+ RuntimeError
3137
+ n
3138
+ x
3139
+ 11
3140
+ raise_error
3141
+ x
3142
+ 6
3143
+ should
3144
+ x
3145
+ 10
3146
+ @try_count
3147
+ x
3148
+ 2
3149
+ ==
3150
+ p
3151
+ 11
3152
+ I
3153
+ 0
3154
+ I
3155
+ 51
3156
+ I
3157
+ 8
3158
+ I
3159
+ 52
3160
+ I
3161
+ f
3162
+ I
3163
+ 54
3164
+ I
3165
+ 17
3166
+ I
3167
+ 52
3168
+ I
3169
+ 1b
3170
+ I
3171
+ 55
3172
+ I
3173
+ 24
3174
+ x
3175
+ 54
3176
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
3177
+ p
3178
+ 0
3179
+ s
3180
+ 29
3181
+ doesn't allow invalid options
3182
+ M
3183
+ 1
3184
+ p
3185
+ 2
3186
+ x
3187
+ 9
3188
+ for_block
3189
+ t
3190
+ n
3191
+ x
3192
+ 9
3193
+ __block__
3194
+ i
3195
+ 19
3196
+ 5
3197
+ 56
3198
+ 0
3199
+ 47
3200
+ 50
3201
+ 1
3202
+ 0
3203
+ 5
3204
+ 45
3205
+ 2
3206
+ 3
3207
+ 47
3208
+ 49
3209
+ 4
3210
+ 1
3211
+ 49
3212
+ 5
3213
+ 1
3214
+ 11
3215
+ I
3216
+ 4
3217
+ I
3218
+ 0
3219
+ I
3220
+ 0
3221
+ I
3222
+ 0
3223
+ I
3224
+ -2
3225
+ p
3226
+ 6
3227
+ M
3228
+ 1
3229
+ p
3230
+ 2
3231
+ x
3232
+ 9
3233
+ for_block
3234
+ t
3235
+ n
3236
+ x
3237
+ 9
3238
+ __block__
3239
+ i
3240
+ 23
3241
+ 5
3242
+ 44
3243
+ 43
3244
+ 0
3245
+ 79
3246
+ 49
3247
+ 1
3248
+ 1
3249
+ 13
3250
+ 7
3251
+ 2
3252
+ 80
3253
+ 49
3254
+ 3
3255
+ 2
3256
+ 15
3257
+ 56
3258
+ 4
3259
+ 47
3260
+ 50
3261
+ 5
3262
+ 1
3263
+ 11
3264
+ I
3265
+ 6
3266
+ I
3267
+ 0
3268
+ I
3269
+ 0
3270
+ I
3271
+ 0
3272
+ I
3273
+ -2
3274
+ p
3275
+ 6
3276
+ x
3277
+ 4
3278
+ Hash
3279
+ x
3280
+ 16
3281
+ new_from_literal
3282
+ x
3283
+ 10
3284
+ bad_option
3285
+ x
3286
+ 3
3287
+ []=
3288
+ M
3289
+ 1
3290
+ p
3291
+ 2
3292
+ x
3293
+ 9
3294
+ for_block
3295
+ t
3296
+ n
3297
+ x
3298
+ 9
3299
+ __block__
3300
+ i
3301
+ 9
3302
+ 5
3303
+ 7
3304
+ 0
3305
+ 64
3306
+ 47
3307
+ 49
3308
+ 1
3309
+ 1
3310
+ 11
3311
+ I
3312
+ 3
3313
+ I
3314
+ 0
3315
+ I
3316
+ 0
3317
+ I
3318
+ 0
3319
+ I
3320
+ -2
3321
+ p
3322
+ 2
3323
+ s
3324
+ 11
3325
+ this is bad
3326
+ x
3327
+ 5
3328
+ raise
3329
+ p
3330
+ 3
3331
+ I
3332
+ 0
3333
+ I
3334
+ 5a
3335
+ I
3336
+ 9
3337
+ x
3338
+ 54
3339
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
3340
+ p
3341
+ 0
3342
+ x
3343
+ 9
3344
+ retryable
3345
+ p
3346
+ 3
3347
+ I
3348
+ 0
3349
+ I
3350
+ 5a
3351
+ I
3352
+ 17
3353
+ x
3354
+ 54
3355
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
3356
+ p
3357
+ 0
3358
+ x
3359
+ 6
3360
+ lambda
3361
+ x
3362
+ 23
3363
+ InvalidRetryableOptions
3364
+ n
3365
+ x
3366
+ 11
3367
+ raise_error
3368
+ x
3369
+ 6
3370
+ should
3371
+ p
3372
+ 7
3373
+ I
3374
+ 0
3375
+ I
3376
+ 59
3377
+ I
3378
+ 7
3379
+ I
3380
+ 5b
3381
+ I
3382
+ f
3383
+ I
3384
+ 59
3385
+ I
3386
+ 13
3387
+ x
3388
+ 54
3389
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
3390
+ p
3391
+ 0
3392
+ x
3393
+ 7
3394
+ private
3395
+ x
3396
+ 15
3397
+ count_retryable
3398
+ M
3399
+ 1
3400
+ n
3401
+ n
3402
+ x
3403
+ 15
3404
+ count_retryable
3405
+ i
3406
+ 17
3407
+ 78
3408
+ 38
3409
+ 0
3410
+ 15
3411
+ 45
3412
+ 1
3413
+ 2
3414
+ 20
3415
+ 0
3416
+ 36
3417
+ 56
3418
+ 3
3419
+ 51
3420
+ 4
3421
+ 0
3422
+ 11
3423
+ 11
3424
+ I
3425
+ 4
3426
+ I
3427
+ 1
3428
+ I
3429
+ 0
3430
+ I
3431
+ 0
3432
+ I
3433
+ 0
3434
+ p
3435
+ 5
3436
+ x
3437
+ 10
3438
+ @try_count
3439
+ x
3440
+ 6
3441
+ Kernel
3442
+ n
3443
+ M
3444
+ 1
3445
+ p
3446
+ 2
3447
+ x
3448
+ 9
3449
+ for_block
3450
+ t
3451
+ n
3452
+ x
3453
+ 15
3454
+ count_retryable
3455
+ i
3456
+ 19
3457
+ 59
3458
+ 36
3459
+ 19
3460
+ 0
3461
+ 15
3462
+ 39
3463
+ 0
3464
+ 79
3465
+ 81
3466
+ 1
3467
+ 38
3468
+ 0
3469
+ 15
3470
+ 20
3471
+ 0
3472
+ 36
3473
+ 61
3474
+ 0
3475
+ 11
3476
+ I
3477
+ 4
3478
+ I
3479
+ 1
3480
+ I
3481
+ 0
3482
+ I
3483
+ 0
3484
+ I
3485
+ 0
3486
+ p
3487
+ 2
3488
+ x
3489
+ 10
3490
+ @try_count
3491
+ x
3492
+ 1
3493
+ +
3494
+ p
3495
+ 7
3496
+ I
3497
+ 0
3498
+ I
3499
+ 62
3500
+ I
3501
+ 5
3502
+ I
3503
+ 63
3504
+ I
3505
+ d
3506
+ I
3507
+ 64
3508
+ I
3509
+ 13
3510
+ x
3511
+ 54
3512
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
3513
+ p
3514
+ 1
3515
+ x
3516
+ 4
3517
+ args
3518
+ x
3519
+ 9
3520
+ retryable
3521
+ p
3522
+ 7
3523
+ I
3524
+ -1
3525
+ I
3526
+ 60
3527
+ I
3528
+ 0
3529
+ I
3530
+ 61
3531
+ I
3532
+ 4
3533
+ I
3534
+ 62
3535
+ I
3536
+ 11
3537
+ x
3538
+ 54
3539
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
3540
+ p
3541
+ 1
3542
+ x
3543
+ 4
3544
+ opts
3545
+ x
3546
+ 17
3547
+ method_visibility
3548
+ x
3549
+ 15
3550
+ add_defn_method
3551
+ p
3552
+ 31
3553
+ I
3554
+ 0
3555
+ I
3556
+ 5
3557
+ I
3558
+ a
3559
+ I
3560
+ 9
3561
+ I
3562
+ 15
3563
+ I
3564
+ 10
3565
+ I
3566
+ 20
3567
+ I
3568
+ 17
3569
+ I
3570
+ 2b
3571
+ I
3572
+ 21
3573
+ I
3574
+ 36
3575
+ I
3576
+ 27
3577
+ I
3578
+ 41
3579
+ I
3580
+ 2f
3581
+ I
3582
+ 4c
3583
+ I
3584
+ 35
3585
+ I
3586
+ 57
3587
+ I
3588
+ 3c
3589
+ I
3590
+ 62
3591
+ I
3592
+ 43
3593
+ I
3594
+ 6d
3595
+ I
3596
+ 4a
3597
+ I
3598
+ 78
3599
+ I
3600
+ 50
3601
+ I
3602
+ 83
3603
+ I
3604
+ 58
3605
+ I
3606
+ 8e
3607
+ I
3608
+ 5e
3609
+ I
3610
+ 92
3611
+ I
3612
+ 60
3613
+ I
3614
+ a0
3615
+ x
3616
+ 54
3617
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
3618
+ p
3619
+ 0
3620
+ x
3621
+ 8
3622
+ describe
3623
+ p
3624
+ 5
3625
+ I
3626
+ 0
3627
+ I
3628
+ 1
3629
+ I
3630
+ 9
3631
+ I
3632
+ 3
3633
+ I
3634
+ 16
3635
+ x
3636
+ 54
3637
+ /Users/user/Sites/retryable/spec/lib/retryable_spec.rb
3638
+ p
3639
+ 0