sucker 1.0.0.beta.4 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. data/CHANGELOG.md +12 -2
  2. data/README.md +5 -2
  3. data/lib/sucker.rbc +341 -0
  4. data/lib/sucker/request.rb +1 -1
  5. data/lib/sucker/request.rbc +2481 -0
  6. data/lib/sucker/response.rb +19 -7
  7. data/lib/sucker/response.rbc +1554 -0
  8. data/lib/sucker/version.rb +2 -2
  9. data/lib/sucker/version.rbc +130 -0
  10. data/spec/fixtures/asins.txt +9406 -406
  11. data/spec/fixtures/cassette_library/integration/alternate_versions.yml +27 -0
  12. data/spec/fixtures/cassette_library/integration/errors.yml +27 -0
  13. data/spec/fixtures/cassette_library/integration/france.yml +27 -0
  14. data/spec/fixtures/cassette_library/integration/images.yml +27 -0
  15. data/spec/fixtures/cassette_library/integration/item_lookup/multiple.yml +27 -0
  16. data/spec/fixtures/cassette_library/integration/item_lookup/single.yml +27 -0
  17. data/spec/fixtures/cassette_library/integration/item_search.yml +27 -0
  18. data/spec/fixtures/cassette_library/integration/japan.yml +27 -0
  19. data/spec/fixtures/cassette_library/integration/keyword_search.yml +27 -0
  20. data/spec/fixtures/cassette_library/integration/kindle.yml +27 -0
  21. data/spec/fixtures/cassette_library/integration/kindle_2.yml +27 -0
  22. data/spec/fixtures/cassette_library/integration/multiple_locales.yml +157 -0
  23. data/spec/fixtures/cassette_library/integration/power_search.yml +27 -0
  24. data/spec/fixtures/cassette_library/integration/related_items/child.yml +27 -0
  25. data/spec/fixtures/cassette_library/integration/related_items/parent.yml +27 -0
  26. data/spec/fixtures/cassette_library/integration/seller_listings_search.yml +27 -0
  27. data/spec/fixtures/cassette_library/integration/twenty_items.yml +27 -0
  28. data/spec/fixtures/cassette_library/unit/sucker/request.yml +29 -0
  29. data/spec/fixtures/cassette_library/unit/sucker/response.yml +27 -0
  30. data/spec/integration/alternate_versions_spec.rb +28 -20
  31. data/spec/integration/alternate_versions_spec.rbc +843 -0
  32. data/spec/integration/errors_spec.rb +10 -6
  33. data/spec/integration/errors_spec.rbc +964 -0
  34. data/spec/integration/france_spec.rb +33 -25
  35. data/spec/integration/france_spec.rbc +1012 -0
  36. data/spec/integration/images_spec.rb +32 -24
  37. data/spec/integration/images_spec.rbc +1047 -0
  38. data/spec/integration/item_lookup_spec.rb +11 -3
  39. data/spec/integration/item_lookup_spec.rbc +1723 -0
  40. data/spec/integration/item_search_spec.rb +6 -2
  41. data/spec/integration/item_search_spec.rbc +926 -0
  42. data/spec/integration/japan_spec.rb +27 -19
  43. data/spec/integration/japan_spec.rbc +849 -0
  44. data/spec/integration/keyword_search_spec.rb +5 -0
  45. data/spec/integration/keyword_search_spec.rbc +838 -0
  46. data/spec/integration/kindle_spec.rb +13 -5
  47. data/spec/integration/kindle_spec.rbc +1425 -0
  48. data/spec/integration/multiple_locales_spec.rb +34 -26
  49. data/spec/integration/multiple_locales_spec.rbc +1090 -0
  50. data/spec/integration/power_search_spec.rb +5 -0
  51. data/spec/integration/power_search_spec.rbc +838 -0
  52. data/spec/integration/related_items_spec.rb +41 -29
  53. data/spec/integration/related_items_spec.rbc +1228 -0
  54. data/spec/integration/seller_listing_search_spec.rb +3 -0
  55. data/spec/integration/seller_listing_search_spec.rbc +852 -0
  56. data/spec/integration/twenty_items_spec.rb +41 -34
  57. data/spec/integration/twenty_items_spec.rbc +1166 -0
  58. data/spec/spec_helper.rbc +231 -0
  59. data/spec/support/amazon.yml +3 -0
  60. data/spec/support/amazon.yml.example +1 -0
  61. data/spec/support/amazon_credentials.rbc +154 -0
  62. data/spec/support/asins.rb +6 -1
  63. data/spec/support/asins.rbc +335 -0
  64. data/spec/support/vcr.rbc +360 -0
  65. data/spec/unit/sucker/request_spec.rb +57 -23
  66. data/spec/unit/sucker/request_spec.rbc +4031 -0
  67. data/spec/unit/sucker/response_spec.rb +100 -26
  68. data/spec/unit/sucker/response_spec.rbc +3787 -0
  69. data/spec/unit/sucker_spec.rb +5 -1
  70. data/spec/unit/sucker_spec.rbc +299 -0
  71. metadata +94 -12
@@ -1,42 +1,49 @@
1
1
  require "spec_helper"
2
2
 
3
3
  module Sucker
4
- describe "Twenty items in one request" do
5
- use_vcr_cassette "integration/twenty_items", :record => :new_episodes
6
-
7
- let(:asins) do
8
- %w{
9
- 0816614024 0143105825 0485113600 0816616779 0942299078
10
- 0816614008 144006654X 0486400360 0486417670 087220474X
11
- 0486454398 0268018359 1604246014 184467598X 0312427182
12
- 1844674282 0745640974 0745646441 0826489540 1844672972 }
13
- end
4
+ describe "Item lookup" do
14
5
 
15
- let(:items) do
16
- worker = Sucker.new(
17
- :locale => "us",
18
- :key => amazon["key"],
19
- :secret => amazon["secret"])
20
-
21
- # Prep worker
22
- worker << {
23
- "Operation" => "ItemLookup",
24
- "ItemLookup.Shared.IdType" => "ASIN",
25
- "ItemLookup.Shared.Condition" => "All",
26
- "ItemLookup.Shared.MerchantId" => "All",
27
- "ItemLookup.Shared.ResponseGroup" => "OfferFull" }
28
-
29
- # Push twenty ASINs to worker
30
- worker << {
31
- "ItemLookup.1.ItemId" => asins[0, 10],
32
- "ItemLookup.2.ItemId" => asins[10, 10] }
33
-
34
- worker.get.find("Item")
35
- end
6
+ context "when querying for twenty items" do
7
+
8
+ use_vcr_cassette "integration/twenty_items", :record => :new_episodes
9
+
10
+ let(:asins) do
11
+ %w{
12
+ 0816614024 0143105825 0485113600 0816616779 0942299078
13
+ 0816614008 144006654X 0486400360 0486417670 087220474X
14
+ 0486454398 0268018359 1604246014 184467598X 0312427182
15
+ 1844674282 0745640974 0745646441 0826489540 1844672972 }
16
+ end
17
+
18
+ let(:items) do
19
+ worker = Sucker.new(
20
+ :locale => "us",
21
+ :key => amazon["key"],
22
+ :secret => amazon["secret"])
23
+
24
+ # Prep worker
25
+ worker << {
26
+ "Operation" => "ItemLookup",
27
+ "ItemLookup.Shared.IdType" => "ASIN",
28
+ "ItemLookup.Shared.Condition" => "All",
29
+ "ItemLookup.Shared.MerchantId" => "All",
30
+ "ItemLookup.Shared.ResponseGroup" => "OfferFull" }
31
+
32
+ # Push twenty ASINs to worker
33
+ worker << {
34
+ "ItemLookup.1.ItemId" => asins[0, 10],
35
+ "ItemLookup.2.ItemId" => asins[10, 10] }
36
+
37
+ worker.get.find("Item")
38
+ end
39
+
40
+ it "returns all items" do
41
+ items.count.should eql 20
42
+ items.map { |item| item["ASIN"] }.should eql asins
43
+ end
36
44
 
37
- it "returns 20 items" do
38
- items.count.should eql 20
39
- items.map { |item| item["ASIN"] }.should eql asins
40
45
  end
46
+
41
47
  end
48
+
42
49
  end
@@ -0,0 +1,1166 @@
1
+ !RBIX
2
+ 0
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 37
13
+ 5
14
+ 7
15
+ 0
16
+ 64
17
+ 47
18
+ 49
19
+ 1
20
+ 1
21
+ 15
22
+ 99
23
+ 7
24
+ 2
25
+ 65
26
+ 49
27
+ 3
28
+ 2
29
+ 13
30
+ 99
31
+ 12
32
+ 7
33
+ 4
34
+ 12
35
+ 7
36
+ 5
37
+ 12
38
+ 65
39
+ 12
40
+ 49
41
+ 6
42
+ 4
43
+ 15
44
+ 49
45
+ 4
46
+ 0
47
+ 15
48
+ 2
49
+ 11
50
+ I
51
+ 6
52
+ I
53
+ 0
54
+ I
55
+ 0
56
+ I
57
+ 0
58
+ n
59
+ p
60
+ 7
61
+ s
62
+ 11
63
+ spec_helper
64
+ x
65
+ 7
66
+ require
67
+ x
68
+ 6
69
+ Sucker
70
+ x
71
+ 11
72
+ open_module
73
+ x
74
+ 15
75
+ __module_init__
76
+ M
77
+ 1
78
+ n
79
+ n
80
+ x
81
+ 6
82
+ Sucker
83
+ i
84
+ 13
85
+ 5
86
+ 66
87
+ 5
88
+ 7
89
+ 0
90
+ 64
91
+ 56
92
+ 1
93
+ 47
94
+ 50
95
+ 2
96
+ 1
97
+ 11
98
+ I
99
+ 3
100
+ I
101
+ 0
102
+ I
103
+ 0
104
+ I
105
+ 0
106
+ n
107
+ p
108
+ 3
109
+ s
110
+ 11
111
+ Item lookup
112
+ M
113
+ 1
114
+ p
115
+ 2
116
+ x
117
+ 9
118
+ for_block
119
+ t
120
+ n
121
+ x
122
+ 6
123
+ Sucker
124
+ i
125
+ 11
126
+ 5
127
+ 7
128
+ 0
129
+ 64
130
+ 56
131
+ 1
132
+ 47
133
+ 50
134
+ 2
135
+ 1
136
+ 11
137
+ I
138
+ 4
139
+ I
140
+ 0
141
+ I
142
+ 0
143
+ I
144
+ 0
145
+ I
146
+ -2
147
+ p
148
+ 3
149
+ s
150
+ 30
151
+ when querying for twenty items
152
+ M
153
+ 1
154
+ p
155
+ 2
156
+ x
157
+ 9
158
+ for_block
159
+ t
160
+ n
161
+ x
162
+ 6
163
+ Sucker
164
+ i
165
+ 56
166
+ 5
167
+ 7
168
+ 0
169
+ 64
170
+ 44
171
+ 43
172
+ 1
173
+ 79
174
+ 49
175
+ 2
176
+ 1
177
+ 13
178
+ 7
179
+ 3
180
+ 7
181
+ 4
182
+ 49
183
+ 5
184
+ 2
185
+ 15
186
+ 47
187
+ 49
188
+ 6
189
+ 2
190
+ 15
191
+ 5
192
+ 7
193
+ 7
194
+ 56
195
+ 8
196
+ 47
197
+ 50
198
+ 9
199
+ 1
200
+ 15
201
+ 5
202
+ 7
203
+ 10
204
+ 56
205
+ 11
206
+ 47
207
+ 50
208
+ 9
209
+ 1
210
+ 15
211
+ 5
212
+ 7
213
+ 12
214
+ 64
215
+ 56
216
+ 13
217
+ 47
218
+ 50
219
+ 14
220
+ 1
221
+ 11
222
+ I
223
+ 7
224
+ I
225
+ 0
226
+ I
227
+ 0
228
+ I
229
+ 0
230
+ I
231
+ -2
232
+ p
233
+ 15
234
+ s
235
+ 24
236
+ integration/twenty_items
237
+ x
238
+ 4
239
+ Hash
240
+ x
241
+ 16
242
+ new_from_literal
243
+ x
244
+ 6
245
+ record
246
+ x
247
+ 12
248
+ new_episodes
249
+ x
250
+ 3
251
+ []=
252
+ x
253
+ 16
254
+ use_vcr_cassette
255
+ x
256
+ 5
257
+ asins
258
+ M
259
+ 1
260
+ p
261
+ 2
262
+ x
263
+ 9
264
+ for_block
265
+ t
266
+ n
267
+ x
268
+ 6
269
+ Sucker
270
+ i
271
+ 63
272
+ 7
273
+ 0
274
+ 64
275
+ 7
276
+ 1
277
+ 64
278
+ 7
279
+ 2
280
+ 64
281
+ 7
282
+ 3
283
+ 64
284
+ 7
285
+ 4
286
+ 64
287
+ 7
288
+ 5
289
+ 64
290
+ 7
291
+ 6
292
+ 64
293
+ 7
294
+ 7
295
+ 64
296
+ 7
297
+ 8
298
+ 64
299
+ 7
300
+ 9
301
+ 64
302
+ 7
303
+ 10
304
+ 64
305
+ 7
306
+ 11
307
+ 64
308
+ 7
309
+ 12
310
+ 64
311
+ 7
312
+ 13
313
+ 64
314
+ 7
315
+ 14
316
+ 64
317
+ 7
318
+ 15
319
+ 64
320
+ 7
321
+ 16
322
+ 64
323
+ 7
324
+ 17
325
+ 64
326
+ 7
327
+ 18
328
+ 64
329
+ 7
330
+ 19
331
+ 64
332
+ 35
333
+ 20
334
+ 11
335
+ I
336
+ 15
337
+ I
338
+ 0
339
+ I
340
+ 0
341
+ I
342
+ 0
343
+ I
344
+ -2
345
+ p
346
+ 20
347
+ s
348
+ 10
349
+ 0816614024
350
+ s
351
+ 10
352
+ 0143105825
353
+ s
354
+ 10
355
+ 0485113600
356
+ s
357
+ 10
358
+ 0816616779
359
+ s
360
+ 10
361
+ 0942299078
362
+ s
363
+ 10
364
+ 0816614008
365
+ s
366
+ 10
367
+ 144006654X
368
+ s
369
+ 10
370
+ 0486400360
371
+ s
372
+ 10
373
+ 0486417670
374
+ s
375
+ 10
376
+ 087220474X
377
+ s
378
+ 10
379
+ 0486454398
380
+ s
381
+ 10
382
+ 0268018359
383
+ s
384
+ 10
385
+ 1604246014
386
+ s
387
+ 10
388
+ 184467598X
389
+ s
390
+ 10
391
+ 0312427182
392
+ s
393
+ 10
394
+ 1844674282
395
+ s
396
+ 10
397
+ 0745640974
398
+ s
399
+ 10
400
+ 0745646441
401
+ s
402
+ 10
403
+ 0826489540
404
+ s
405
+ 10
406
+ 1844672972
407
+ p
408
+ 11
409
+ I
410
+ 0
411
+ I
412
+ a
413
+ I
414
+ 0
415
+ I
416
+ c
417
+ I
418
+ f
419
+ I
420
+ d
421
+ I
422
+ 1e
423
+ I
424
+ e
425
+ I
426
+ 2d
427
+ I
428
+ f
429
+ I
430
+ 3f
431
+ x
432
+ 60
433
+ /Users/snl/code/sucker/spec/integration/twenty_items_spec.rb
434
+ p
435
+ 0
436
+ x
437
+ 3
438
+ let
439
+ x
440
+ 5
441
+ items
442
+ M
443
+ 1
444
+ p
445
+ 2
446
+ x
447
+ 9
448
+ for_block
449
+ t
450
+ n
451
+ x
452
+ 6
453
+ Sucker
454
+ i
455
+ 256
456
+ 45
457
+ 0
458
+ 1
459
+ 13
460
+ 71
461
+ 2
462
+ 47
463
+ 9
464
+ 71
465
+ 47
466
+ 49
467
+ 3
468
+ 0
469
+ 13
470
+ 44
471
+ 43
472
+ 4
473
+ 4
474
+ 3
475
+ 49
476
+ 5
477
+ 1
478
+ 13
479
+ 7
480
+ 6
481
+ 7
482
+ 7
483
+ 64
484
+ 49
485
+ 8
486
+ 2
487
+ 15
488
+ 13
489
+ 7
490
+ 9
491
+ 5
492
+ 48
493
+ 10
494
+ 7
495
+ 11
496
+ 64
497
+ 49
498
+ 12
499
+ 1
500
+ 49
501
+ 8
502
+ 2
503
+ 15
504
+ 13
505
+ 7
506
+ 13
507
+ 5
508
+ 48
509
+ 10
510
+ 7
511
+ 14
512
+ 64
513
+ 49
514
+ 12
515
+ 1
516
+ 49
517
+ 8
518
+ 2
519
+ 15
520
+ 47
521
+ 49
522
+ 15
523
+ 1
524
+ 15
525
+ 8
526
+ 124
527
+ 44
528
+ 43
529
+ 4
530
+ 4
531
+ 3
532
+ 49
533
+ 5
534
+ 1
535
+ 13
536
+ 7
537
+ 6
538
+ 7
539
+ 7
540
+ 64
541
+ 49
542
+ 8
543
+ 2
544
+ 15
545
+ 13
546
+ 7
547
+ 9
548
+ 5
549
+ 48
550
+ 10
551
+ 7
552
+ 11
553
+ 64
554
+ 49
555
+ 12
556
+ 1
557
+ 49
558
+ 8
559
+ 2
560
+ 15
561
+ 13
562
+ 7
563
+ 13
564
+ 5
565
+ 48
566
+ 10
567
+ 7
568
+ 14
569
+ 64
570
+ 49
571
+ 12
572
+ 1
573
+ 49
574
+ 8
575
+ 2
576
+ 15
577
+ 49
578
+ 2
579
+ 1
580
+ 19
581
+ 0
582
+ 15
583
+ 20
584
+ 0
585
+ 44
586
+ 43
587
+ 4
588
+ 4
589
+ 5
590
+ 49
591
+ 5
592
+ 1
593
+ 13
594
+ 7
595
+ 16
596
+ 64
597
+ 7
598
+ 17
599
+ 64
600
+ 49
601
+ 8
602
+ 2
603
+ 15
604
+ 13
605
+ 7
606
+ 18
607
+ 64
608
+ 7
609
+ 19
610
+ 64
611
+ 49
612
+ 8
613
+ 2
614
+ 15
615
+ 13
616
+ 7
617
+ 20
618
+ 64
619
+ 7
620
+ 21
621
+ 64
622
+ 49
623
+ 8
624
+ 2
625
+ 15
626
+ 13
627
+ 7
628
+ 22
629
+ 64
630
+ 7
631
+ 21
632
+ 64
633
+ 49
634
+ 8
635
+ 2
636
+ 15
637
+ 13
638
+ 7
639
+ 23
640
+ 64
641
+ 7
642
+ 24
643
+ 64
644
+ 49
645
+ 8
646
+ 2
647
+ 15
648
+ 49
649
+ 25
650
+ 1
651
+ 15
652
+ 20
653
+ 0
654
+ 44
655
+ 43
656
+ 4
657
+ 80
658
+ 49
659
+ 5
660
+ 1
661
+ 13
662
+ 7
663
+ 26
664
+ 64
665
+ 5
666
+ 48
667
+ 27
668
+ 78
669
+ 4
670
+ 10
671
+ 49
672
+ 12
673
+ 2
674
+ 49
675
+ 8
676
+ 2
677
+ 15
678
+ 13
679
+ 7
680
+ 28
681
+ 64
682
+ 5
683
+ 48
684
+ 27
685
+ 4
686
+ 10
687
+ 4
688
+ 10
689
+ 49
690
+ 12
691
+ 2
692
+ 49
693
+ 8
694
+ 2
695
+ 15
696
+ 49
697
+ 25
698
+ 1
699
+ 15
700
+ 20
701
+ 0
702
+ 49
703
+ 29
704
+ 0
705
+ 7
706
+ 30
707
+ 64
708
+ 49
709
+ 31
710
+ 1
711
+ 11
712
+ I
713
+ 9
714
+ I
715
+ 1
716
+ I
717
+ 0
718
+ I
719
+ 0
720
+ I
721
+ -2
722
+ p
723
+ 32
724
+ x
725
+ 6
726
+ Sucker
727
+ n
728
+ x
729
+ 3
730
+ new
731
+ x
732
+ 8
733
+ allocate
734
+ x
735
+ 4
736
+ Hash
737
+ x
738
+ 16
739
+ new_from_literal
740
+ x
741
+ 6
742
+ locale
743
+ s
744
+ 2
745
+ us
746
+ x
747
+ 3
748
+ []=
749
+ x
750
+ 3
751
+ key
752
+ x
753
+ 6
754
+ amazon
755
+ s
756
+ 3
757
+ key
758
+ x
759
+ 2
760
+ []
761
+ x
762
+ 6
763
+ secret
764
+ s
765
+ 6
766
+ secret
767
+ x
768
+ 10
769
+ initialize
770
+ s
771
+ 9
772
+ Operation
773
+ s
774
+ 10
775
+ ItemLookup
776
+ s
777
+ 24
778
+ ItemLookup.Shared.IdType
779
+ s
780
+ 4
781
+ ASIN
782
+ s
783
+ 27
784
+ ItemLookup.Shared.Condition
785
+ s
786
+ 3
787
+ All
788
+ s
789
+ 28
790
+ ItemLookup.Shared.MerchantId
791
+ s
792
+ 31
793
+ ItemLookup.Shared.ResponseGroup
794
+ s
795
+ 9
796
+ OfferFull
797
+ x
798
+ 2
799
+ <<
800
+ s
801
+ 19
802
+ ItemLookup.1.ItemId
803
+ x
804
+ 5
805
+ asins
806
+ s
807
+ 19
808
+ ItemLookup.2.ItemId
809
+ x
810
+ 3
811
+ get
812
+ s
813
+ 4
814
+ Item
815
+ x
816
+ 4
817
+ find
818
+ p
819
+ 43
820
+ I
821
+ 0
822
+ I
823
+ 12
824
+ I
825
+ 0
826
+ I
827
+ 13
828
+ I
829
+ e
830
+ I
831
+ 16
832
+ I
833
+ 17
834
+ I
835
+ 14
836
+ I
837
+ 21
838
+ I
839
+ 15
840
+ I
841
+ 31
842
+ I
843
+ 16
844
+ I
845
+ 50
846
+ I
847
+ 14
848
+ I
849
+ 5a
850
+ I
851
+ 15
852
+ I
853
+ 6a
854
+ I
855
+ 16
856
+ I
857
+ 7f
858
+ I
859
+ 19
860
+ I
861
+ 81
862
+ I
863
+ 1e
864
+ I
865
+ 8a
866
+ I
867
+ 1a
868
+ I
869
+ 95
870
+ I
871
+ 1b
872
+ I
873
+ a0
874
+ I
875
+ 1c
876
+ I
877
+ ab
878
+ I
879
+ 1d
880
+ I
881
+ b6
882
+ I
883
+ 1e
884
+ I
885
+ c4
886
+ I
887
+ 21
888
+ I
889
+ c6
890
+ I
891
+ 23
892
+ I
893
+ ce
894
+ I
895
+ 22
896
+ I
897
+ df
898
+ I
899
+ 23
900
+ I
901
+ f4
902
+ I
903
+ 25
904
+ I
905
+ 100
906
+ x
907
+ 60
908
+ /Users/snl/code/sucker/spec/integration/twenty_items_spec.rb
909
+ p
910
+ 1
911
+ x
912
+ 6
913
+ worker
914
+ s
915
+ 17
916
+ returns all items
917
+ M
918
+ 1
919
+ p
920
+ 2
921
+ x
922
+ 9
923
+ for_block
924
+ t
925
+ n
926
+ x
927
+ 6
928
+ Sucker
929
+ i
930
+ 37
931
+ 5
932
+ 48
933
+ 0
934
+ 49
935
+ 1
936
+ 0
937
+ 5
938
+ 4
939
+ 20
940
+ 47
941
+ 49
942
+ 2
943
+ 1
944
+ 49
945
+ 3
946
+ 1
947
+ 15
948
+ 5
949
+ 48
950
+ 0
951
+ 56
952
+ 4
953
+ 50
954
+ 5
955
+ 0
956
+ 5
957
+ 5
958
+ 48
959
+ 6
960
+ 47
961
+ 49
962
+ 2
963
+ 1
964
+ 49
965
+ 3
966
+ 1
967
+ 11
968
+ I
969
+ 4
970
+ I
971
+ 0
972
+ I
973
+ 0
974
+ I
975
+ 0
976
+ I
977
+ -2
978
+ p
979
+ 7
980
+ x
981
+ 5
982
+ items
983
+ x
984
+ 5
985
+ count
986
+ x
987
+ 3
988
+ eql
989
+ x
990
+ 6
991
+ should
992
+ M
993
+ 1
994
+ p
995
+ 2
996
+ x
997
+ 9
998
+ for_block
999
+ t
1000
+ n
1001
+ x
1002
+ 6
1003
+ Sucker
1004
+ i
1005
+ 13
1006
+ 57
1007
+ 19
1008
+ 0
1009
+ 15
1010
+ 20
1011
+ 0
1012
+ 7
1013
+ 0
1014
+ 64
1015
+ 49
1016
+ 1
1017
+ 1
1018
+ 11
1019
+ I
1020
+ 4
1021
+ I
1022
+ 1
1023
+ I
1024
+ 1
1025
+ I
1026
+ 1
1027
+ n
1028
+ p
1029
+ 2
1030
+ s
1031
+ 4
1032
+ ASIN
1033
+ x
1034
+ 2
1035
+ []
1036
+ p
1037
+ 3
1038
+ I
1039
+ 0
1040
+ I
1041
+ 2a
1042
+ I
1043
+ d
1044
+ x
1045
+ 60
1046
+ /Users/snl/code/sucker/spec/integration/twenty_items_spec.rb
1047
+ p
1048
+ 1
1049
+ x
1050
+ 4
1051
+ item
1052
+ x
1053
+ 3
1054
+ map
1055
+ x
1056
+ 5
1057
+ asins
1058
+ p
1059
+ 7
1060
+ I
1061
+ 0
1062
+ I
1063
+ 28
1064
+ I
1065
+ 0
1066
+ I
1067
+ 29
1068
+ I
1069
+ 11
1070
+ I
1071
+ 2a
1072
+ I
1073
+ 25
1074
+ x
1075
+ 60
1076
+ /Users/snl/code/sucker/spec/integration/twenty_items_spec.rb
1077
+ p
1078
+ 0
1079
+ x
1080
+ 2
1081
+ it
1082
+ p
1083
+ 11
1084
+ I
1085
+ 0
1086
+ I
1087
+ 6
1088
+ I
1089
+ 0
1090
+ I
1091
+ 8
1092
+ I
1093
+ 19
1094
+ I
1095
+ a
1096
+ I
1097
+ 23
1098
+ I
1099
+ 12
1100
+ I
1101
+ 2d
1102
+ I
1103
+ 28
1104
+ I
1105
+ 38
1106
+ x
1107
+ 60
1108
+ /Users/snl/code/sucker/spec/integration/twenty_items_spec.rb
1109
+ p
1110
+ 0
1111
+ x
1112
+ 7
1113
+ context
1114
+ p
1115
+ 5
1116
+ I
1117
+ 0
1118
+ I
1119
+ 4
1120
+ I
1121
+ 0
1122
+ I
1123
+ 6
1124
+ I
1125
+ b
1126
+ x
1127
+ 60
1128
+ /Users/snl/code/sucker/spec/integration/twenty_items_spec.rb
1129
+ p
1130
+ 0
1131
+ x
1132
+ 8
1133
+ describe
1134
+ p
1135
+ 3
1136
+ I
1137
+ 2
1138
+ I
1139
+ 4
1140
+ I
1141
+ d
1142
+ x
1143
+ 60
1144
+ /Users/snl/code/sucker/spec/integration/twenty_items_spec.rb
1145
+ p
1146
+ 0
1147
+ x
1148
+ 13
1149
+ attach_method
1150
+ p
1151
+ 5
1152
+ I
1153
+ 0
1154
+ I
1155
+ 1
1156
+ I
1157
+ 9
1158
+ I
1159
+ 3
1160
+ I
1161
+ 25
1162
+ x
1163
+ 60
1164
+ /Users/snl/code/sucker/spec/integration/twenty_items_spec.rb
1165
+ p
1166
+ 0