monkeywrench 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. data/README.mdown +78 -0
  2. data/Rakefile +22 -0
  3. data/lib/monkey_wrench.rb +1 -0
  4. data/lib/monkeywrench.rb +10 -0
  5. data/lib/monkeywrench/array.rb +9 -0
  6. data/lib/monkeywrench/base.rb +97 -0
  7. data/lib/monkeywrench/campaign.rb +0 -0
  8. data/lib/monkeywrench/campaign_aim.rb +0 -0
  9. data/lib/monkeywrench/campaign_stats.rb +0 -0
  10. data/lib/monkeywrench/config.rb +35 -0
  11. data/lib/monkeywrench/error.rb +104 -0
  12. data/lib/monkeywrench/hash.rb +69 -0
  13. data/lib/monkeywrench/helper.rb +0 -0
  14. data/lib/monkeywrench/list.rb +353 -0
  15. data/lib/monkeywrench/member.rb +33 -0
  16. data/lib/monkeywrench/security.rb +0 -0
  17. data/test/fixtures/api_fail.json +1 -0
  18. data/test/fixtures/campaigns_success.json +24 -0
  19. data/test/fixtures/listBatchSubscribe1000_success.json +1 -0
  20. data/test/fixtures/listBatchSubscribe10_success.json +1 -0
  21. data/test/fixtures/listBatchSubscribe4_success.json +1 -0
  22. data/test/fixtures/listBatchSubscribe5_success.json +1 -0
  23. data/test/fixtures/listBatchSubscribe_success.json +1 -0
  24. data/test/fixtures/listBatchSubscribe_with_error_success.json +1 -0
  25. data/test/fixtures/listBatchUnsubscribe_success.json +1 -0
  26. data/test/fixtures/listMemberInfo_fail.json +1 -0
  27. data/test/fixtures/listMemberInfo_success.json +1 -0
  28. data/test/fixtures/listMembers_none_success.json +1 -0
  29. data/test/fixtures/listMembers_success.json +8 -0
  30. data/test/fixtures/listSubscribe_success.json +1 -0
  31. data/test/fixtures/listUnsubscribe_success.json +0 -0
  32. data/test/fixtures/listUpdateMember_success.json +1 -0
  33. data/test/fixtures/listsEmpty_success.json +2 -0
  34. data/test/fixtures/lists_success.json +14 -0
  35. data/test/monkey_wrench/base_test.rb +55 -0
  36. data/test/monkey_wrench/base_test.rbc +1758 -0
  37. data/test/monkey_wrench/campaign_aim_test.rb +0 -0
  38. data/test/monkey_wrench/campaign_aim_test.rbc +40 -0
  39. data/test/monkey_wrench/campaign_stats_test.rb +0 -0
  40. data/test/monkey_wrench/campaign_stats_test.rbc +40 -0
  41. data/test/monkey_wrench/campaign_test.rb +0 -0
  42. data/test/monkey_wrench/campaign_test.rbc +40 -0
  43. data/test/monkey_wrench/hash_test.rb +57 -0
  44. data/test/monkey_wrench/hash_test.rbc +1636 -0
  45. data/test/monkey_wrench/helper_test.rb +0 -0
  46. data/test/monkey_wrench/helper_test.rbc +40 -0
  47. data/test/monkey_wrench/list_test.rb +405 -0
  48. data/test/monkey_wrench/list_test.rbc +10798 -0
  49. data/test/monkey_wrench/security_test.rb +0 -0
  50. data/test/monkey_wrench/security_test.rbc +40 -0
  51. data/test/test_helper.rb +66 -0
  52. data/test/test_helper.rbc +2045 -0
  53. metadata +169 -0
@@ -0,0 +1,33 @@
1
+ module MonkeyWrench
2
+ class Member
3
+ def initialize(list_member_info)
4
+ @list_member_info = list_member_info
5
+ end
6
+
7
+ def interests
8
+ if @list_member_info['merges']['INTERESTS']
9
+ @list_member_info['merges']['INTERESTS'].split(', ')
10
+ end
11
+ end
12
+
13
+ def method_missing(method, *args)
14
+ if responds_to?(method)
15
+ key_name = method.to_s
16
+ @list_member_info[key_name] || @list_member_info['merges'][key_name] || @list_member_info['merges'][key_name.upcase]
17
+ else
18
+ super
19
+ end
20
+ end
21
+
22
+ def responds_to?(method)
23
+ key_name = method.to_s
24
+ @list_member_info.has_key?(key_name) ||
25
+ @list_member_info['merges'].has_key?(key_name) ||
26
+ @list_member_info['merges'].has_key?(key_name.upcase)
27
+ end
28
+
29
+ def ==(other_member)
30
+ !@list_member_info.keys.detect{|key| send(key) != other_member.send(key)}
31
+ end
32
+ end
33
+ end
File without changes
@@ -0,0 +1 @@
1
+ {"error":"Invalid Mailchimp API Key: foada . You are accessing the wrong datacenter - your client library may not properly support our datacenter mapping scheme.","code":104}
@@ -0,0 +1,24 @@
1
+ [{
2
+ "id":"ed7838c182",
3
+ "web_id":534402,
4
+ "list_id":null,
5
+ "folder_id":0,
6
+ "title":"Untitled",
7
+ "type":"regular",
8
+ "create_time":"2009-10-06 16:18:52",
9
+ "send_time":null,
10
+ "status":"save","from_name":null,
11
+ "from_email":null,
12
+ "subject":null,
13
+ "to_email":null,
14
+ "archive_url":"http:\/\/eepurl.com\/d2JN",
15
+ "emails_sent":0,
16
+ "inline_css":"N",
17
+ "analytics":"N",
18
+ "analytics_tag":"",
19
+ "track_clicks_text":false,
20
+ "track_clicks_html":true,
21
+ "track_opens":true,
22
+ "segment_opts":[]
23
+ }
24
+ ]
@@ -0,0 +1 @@
1
+ {"success_count":1000,"error_count":0,"errors":[]}
@@ -0,0 +1 @@
1
+ {"success_count":10,"error_count":0,"errors":[]}
@@ -0,0 +1 @@
1
+ {"success_count":4,"error_count":0,"errors":[]}
@@ -0,0 +1 @@
1
+ {"success_count":5,"error_count":0,"errors":[]}
@@ -0,0 +1 @@
1
+ {"success_count":1,"error_count":0,"errors":[]}
@@ -0,0 +1 @@
1
+ {"success_count":1,"error_count":1,"errors":[{"code":502,"message":"Invalid Email Address: bademail@badmail","row":{"EMAIL_TYPE":"html","EMAIL":"bademail@badmail"}}]}
@@ -0,0 +1 @@
1
+ {"success_count":1,"error_count":0,"errors":[]}
@@ -0,0 +1 @@
1
+ {"error":"There is no record of \"asdiojasdojas@foo.com\" in the database","code":232}
@@ -0,0 +1 @@
1
+ {"id":"a58cbece83","email":"david@email.com","email_type":"html","ip_opt":"66.132.220.59","ip_signup":null,"member_rating":4,"merges":{"EMAIL":"david@email.com","MERGE0":"david@email.com","FNAME":"David","MERGE1":"David","LNAME":"Heath","MERGE2":"Heath","EXPIRYDATE":"2008-02-04","MERGE5":"2008-02-04","USERNAME":"Test1","MERGE6":"Test1","DURATION":"1","MERGE3":"1","PRODUCT":"One week subscription","MERGE4":"One week subscription","CURRENCY":"GBP","MERGE7":"GBP","ROLLING":"false","MERGE8":"false","EXPIRED":"true","MERGE9":"true","TRIAL":"","MERGE10":"","MMERGE11":"","MERGE11":"","MMERGE12":"","MERGE12":"","MMERGE13":"","MERGE13":"","MMERGE14":"","MERGE14":"","TRACKER":"","MERGE15":"","SUBSTYPE":"","MERGE16":"","FIRSTEBOOK":"","MERGE17":"","MMERGE18":"","MERGE18":"","INTERESTS":"freetrial, tutorials"},"status":"subscribed","timestamp":"2009-11-16 14:11:57","lists":{"699791bff9":"unsubscribed"}}
@@ -0,0 +1,8 @@
1
+ [{
2
+ "timestamp":"2009-11-12 15:46:20",
3
+ "email":"david@email.com"
4
+ },
5
+ {"timestamp":"2009-11-12 15:52:52",
6
+ "email":"julie@email.com"
7
+ }
8
+ ]
@@ -0,0 +1,14 @@
1
+ [
2
+ {"id":"my-list-id",
3
+ "web_id":12345 ,
4
+ "name":"A test list",
5
+ "date_created":"2009-09-10 14:14:06",
6
+ "member_count":5,
7
+ "unsubscribe_count":0,
8
+ "cleaned_count":0,
9
+ "email_type_option":false,
10
+ "default_from_name":"John Smith",
11
+ "default_from_email":"johnsmith@acmecorp.com",
12
+ "default_subject":"",
13
+ "default_language":"eng"}
14
+ ]
@@ -0,0 +1,55 @@
1
+ $:.unshift File.expand_path("..", File.dirname(__FILE__))
2
+ require "test_helper"
3
+
4
+ class MonkeyWrench::BaseTest < Test::Unit::TestCase
5
+
6
+ context "making an HTTP GET" do
7
+ should "retry if HTTP GET times out" do
8
+ retries = sequence('retries')
9
+ response = mock('')
10
+ response.stubs(:parsed_response).returns("the response")
11
+ MonkeyWrench::Base.stubs(:base_uri).returns('http://example.com');
12
+ HTTParty::Request.any_instance.expects(:perform).in_sequence(retries).raises(Timeout::Error)
13
+ HTTParty::Request.any_instance.expects(:perform).in_sequence(retries).raises(Timeout::Error)
14
+ HTTParty::Request.any_instance.expects(:perform).in_sequence(retries).returns(response)
15
+ assert_equal MonkeyWrench::Base.get({}), 'the response'
16
+ end
17
+
18
+ should "rethrow Timeout::Error if retry limit exceeded" do
19
+ retries = sequence('retries')
20
+ response = mock('')
21
+ response.stubs(:parsed_response).returns("the response")
22
+ MonkeyWrench::Base.stubs(:base_uri).returns('http://example.com');
23
+ HTTParty::Request.any_instance.expects(:perform).in_sequence(retries).raises(Timeout::Error)
24
+ HTTParty::Request.any_instance.expects(:perform).in_sequence(retries).raises(Timeout::Error)
25
+ assert_raise Timeout::Error do
26
+ MonkeyWrench::Base.get({}, :retry_limit => 2)
27
+ end
28
+ end
29
+ end
30
+
31
+ context "making an HTTP POST" do
32
+ should "retry if HTTP POST times out" do
33
+ retries = sequence('retries')
34
+ response = mock('')
35
+ response.stubs(:parsed_response).returns("the response")
36
+ MonkeyWrench::Base.stubs(:base_uri).returns('http://example.com');
37
+ HTTParty::Request.any_instance.expects(:perform).in_sequence(retries).raises(Timeout::Error)
38
+ HTTParty::Request.any_instance.expects(:perform).in_sequence(retries).raises(Timeout::Error)
39
+ HTTParty::Request.any_instance.expects(:perform).in_sequence(retries).returns(response)
40
+ assert_equal MonkeyWrench::Base.post({}), 'the response'
41
+ end
42
+
43
+ should "rethrow Timeout::Error if retry limit exceeded" do
44
+ retries = sequence('retries')
45
+ response = mock('')
46
+ response.stubs(:parsed_response).returns("the response")
47
+ MonkeyWrench::Base.stubs(:base_uri).returns('http://example.com');
48
+ HTTParty::Request.any_instance.expects(:perform).in_sequence(retries).raises(Timeout::Error)
49
+ HTTParty::Request.any_instance.expects(:perform).in_sequence(retries).raises(Timeout::Error)
50
+ assert_raise Timeout::Error do
51
+ MonkeyWrench::Base.post({}, :retry_limit => 2)
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,1758 @@
1
+ !RBIX
2
+ 0
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 77
13
+ 99
14
+ 43
15
+ 0
16
+ 7
17
+ 1
18
+ 49
19
+ 2
20
+ 1
21
+ 45
22
+ 3
23
+ 4
24
+ 7
25
+ 5
26
+ 64
27
+ 45
28
+ 3
29
+ 6
30
+ 65
31
+ 49
32
+ 7
33
+ 0
34
+ 49
35
+ 8
36
+ 1
37
+ 49
38
+ 9
39
+ 2
40
+ 49
41
+ 10
42
+ 1
43
+ 15
44
+ 5
45
+ 7
46
+ 11
47
+ 64
48
+ 47
49
+ 49
50
+ 12
51
+ 1
52
+ 15
53
+ 99
54
+ 7
55
+ 13
56
+ 45
57
+ 14
58
+ 15
59
+ 43
60
+ 16
61
+ 43
62
+ 17
63
+ 45
64
+ 18
65
+ 19
66
+ 49
67
+ 20
68
+ 3
69
+ 13
70
+ 99
71
+ 12
72
+ 7
73
+ 21
74
+ 12
75
+ 7
76
+ 22
77
+ 12
78
+ 65
79
+ 12
80
+ 49
81
+ 23
82
+ 4
83
+ 15
84
+ 49
85
+ 21
86
+ 0
87
+ 15
88
+ 2
89
+ 11
90
+ I
91
+ 6
92
+ I
93
+ 0
94
+ I
95
+ 0
96
+ I
97
+ 0
98
+ n
99
+ p
100
+ 24
101
+ x
102
+ 7
103
+ Globals
104
+ x
105
+ 2
106
+ $:
107
+ x
108
+ 2
109
+ []
110
+ x
111
+ 4
112
+ File
113
+ n
114
+ s
115
+ 2
116
+ ..
117
+ n
118
+ x
119
+ 11
120
+ active_path
121
+ x
122
+ 7
123
+ dirname
124
+ x
125
+ 11
126
+ expand_path
127
+ x
128
+ 7
129
+ unshift
130
+ s
131
+ 11
132
+ test_helper
133
+ x
134
+ 7
135
+ require
136
+ x
137
+ 8
138
+ BaseTest
139
+ x
140
+ 4
141
+ Test
142
+ n
143
+ x
144
+ 4
145
+ Unit
146
+ x
147
+ 8
148
+ TestCase
149
+ x
150
+ 12
151
+ MonkeyWrench
152
+ n
153
+ x
154
+ 16
155
+ open_class_under
156
+ x
157
+ 14
158
+ __class_init__
159
+ M
160
+ 1
161
+ n
162
+ n
163
+ x
164
+ 8
165
+ BaseTest
166
+ i
167
+ 24
168
+ 5
169
+ 66
170
+ 5
171
+ 7
172
+ 0
173
+ 64
174
+ 56
175
+ 1
176
+ 47
177
+ 50
178
+ 2
179
+ 1
180
+ 15
181
+ 5
182
+ 7
183
+ 3
184
+ 64
185
+ 56
186
+ 4
187
+ 47
188
+ 50
189
+ 2
190
+ 1
191
+ 11
192
+ I
193
+ 3
194
+ I
195
+ 0
196
+ I
197
+ 0
198
+ I
199
+ 0
200
+ n
201
+ p
202
+ 5
203
+ s
204
+ 18
205
+ making an HTTP GET
206
+ M
207
+ 1
208
+ p
209
+ 2
210
+ x
211
+ 9
212
+ for_block
213
+ t
214
+ n
215
+ x
216
+ 8
217
+ BaseTest
218
+ i
219
+ 22
220
+ 5
221
+ 7
222
+ 0
223
+ 64
224
+ 56
225
+ 1
226
+ 47
227
+ 50
228
+ 2
229
+ 1
230
+ 15
231
+ 5
232
+ 7
233
+ 3
234
+ 64
235
+ 56
236
+ 4
237
+ 47
238
+ 50
239
+ 2
240
+ 1
241
+ 11
242
+ I
243
+ 4
244
+ I
245
+ 0
246
+ I
247
+ 0
248
+ I
249
+ 0
250
+ I
251
+ -2
252
+ p
253
+ 5
254
+ s
255
+ 27
256
+ retry if HTTP GET times out
257
+ M
258
+ 1
259
+ p
260
+ 2
261
+ x
262
+ 9
263
+ for_block
264
+ t
265
+ n
266
+ x
267
+ 8
268
+ BaseTest
269
+ i
270
+ 155
271
+ 5
272
+ 7
273
+ 0
274
+ 64
275
+ 47
276
+ 49
277
+ 1
278
+ 1
279
+ 19
280
+ 0
281
+ 15
282
+ 5
283
+ 7
284
+ 2
285
+ 64
286
+ 47
287
+ 49
288
+ 3
289
+ 1
290
+ 19
291
+ 1
292
+ 15
293
+ 20
294
+ 1
295
+ 7
296
+ 4
297
+ 49
298
+ 5
299
+ 1
300
+ 7
301
+ 6
302
+ 64
303
+ 49
304
+ 7
305
+ 1
306
+ 15
307
+ 45
308
+ 8
309
+ 9
310
+ 43
311
+ 10
312
+ 7
313
+ 11
314
+ 49
315
+ 5
316
+ 1
317
+ 7
318
+ 12
319
+ 64
320
+ 49
321
+ 7
322
+ 1
323
+ 15
324
+ 45
325
+ 13
326
+ 14
327
+ 43
328
+ 15
329
+ 49
330
+ 16
331
+ 0
332
+ 7
333
+ 17
334
+ 49
335
+ 18
336
+ 1
337
+ 20
338
+ 0
339
+ 49
340
+ 19
341
+ 1
342
+ 45
343
+ 20
344
+ 21
345
+ 43
346
+ 22
347
+ 49
348
+ 23
349
+ 1
350
+ 15
351
+ 45
352
+ 13
353
+ 24
354
+ 43
355
+ 15
356
+ 49
357
+ 16
358
+ 0
359
+ 7
360
+ 17
361
+ 49
362
+ 18
363
+ 1
364
+ 20
365
+ 0
366
+ 49
367
+ 19
368
+ 1
369
+ 45
370
+ 20
371
+ 25
372
+ 43
373
+ 22
374
+ 49
375
+ 23
376
+ 1
377
+ 15
378
+ 45
379
+ 13
380
+ 26
381
+ 43
382
+ 15
383
+ 49
384
+ 16
385
+ 0
386
+ 7
387
+ 17
388
+ 49
389
+ 18
390
+ 1
391
+ 20
392
+ 0
393
+ 49
394
+ 19
395
+ 1
396
+ 20
397
+ 1
398
+ 49
399
+ 7
400
+ 1
401
+ 15
402
+ 5
403
+ 45
404
+ 8
405
+ 27
406
+ 43
407
+ 10
408
+ 44
409
+ 43
410
+ 28
411
+ 78
412
+ 49
413
+ 29
414
+ 1
415
+ 49
416
+ 30
417
+ 1
418
+ 7
419
+ 6
420
+ 64
421
+ 47
422
+ 49
423
+ 31
424
+ 2
425
+ 11
426
+ I
427
+ 7
428
+ I
429
+ 2
430
+ I
431
+ 0
432
+ I
433
+ 0
434
+ I
435
+ -2
436
+ p
437
+ 32
438
+ s
439
+ 7
440
+ retries
441
+ x
442
+ 8
443
+ sequence
444
+ s
445
+ 0
446
+
447
+ x
448
+ 4
449
+ mock
450
+ x
451
+ 15
452
+ parsed_response
453
+ x
454
+ 5
455
+ stubs
456
+ s
457
+ 12
458
+ the response
459
+ x
460
+ 7
461
+ returns
462
+ x
463
+ 12
464
+ MonkeyWrench
465
+ n
466
+ x
467
+ 4
468
+ Base
469
+ x
470
+ 8
471
+ base_uri
472
+ s
473
+ 18
474
+ http://example.com
475
+ x
476
+ 8
477
+ HTTParty
478
+ n
479
+ x
480
+ 7
481
+ Request
482
+ x
483
+ 12
484
+ any_instance
485
+ x
486
+ 7
487
+ perform
488
+ x
489
+ 7
490
+ expects
491
+ x
492
+ 11
493
+ in_sequence
494
+ x
495
+ 7
496
+ Timeout
497
+ n
498
+ x
499
+ 5
500
+ Error
501
+ x
502
+ 6
503
+ raises
504
+ n
505
+ n
506
+ n
507
+ n
508
+ x
509
+ 4
510
+ Hash
511
+ x
512
+ 16
513
+ new_from_literal
514
+ x
515
+ 3
516
+ get
517
+ x
518
+ 12
519
+ assert_equal
520
+ p
521
+ 19
522
+ I
523
+ 0
524
+ I
525
+ 7
526
+ I
527
+ 0
528
+ I
529
+ 8
530
+ I
531
+ b
532
+ I
533
+ 9
534
+ I
535
+ 16
536
+ I
537
+ a
538
+ I
539
+ 24
540
+ I
541
+ b
542
+ I
543
+ 35
544
+ I
545
+ c
546
+ I
547
+ 50
548
+ I
549
+ d
550
+ I
551
+ 6b
552
+ I
553
+ e
554
+ I
555
+ 83
556
+ I
557
+ f
558
+ I
559
+ 9b
560
+ x
561
+ 82
562
+ /Volumes/Personal/Documents/glenn-dev/monkeywrench/test/monkey_wrench/base_test.rb
563
+ p
564
+ 2
565
+ x
566
+ 7
567
+ retries
568
+ x
569
+ 8
570
+ response
571
+ x
572
+ 6
573
+ should
574
+ s
575
+ 46
576
+ rethrow Timeout::Error if retry limit exceeded
577
+ M
578
+ 1
579
+ p
580
+ 2
581
+ x
582
+ 9
583
+ for_block
584
+ t
585
+ n
586
+ x
587
+ 8
588
+ BaseTest
589
+ i
590
+ 120
591
+ 5
592
+ 7
593
+ 0
594
+ 64
595
+ 47
596
+ 49
597
+ 1
598
+ 1
599
+ 19
600
+ 0
601
+ 15
602
+ 5
603
+ 7
604
+ 2
605
+ 64
606
+ 47
607
+ 49
608
+ 3
609
+ 1
610
+ 19
611
+ 1
612
+ 15
613
+ 20
614
+ 1
615
+ 7
616
+ 4
617
+ 49
618
+ 5
619
+ 1
620
+ 7
621
+ 6
622
+ 64
623
+ 49
624
+ 7
625
+ 1
626
+ 15
627
+ 45
628
+ 8
629
+ 9
630
+ 43
631
+ 10
632
+ 7
633
+ 11
634
+ 49
635
+ 5
636
+ 1
637
+ 7
638
+ 12
639
+ 64
640
+ 49
641
+ 7
642
+ 1
643
+ 15
644
+ 45
645
+ 13
646
+ 14
647
+ 43
648
+ 15
649
+ 49
650
+ 16
651
+ 0
652
+ 7
653
+ 17
654
+ 49
655
+ 18
656
+ 1
657
+ 20
658
+ 0
659
+ 49
660
+ 19
661
+ 1
662
+ 45
663
+ 20
664
+ 21
665
+ 43
666
+ 22
667
+ 49
668
+ 23
669
+ 1
670
+ 15
671
+ 45
672
+ 13
673
+ 24
674
+ 43
675
+ 15
676
+ 49
677
+ 16
678
+ 0
679
+ 7
680
+ 17
681
+ 49
682
+ 18
683
+ 1
684
+ 20
685
+ 0
686
+ 49
687
+ 19
688
+ 1
689
+ 45
690
+ 20
691
+ 25
692
+ 43
693
+ 22
694
+ 49
695
+ 23
696
+ 1
697
+ 15
698
+ 5
699
+ 45
700
+ 20
701
+ 26
702
+ 43
703
+ 22
704
+ 56
705
+ 27
706
+ 47
707
+ 50
708
+ 28
709
+ 1
710
+ 11
711
+ I
712
+ 6
713
+ I
714
+ 2
715
+ I
716
+ 0
717
+ I
718
+ 0
719
+ I
720
+ -2
721
+ p
722
+ 29
723
+ s
724
+ 7
725
+ retries
726
+ x
727
+ 8
728
+ sequence
729
+ s
730
+ 0
731
+
732
+ x
733
+ 4
734
+ mock
735
+ x
736
+ 15
737
+ parsed_response
738
+ x
739
+ 5
740
+ stubs
741
+ s
742
+ 12
743
+ the response
744
+ x
745
+ 7
746
+ returns
747
+ x
748
+ 12
749
+ MonkeyWrench
750
+ n
751
+ x
752
+ 4
753
+ Base
754
+ x
755
+ 8
756
+ base_uri
757
+ s
758
+ 18
759
+ http://example.com
760
+ x
761
+ 8
762
+ HTTParty
763
+ n
764
+ x
765
+ 7
766
+ Request
767
+ x
768
+ 12
769
+ any_instance
770
+ x
771
+ 7
772
+ perform
773
+ x
774
+ 7
775
+ expects
776
+ x
777
+ 11
778
+ in_sequence
779
+ x
780
+ 7
781
+ Timeout
782
+ n
783
+ x
784
+ 5
785
+ Error
786
+ x
787
+ 6
788
+ raises
789
+ n
790
+ n
791
+ n
792
+ M
793
+ 1
794
+ p
795
+ 2
796
+ x
797
+ 9
798
+ for_block
799
+ t
800
+ n
801
+ x
802
+ 8
803
+ BaseTest
804
+ i
805
+ 31
806
+ 45
807
+ 0
808
+ 1
809
+ 43
810
+ 2
811
+ 44
812
+ 43
813
+ 3
814
+ 78
815
+ 49
816
+ 4
817
+ 1
818
+ 44
819
+ 43
820
+ 3
821
+ 79
822
+ 49
823
+ 4
824
+ 1
825
+ 13
826
+ 7
827
+ 5
828
+ 80
829
+ 49
830
+ 6
831
+ 2
832
+ 15
833
+ 49
834
+ 7
835
+ 2
836
+ 11
837
+ I
838
+ 7
839
+ I
840
+ 0
841
+ I
842
+ 0
843
+ I
844
+ 0
845
+ I
846
+ -2
847
+ p
848
+ 8
849
+ x
850
+ 12
851
+ MonkeyWrench
852
+ n
853
+ x
854
+ 4
855
+ Base
856
+ x
857
+ 4
858
+ Hash
859
+ x
860
+ 16
861
+ new_from_literal
862
+ x
863
+ 11
864
+ retry_limit
865
+ x
866
+ 3
867
+ []=
868
+ x
869
+ 3
870
+ get
871
+ p
872
+ 5
873
+ I
874
+ 0
875
+ I
876
+ 19
877
+ I
878
+ 0
879
+ I
880
+ 1a
881
+ I
882
+ 1f
883
+ x
884
+ 82
885
+ /Volumes/Personal/Documents/glenn-dev/monkeywrench/test/monkey_wrench/base_test.rb
886
+ p
887
+ 0
888
+ x
889
+ 12
890
+ assert_raise
891
+ p
892
+ 17
893
+ I
894
+ 0
895
+ I
896
+ 12
897
+ I
898
+ 0
899
+ I
900
+ 13
901
+ I
902
+ b
903
+ I
904
+ 14
905
+ I
906
+ 16
907
+ I
908
+ 15
909
+ I
910
+ 24
911
+ I
912
+ 16
913
+ I
914
+ 35
915
+ I
916
+ 17
917
+ I
918
+ 50
919
+ I
920
+ 18
921
+ I
922
+ 6b
923
+ I
924
+ 19
925
+ I
926
+ 78
927
+ x
928
+ 82
929
+ /Volumes/Personal/Documents/glenn-dev/monkeywrench/test/monkey_wrench/base_test.rb
930
+ p
931
+ 2
932
+ x
933
+ 7
934
+ retries
935
+ x
936
+ 8
937
+ response
938
+ p
939
+ 7
940
+ I
941
+ 0
942
+ I
943
+ 6
944
+ I
945
+ 0
946
+ I
947
+ 7
948
+ I
949
+ b
950
+ I
951
+ 12
952
+ I
953
+ 16
954
+ x
955
+ 82
956
+ /Volumes/Personal/Documents/glenn-dev/monkeywrench/test/monkey_wrench/base_test.rb
957
+ p
958
+ 0
959
+ x
960
+ 7
961
+ context
962
+ s
963
+ 19
964
+ making an HTTP POST
965
+ M
966
+ 1
967
+ p
968
+ 2
969
+ x
970
+ 9
971
+ for_block
972
+ t
973
+ n
974
+ x
975
+ 8
976
+ BaseTest
977
+ i
978
+ 22
979
+ 5
980
+ 7
981
+ 0
982
+ 64
983
+ 56
984
+ 1
985
+ 47
986
+ 50
987
+ 2
988
+ 1
989
+ 15
990
+ 5
991
+ 7
992
+ 3
993
+ 64
994
+ 56
995
+ 4
996
+ 47
997
+ 50
998
+ 2
999
+ 1
1000
+ 11
1001
+ I
1002
+ 4
1003
+ I
1004
+ 0
1005
+ I
1006
+ 0
1007
+ I
1008
+ 0
1009
+ I
1010
+ -2
1011
+ p
1012
+ 5
1013
+ s
1014
+ 28
1015
+ retry if HTTP POST times out
1016
+ M
1017
+ 1
1018
+ p
1019
+ 2
1020
+ x
1021
+ 9
1022
+ for_block
1023
+ t
1024
+ n
1025
+ x
1026
+ 8
1027
+ BaseTest
1028
+ i
1029
+ 155
1030
+ 5
1031
+ 7
1032
+ 0
1033
+ 64
1034
+ 47
1035
+ 49
1036
+ 1
1037
+ 1
1038
+ 19
1039
+ 0
1040
+ 15
1041
+ 5
1042
+ 7
1043
+ 2
1044
+ 64
1045
+ 47
1046
+ 49
1047
+ 3
1048
+ 1
1049
+ 19
1050
+ 1
1051
+ 15
1052
+ 20
1053
+ 1
1054
+ 7
1055
+ 4
1056
+ 49
1057
+ 5
1058
+ 1
1059
+ 7
1060
+ 6
1061
+ 64
1062
+ 49
1063
+ 7
1064
+ 1
1065
+ 15
1066
+ 45
1067
+ 8
1068
+ 9
1069
+ 43
1070
+ 10
1071
+ 7
1072
+ 11
1073
+ 49
1074
+ 5
1075
+ 1
1076
+ 7
1077
+ 12
1078
+ 64
1079
+ 49
1080
+ 7
1081
+ 1
1082
+ 15
1083
+ 45
1084
+ 13
1085
+ 14
1086
+ 43
1087
+ 15
1088
+ 49
1089
+ 16
1090
+ 0
1091
+ 7
1092
+ 17
1093
+ 49
1094
+ 18
1095
+ 1
1096
+ 20
1097
+ 0
1098
+ 49
1099
+ 19
1100
+ 1
1101
+ 45
1102
+ 20
1103
+ 21
1104
+ 43
1105
+ 22
1106
+ 49
1107
+ 23
1108
+ 1
1109
+ 15
1110
+ 45
1111
+ 13
1112
+ 24
1113
+ 43
1114
+ 15
1115
+ 49
1116
+ 16
1117
+ 0
1118
+ 7
1119
+ 17
1120
+ 49
1121
+ 18
1122
+ 1
1123
+ 20
1124
+ 0
1125
+ 49
1126
+ 19
1127
+ 1
1128
+ 45
1129
+ 20
1130
+ 25
1131
+ 43
1132
+ 22
1133
+ 49
1134
+ 23
1135
+ 1
1136
+ 15
1137
+ 45
1138
+ 13
1139
+ 26
1140
+ 43
1141
+ 15
1142
+ 49
1143
+ 16
1144
+ 0
1145
+ 7
1146
+ 17
1147
+ 49
1148
+ 18
1149
+ 1
1150
+ 20
1151
+ 0
1152
+ 49
1153
+ 19
1154
+ 1
1155
+ 20
1156
+ 1
1157
+ 49
1158
+ 7
1159
+ 1
1160
+ 15
1161
+ 5
1162
+ 45
1163
+ 8
1164
+ 27
1165
+ 43
1166
+ 10
1167
+ 44
1168
+ 43
1169
+ 28
1170
+ 78
1171
+ 49
1172
+ 29
1173
+ 1
1174
+ 49
1175
+ 30
1176
+ 1
1177
+ 7
1178
+ 6
1179
+ 64
1180
+ 47
1181
+ 49
1182
+ 31
1183
+ 2
1184
+ 11
1185
+ I
1186
+ 7
1187
+ I
1188
+ 2
1189
+ I
1190
+ 0
1191
+ I
1192
+ 0
1193
+ I
1194
+ -2
1195
+ p
1196
+ 32
1197
+ s
1198
+ 7
1199
+ retries
1200
+ x
1201
+ 8
1202
+ sequence
1203
+ s
1204
+ 0
1205
+
1206
+ x
1207
+ 4
1208
+ mock
1209
+ x
1210
+ 15
1211
+ parsed_response
1212
+ x
1213
+ 5
1214
+ stubs
1215
+ s
1216
+ 12
1217
+ the response
1218
+ x
1219
+ 7
1220
+ returns
1221
+ x
1222
+ 12
1223
+ MonkeyWrench
1224
+ n
1225
+ x
1226
+ 4
1227
+ Base
1228
+ x
1229
+ 8
1230
+ base_uri
1231
+ s
1232
+ 18
1233
+ http://example.com
1234
+ x
1235
+ 8
1236
+ HTTParty
1237
+ n
1238
+ x
1239
+ 7
1240
+ Request
1241
+ x
1242
+ 12
1243
+ any_instance
1244
+ x
1245
+ 7
1246
+ perform
1247
+ x
1248
+ 7
1249
+ expects
1250
+ x
1251
+ 11
1252
+ in_sequence
1253
+ x
1254
+ 7
1255
+ Timeout
1256
+ n
1257
+ x
1258
+ 5
1259
+ Error
1260
+ x
1261
+ 6
1262
+ raises
1263
+ n
1264
+ n
1265
+ n
1266
+ n
1267
+ x
1268
+ 4
1269
+ Hash
1270
+ x
1271
+ 16
1272
+ new_from_literal
1273
+ x
1274
+ 4
1275
+ post
1276
+ x
1277
+ 12
1278
+ assert_equal
1279
+ p
1280
+ 19
1281
+ I
1282
+ 0
1283
+ I
1284
+ 20
1285
+ I
1286
+ 0
1287
+ I
1288
+ 21
1289
+ I
1290
+ b
1291
+ I
1292
+ 22
1293
+ I
1294
+ 16
1295
+ I
1296
+ 23
1297
+ I
1298
+ 24
1299
+ I
1300
+ 24
1301
+ I
1302
+ 35
1303
+ I
1304
+ 25
1305
+ I
1306
+ 50
1307
+ I
1308
+ 26
1309
+ I
1310
+ 6b
1311
+ I
1312
+ 27
1313
+ I
1314
+ 83
1315
+ I
1316
+ 28
1317
+ I
1318
+ 9b
1319
+ x
1320
+ 82
1321
+ /Volumes/Personal/Documents/glenn-dev/monkeywrench/test/monkey_wrench/base_test.rb
1322
+ p
1323
+ 2
1324
+ x
1325
+ 7
1326
+ retries
1327
+ x
1328
+ 8
1329
+ response
1330
+ x
1331
+ 6
1332
+ should
1333
+ s
1334
+ 46
1335
+ rethrow Timeout::Error if retry limit exceeded
1336
+ M
1337
+ 1
1338
+ p
1339
+ 2
1340
+ x
1341
+ 9
1342
+ for_block
1343
+ t
1344
+ n
1345
+ x
1346
+ 8
1347
+ BaseTest
1348
+ i
1349
+ 120
1350
+ 5
1351
+ 7
1352
+ 0
1353
+ 64
1354
+ 47
1355
+ 49
1356
+ 1
1357
+ 1
1358
+ 19
1359
+ 0
1360
+ 15
1361
+ 5
1362
+ 7
1363
+ 2
1364
+ 64
1365
+ 47
1366
+ 49
1367
+ 3
1368
+ 1
1369
+ 19
1370
+ 1
1371
+ 15
1372
+ 20
1373
+ 1
1374
+ 7
1375
+ 4
1376
+ 49
1377
+ 5
1378
+ 1
1379
+ 7
1380
+ 6
1381
+ 64
1382
+ 49
1383
+ 7
1384
+ 1
1385
+ 15
1386
+ 45
1387
+ 8
1388
+ 9
1389
+ 43
1390
+ 10
1391
+ 7
1392
+ 11
1393
+ 49
1394
+ 5
1395
+ 1
1396
+ 7
1397
+ 12
1398
+ 64
1399
+ 49
1400
+ 7
1401
+ 1
1402
+ 15
1403
+ 45
1404
+ 13
1405
+ 14
1406
+ 43
1407
+ 15
1408
+ 49
1409
+ 16
1410
+ 0
1411
+ 7
1412
+ 17
1413
+ 49
1414
+ 18
1415
+ 1
1416
+ 20
1417
+ 0
1418
+ 49
1419
+ 19
1420
+ 1
1421
+ 45
1422
+ 20
1423
+ 21
1424
+ 43
1425
+ 22
1426
+ 49
1427
+ 23
1428
+ 1
1429
+ 15
1430
+ 45
1431
+ 13
1432
+ 24
1433
+ 43
1434
+ 15
1435
+ 49
1436
+ 16
1437
+ 0
1438
+ 7
1439
+ 17
1440
+ 49
1441
+ 18
1442
+ 1
1443
+ 20
1444
+ 0
1445
+ 49
1446
+ 19
1447
+ 1
1448
+ 45
1449
+ 20
1450
+ 25
1451
+ 43
1452
+ 22
1453
+ 49
1454
+ 23
1455
+ 1
1456
+ 15
1457
+ 5
1458
+ 45
1459
+ 20
1460
+ 26
1461
+ 43
1462
+ 22
1463
+ 56
1464
+ 27
1465
+ 47
1466
+ 50
1467
+ 28
1468
+ 1
1469
+ 11
1470
+ I
1471
+ 6
1472
+ I
1473
+ 2
1474
+ I
1475
+ 0
1476
+ I
1477
+ 0
1478
+ I
1479
+ -2
1480
+ p
1481
+ 29
1482
+ s
1483
+ 7
1484
+ retries
1485
+ x
1486
+ 8
1487
+ sequence
1488
+ s
1489
+ 0
1490
+
1491
+ x
1492
+ 4
1493
+ mock
1494
+ x
1495
+ 15
1496
+ parsed_response
1497
+ x
1498
+ 5
1499
+ stubs
1500
+ s
1501
+ 12
1502
+ the response
1503
+ x
1504
+ 7
1505
+ returns
1506
+ x
1507
+ 12
1508
+ MonkeyWrench
1509
+ n
1510
+ x
1511
+ 4
1512
+ Base
1513
+ x
1514
+ 8
1515
+ base_uri
1516
+ s
1517
+ 18
1518
+ http://example.com
1519
+ x
1520
+ 8
1521
+ HTTParty
1522
+ n
1523
+ x
1524
+ 7
1525
+ Request
1526
+ x
1527
+ 12
1528
+ any_instance
1529
+ x
1530
+ 7
1531
+ perform
1532
+ x
1533
+ 7
1534
+ expects
1535
+ x
1536
+ 11
1537
+ in_sequence
1538
+ x
1539
+ 7
1540
+ Timeout
1541
+ n
1542
+ x
1543
+ 5
1544
+ Error
1545
+ x
1546
+ 6
1547
+ raises
1548
+ n
1549
+ n
1550
+ n
1551
+ M
1552
+ 1
1553
+ p
1554
+ 2
1555
+ x
1556
+ 9
1557
+ for_block
1558
+ t
1559
+ n
1560
+ x
1561
+ 8
1562
+ BaseTest
1563
+ i
1564
+ 31
1565
+ 45
1566
+ 0
1567
+ 1
1568
+ 43
1569
+ 2
1570
+ 44
1571
+ 43
1572
+ 3
1573
+ 78
1574
+ 49
1575
+ 4
1576
+ 1
1577
+ 44
1578
+ 43
1579
+ 3
1580
+ 79
1581
+ 49
1582
+ 4
1583
+ 1
1584
+ 13
1585
+ 7
1586
+ 5
1587
+ 80
1588
+ 49
1589
+ 6
1590
+ 2
1591
+ 15
1592
+ 49
1593
+ 7
1594
+ 2
1595
+ 11
1596
+ I
1597
+ 7
1598
+ I
1599
+ 0
1600
+ I
1601
+ 0
1602
+ I
1603
+ 0
1604
+ I
1605
+ -2
1606
+ p
1607
+ 8
1608
+ x
1609
+ 12
1610
+ MonkeyWrench
1611
+ n
1612
+ x
1613
+ 4
1614
+ Base
1615
+ x
1616
+ 4
1617
+ Hash
1618
+ x
1619
+ 16
1620
+ new_from_literal
1621
+ x
1622
+ 11
1623
+ retry_limit
1624
+ x
1625
+ 3
1626
+ []=
1627
+ x
1628
+ 4
1629
+ post
1630
+ p
1631
+ 5
1632
+ I
1633
+ 0
1634
+ I
1635
+ 32
1636
+ I
1637
+ 0
1638
+ I
1639
+ 33
1640
+ I
1641
+ 1f
1642
+ x
1643
+ 82
1644
+ /Volumes/Personal/Documents/glenn-dev/monkeywrench/test/monkey_wrench/base_test.rb
1645
+ p
1646
+ 0
1647
+ x
1648
+ 12
1649
+ assert_raise
1650
+ p
1651
+ 17
1652
+ I
1653
+ 0
1654
+ I
1655
+ 2b
1656
+ I
1657
+ 0
1658
+ I
1659
+ 2c
1660
+ I
1661
+ b
1662
+ I
1663
+ 2d
1664
+ I
1665
+ 16
1666
+ I
1667
+ 2e
1668
+ I
1669
+ 24
1670
+ I
1671
+ 2f
1672
+ I
1673
+ 35
1674
+ I
1675
+ 30
1676
+ I
1677
+ 50
1678
+ I
1679
+ 31
1680
+ I
1681
+ 6b
1682
+ I
1683
+ 32
1684
+ I
1685
+ 78
1686
+ x
1687
+ 82
1688
+ /Volumes/Personal/Documents/glenn-dev/monkeywrench/test/monkey_wrench/base_test.rb
1689
+ p
1690
+ 2
1691
+ x
1692
+ 7
1693
+ retries
1694
+ x
1695
+ 8
1696
+ response
1697
+ p
1698
+ 7
1699
+ I
1700
+ 0
1701
+ I
1702
+ 1f
1703
+ I
1704
+ 0
1705
+ I
1706
+ 20
1707
+ I
1708
+ b
1709
+ I
1710
+ 2b
1711
+ I
1712
+ 16
1713
+ x
1714
+ 82
1715
+ /Volumes/Personal/Documents/glenn-dev/monkeywrench/test/monkey_wrench/base_test.rb
1716
+ p
1717
+ 0
1718
+ p
1719
+ 5
1720
+ I
1721
+ 2
1722
+ I
1723
+ 6
1724
+ I
1725
+ d
1726
+ I
1727
+ 1f
1728
+ I
1729
+ 18
1730
+ x
1731
+ 82
1732
+ /Volumes/Personal/Documents/glenn-dev/monkeywrench/test/monkey_wrench/base_test.rb
1733
+ p
1734
+ 0
1735
+ x
1736
+ 13
1737
+ attach_method
1738
+ p
1739
+ 7
1740
+ I
1741
+ 0
1742
+ I
1743
+ 1
1744
+ I
1745
+ 1f
1746
+ I
1747
+ 2
1748
+ I
1749
+ 28
1750
+ I
1751
+ 4
1752
+ I
1753
+ 4d
1754
+ x
1755
+ 82
1756
+ /Volumes/Personal/Documents/glenn-dev/monkeywrench/test/monkey_wrench/base_test.rb
1757
+ p
1758
+ 0