sucker 1.0.0.beta.4 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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,41 +1,53 @@
1
1
  require "spec_helper"
2
2
 
3
3
  module Sucker
4
- describe "Related items" do
5
- let(:worker) do
6
- worker = Sucker.new(
7
- :locale => "us",
8
- :key => amazon["key"],
9
- :secret => amazon["secret"])
10
-
11
- worker << {
12
- "Operation" => "ItemLookup",
13
- "IdType" => "ASIN",
14
- "ResponseGroup" => ["RelatedItems"],
15
- "RelationshipType" => "AuthorityTitle" }
16
-
17
- worker
18
- end
19
4
 
20
- context "Child" do
21
- use_vcr_cassette "integration/related_items/child", :record => :new_episodes
5
+ describe "Item lookup" do
6
+
7
+ context "when response group includes related items" do
8
+
9
+ let(:worker) do
10
+ worker = Sucker.new(
11
+ :locale => "us",
12
+ :key => amazon["key"],
13
+ :secret => amazon["secret"])
14
+
15
+ worker << {
16
+ "Operation" => "ItemLookup",
17
+ "IdType" => "ASIN",
18
+ "ResponseGroup" => ["RelatedItems"],
19
+ "RelationshipType" => "AuthorityTitle" }
22
20
 
23
- it "finds parent and related items" do
24
- worker << { "ItemId" => "0415246334" }
25
- response = worker.get
26
- response.find("RelatedItem").size.should eql 1
27
- parent_asin = response.find("RelatedItem").first["Item"]["ASIN"]
21
+ worker
28
22
  end
29
- end
30
23
 
31
- context "Parent" do
32
- use_vcr_cassette "integration/related_items/parent", :record => :new_episodes
24
+ context "when item is a child" do
25
+
26
+ use_vcr_cassette "integration/related_items/child", :record => :new_episodes
27
+
28
+ it "finds parent and related items" do
29
+ worker << { "ItemId" => "0415246334" }
30
+ response = worker.get
31
+ response.find("RelatedItem").size.should eql 1
32
+ parent_asin = response.find("RelatedItem").first["Item"]["ASIN"]
33
+ end
33
34
 
34
- it "finds related items" do
35
- worker << { "ItemId" => "B000ASPUES" }
36
- response = worker.get
37
- response.find("RelatedItem").size.should > 1
38
35
  end
36
+
37
+ context "when item is a parent" do
38
+
39
+ use_vcr_cassette "integration/related_items/parent", :record => :new_episodes
40
+
41
+ it "finds related items" do
42
+ worker << { "ItemId" => "B000ASPUES" }
43
+ response = worker.get
44
+ response.find("RelatedItem").size.should > 1
45
+ end
46
+
47
+ end
48
+
39
49
  end
50
+
40
51
  end
52
+
41
53
  end
@@ -0,0 +1,1228 @@
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
+ 42
151
+ when response group includes related 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
+ 32
166
+ 5
167
+ 7
168
+ 0
169
+ 56
170
+ 1
171
+ 47
172
+ 50
173
+ 2
174
+ 1
175
+ 15
176
+ 5
177
+ 7
178
+ 3
179
+ 64
180
+ 56
181
+ 4
182
+ 47
183
+ 50
184
+ 5
185
+ 1
186
+ 15
187
+ 5
188
+ 7
189
+ 6
190
+ 64
191
+ 56
192
+ 7
193
+ 47
194
+ 50
195
+ 5
196
+ 1
197
+ 11
198
+ I
199
+ 4
200
+ I
201
+ 0
202
+ I
203
+ 0
204
+ I
205
+ 0
206
+ I
207
+ -2
208
+ p
209
+ 8
210
+ x
211
+ 6
212
+ worker
213
+ M
214
+ 1
215
+ p
216
+ 2
217
+ x
218
+ 9
219
+ for_block
220
+ t
221
+ n
222
+ x
223
+ 6
224
+ Sucker
225
+ i
226
+ 190
227
+ 45
228
+ 0
229
+ 1
230
+ 13
231
+ 71
232
+ 2
233
+ 47
234
+ 9
235
+ 71
236
+ 47
237
+ 49
238
+ 3
239
+ 0
240
+ 13
241
+ 44
242
+ 43
243
+ 4
244
+ 4
245
+ 3
246
+ 49
247
+ 5
248
+ 1
249
+ 13
250
+ 7
251
+ 6
252
+ 7
253
+ 7
254
+ 64
255
+ 49
256
+ 8
257
+ 2
258
+ 15
259
+ 13
260
+ 7
261
+ 9
262
+ 5
263
+ 48
264
+ 10
265
+ 7
266
+ 11
267
+ 64
268
+ 49
269
+ 12
270
+ 1
271
+ 49
272
+ 8
273
+ 2
274
+ 15
275
+ 13
276
+ 7
277
+ 13
278
+ 5
279
+ 48
280
+ 10
281
+ 7
282
+ 14
283
+ 64
284
+ 49
285
+ 12
286
+ 1
287
+ 49
288
+ 8
289
+ 2
290
+ 15
291
+ 47
292
+ 49
293
+ 15
294
+ 1
295
+ 15
296
+ 8
297
+ 124
298
+ 44
299
+ 43
300
+ 4
301
+ 4
302
+ 3
303
+ 49
304
+ 5
305
+ 1
306
+ 13
307
+ 7
308
+ 6
309
+ 7
310
+ 7
311
+ 64
312
+ 49
313
+ 8
314
+ 2
315
+ 15
316
+ 13
317
+ 7
318
+ 9
319
+ 5
320
+ 48
321
+ 10
322
+ 7
323
+ 11
324
+ 64
325
+ 49
326
+ 12
327
+ 1
328
+ 49
329
+ 8
330
+ 2
331
+ 15
332
+ 13
333
+ 7
334
+ 13
335
+ 5
336
+ 48
337
+ 10
338
+ 7
339
+ 14
340
+ 64
341
+ 49
342
+ 12
343
+ 1
344
+ 49
345
+ 8
346
+ 2
347
+ 15
348
+ 49
349
+ 2
350
+ 1
351
+ 19
352
+ 0
353
+ 15
354
+ 20
355
+ 0
356
+ 44
357
+ 43
358
+ 4
359
+ 4
360
+ 4
361
+ 49
362
+ 5
363
+ 1
364
+ 13
365
+ 7
366
+ 16
367
+ 64
368
+ 7
369
+ 17
370
+ 64
371
+ 49
372
+ 8
373
+ 2
374
+ 15
375
+ 13
376
+ 7
377
+ 18
378
+ 64
379
+ 7
380
+ 19
381
+ 64
382
+ 49
383
+ 8
384
+ 2
385
+ 15
386
+ 13
387
+ 7
388
+ 20
389
+ 64
390
+ 7
391
+ 21
392
+ 64
393
+ 35
394
+ 1
395
+ 49
396
+ 8
397
+ 2
398
+ 15
399
+ 13
400
+ 7
401
+ 22
402
+ 64
403
+ 7
404
+ 23
405
+ 64
406
+ 49
407
+ 8
408
+ 2
409
+ 15
410
+ 49
411
+ 24
412
+ 1
413
+ 15
414
+ 20
415
+ 0
416
+ 11
417
+ I
418
+ 9
419
+ I
420
+ 1
421
+ I
422
+ 0
423
+ I
424
+ 0
425
+ I
426
+ -2
427
+ p
428
+ 25
429
+ x
430
+ 6
431
+ Sucker
432
+ n
433
+ x
434
+ 3
435
+ new
436
+ x
437
+ 8
438
+ allocate
439
+ x
440
+ 4
441
+ Hash
442
+ x
443
+ 16
444
+ new_from_literal
445
+ x
446
+ 6
447
+ locale
448
+ s
449
+ 2
450
+ us
451
+ x
452
+ 3
453
+ []=
454
+ x
455
+ 3
456
+ key
457
+ x
458
+ 6
459
+ amazon
460
+ s
461
+ 3
462
+ key
463
+ x
464
+ 2
465
+ []
466
+ x
467
+ 6
468
+ secret
469
+ s
470
+ 6
471
+ secret
472
+ x
473
+ 10
474
+ initialize
475
+ s
476
+ 9
477
+ Operation
478
+ s
479
+ 10
480
+ ItemLookup
481
+ s
482
+ 6
483
+ IdType
484
+ s
485
+ 4
486
+ ASIN
487
+ s
488
+ 13
489
+ ResponseGroup
490
+ s
491
+ 12
492
+ RelatedItems
493
+ s
494
+ 16
495
+ RelationshipType
496
+ s
497
+ 14
498
+ AuthorityTitle
499
+ x
500
+ 2
501
+ <<
502
+ p
503
+ 33
504
+ I
505
+ 0
506
+ I
507
+ 9
508
+ I
509
+ 0
510
+ I
511
+ a
512
+ I
513
+ e
514
+ I
515
+ d
516
+ I
517
+ 17
518
+ I
519
+ b
520
+ I
521
+ 21
522
+ I
523
+ c
524
+ I
525
+ 31
526
+ I
527
+ d
528
+ I
529
+ 50
530
+ I
531
+ b
532
+ I
533
+ 5a
534
+ I
535
+ c
536
+ I
537
+ 6a
538
+ I
539
+ d
540
+ I
541
+ 7f
542
+ I
543
+ f
544
+ I
545
+ 81
546
+ I
547
+ 13
548
+ I
549
+ 8a
550
+ I
551
+ 10
552
+ I
553
+ 95
554
+ I
555
+ 11
556
+ I
557
+ a0
558
+ I
559
+ 12
560
+ I
561
+ ad
562
+ I
563
+ 13
564
+ I
565
+ bb
566
+ I
567
+ 15
568
+ I
569
+ be
570
+ x
571
+ 61
572
+ /Users/snl/code/sucker/spec/integration/related_items_spec.rb
573
+ p
574
+ 1
575
+ x
576
+ 6
577
+ worker
578
+ x
579
+ 3
580
+ let
581
+ s
582
+ 20
583
+ when item is a child
584
+ M
585
+ 1
586
+ p
587
+ 2
588
+ x
589
+ 9
590
+ for_block
591
+ t
592
+ n
593
+ x
594
+ 6
595
+ Sucker
596
+ i
597
+ 36
598
+ 5
599
+ 7
600
+ 0
601
+ 64
602
+ 44
603
+ 43
604
+ 1
605
+ 79
606
+ 49
607
+ 2
608
+ 1
609
+ 13
610
+ 7
611
+ 3
612
+ 7
613
+ 4
614
+ 49
615
+ 5
616
+ 2
617
+ 15
618
+ 47
619
+ 49
620
+ 6
621
+ 2
622
+ 15
623
+ 5
624
+ 7
625
+ 7
626
+ 64
627
+ 56
628
+ 8
629
+ 47
630
+ 50
631
+ 9
632
+ 1
633
+ 11
634
+ I
635
+ 7
636
+ I
637
+ 0
638
+ I
639
+ 0
640
+ I
641
+ 0
642
+ I
643
+ -2
644
+ p
645
+ 10
646
+ s
647
+ 31
648
+ integration/related_items/child
649
+ x
650
+ 4
651
+ Hash
652
+ x
653
+ 16
654
+ new_from_literal
655
+ x
656
+ 6
657
+ record
658
+ x
659
+ 12
660
+ new_episodes
661
+ x
662
+ 3
663
+ []=
664
+ x
665
+ 16
666
+ use_vcr_cassette
667
+ s
668
+ 30
669
+ finds parent and related items
670
+ M
671
+ 1
672
+ p
673
+ 2
674
+ x
675
+ 9
676
+ for_block
677
+ t
678
+ n
679
+ x
680
+ 6
681
+ Sucker
682
+ i
683
+ 81
684
+ 5
685
+ 48
686
+ 0
687
+ 44
688
+ 43
689
+ 1
690
+ 79
691
+ 49
692
+ 2
693
+ 1
694
+ 13
695
+ 7
696
+ 3
697
+ 64
698
+ 7
699
+ 4
700
+ 64
701
+ 49
702
+ 5
703
+ 2
704
+ 15
705
+ 49
706
+ 6
707
+ 1
708
+ 15
709
+ 5
710
+ 48
711
+ 0
712
+ 49
713
+ 7
714
+ 0
715
+ 19
716
+ 0
717
+ 15
718
+ 20
719
+ 0
720
+ 7
721
+ 8
722
+ 64
723
+ 49
724
+ 9
725
+ 1
726
+ 49
727
+ 10
728
+ 0
729
+ 5
730
+ 79
731
+ 47
732
+ 49
733
+ 11
734
+ 1
735
+ 49
736
+ 12
737
+ 1
738
+ 15
739
+ 20
740
+ 0
741
+ 7
742
+ 8
743
+ 64
744
+ 49
745
+ 9
746
+ 1
747
+ 49
748
+ 13
749
+ 0
750
+ 7
751
+ 14
752
+ 64
753
+ 49
754
+ 15
755
+ 1
756
+ 7
757
+ 16
758
+ 64
759
+ 49
760
+ 15
761
+ 1
762
+ 19
763
+ 1
764
+ 11
765
+ I
766
+ 8
767
+ I
768
+ 2
769
+ I
770
+ 0
771
+ I
772
+ 0
773
+ I
774
+ -2
775
+ p
776
+ 17
777
+ x
778
+ 6
779
+ worker
780
+ x
781
+ 4
782
+ Hash
783
+ x
784
+ 16
785
+ new_from_literal
786
+ s
787
+ 6
788
+ ItemId
789
+ s
790
+ 10
791
+ 0415246334
792
+ x
793
+ 3
794
+ []=
795
+ x
796
+ 2
797
+ <<
798
+ x
799
+ 3
800
+ get
801
+ s
802
+ 11
803
+ RelatedItem
804
+ x
805
+ 4
806
+ find
807
+ x
808
+ 4
809
+ size
810
+ x
811
+ 3
812
+ eql
813
+ x
814
+ 6
815
+ should
816
+ x
817
+ 5
818
+ first
819
+ s
820
+ 4
821
+ Item
822
+ x
823
+ 2
824
+ []
825
+ s
826
+ 4
827
+ ASIN
828
+ p
829
+ 11
830
+ I
831
+ 0
832
+ I
833
+ 1c
834
+ I
835
+ 0
836
+ I
837
+ 1d
838
+ I
839
+ 19
840
+ I
841
+ 1e
842
+ I
843
+ 22
844
+ I
845
+ 1f
846
+ I
847
+ 37
848
+ I
849
+ 20
850
+ I
851
+ 51
852
+ x
853
+ 61
854
+ /Users/snl/code/sucker/spec/integration/related_items_spec.rb
855
+ p
856
+ 2
857
+ x
858
+ 8
859
+ response
860
+ x
861
+ 11
862
+ parent_asin
863
+ x
864
+ 2
865
+ it
866
+ p
867
+ 7
868
+ I
869
+ 0
870
+ I
871
+ 18
872
+ I
873
+ 0
874
+ I
875
+ 1a
876
+ I
877
+ 19
878
+ I
879
+ 1c
880
+ I
881
+ 24
882
+ x
883
+ 61
884
+ /Users/snl/code/sucker/spec/integration/related_items_spec.rb
885
+ p
886
+ 0
887
+ x
888
+ 7
889
+ context
890
+ s
891
+ 21
892
+ when item is a parent
893
+ M
894
+ 1
895
+ p
896
+ 2
897
+ x
898
+ 9
899
+ for_block
900
+ t
901
+ n
902
+ x
903
+ 6
904
+ Sucker
905
+ i
906
+ 36
907
+ 5
908
+ 7
909
+ 0
910
+ 64
911
+ 44
912
+ 43
913
+ 1
914
+ 79
915
+ 49
916
+ 2
917
+ 1
918
+ 13
919
+ 7
920
+ 3
921
+ 7
922
+ 4
923
+ 49
924
+ 5
925
+ 2
926
+ 15
927
+ 47
928
+ 49
929
+ 6
930
+ 2
931
+ 15
932
+ 5
933
+ 7
934
+ 7
935
+ 64
936
+ 56
937
+ 8
938
+ 47
939
+ 50
940
+ 9
941
+ 1
942
+ 11
943
+ I
944
+ 7
945
+ I
946
+ 0
947
+ I
948
+ 0
949
+ I
950
+ 0
951
+ I
952
+ -2
953
+ p
954
+ 10
955
+ s
956
+ 32
957
+ integration/related_items/parent
958
+ x
959
+ 4
960
+ Hash
961
+ x
962
+ 16
963
+ new_from_literal
964
+ x
965
+ 6
966
+ record
967
+ x
968
+ 12
969
+ new_episodes
970
+ x
971
+ 3
972
+ []=
973
+ x
974
+ 16
975
+ use_vcr_cassette
976
+ s
977
+ 19
978
+ finds related items
979
+ M
980
+ 1
981
+ p
982
+ 2
983
+ x
984
+ 9
985
+ for_block
986
+ t
987
+ n
988
+ x
989
+ 6
990
+ Sucker
991
+ i
992
+ 52
993
+ 5
994
+ 48
995
+ 0
996
+ 44
997
+ 43
998
+ 1
999
+ 79
1000
+ 49
1001
+ 2
1002
+ 1
1003
+ 13
1004
+ 7
1005
+ 3
1006
+ 64
1007
+ 7
1008
+ 4
1009
+ 64
1010
+ 49
1011
+ 5
1012
+ 2
1013
+ 15
1014
+ 49
1015
+ 6
1016
+ 1
1017
+ 15
1018
+ 5
1019
+ 48
1020
+ 0
1021
+ 49
1022
+ 7
1023
+ 0
1024
+ 19
1025
+ 0
1026
+ 15
1027
+ 20
1028
+ 0
1029
+ 7
1030
+ 8
1031
+ 64
1032
+ 49
1033
+ 9
1034
+ 1
1035
+ 49
1036
+ 10
1037
+ 0
1038
+ 49
1039
+ 11
1040
+ 0
1041
+ 79
1042
+ 85
1043
+ 12
1044
+ 11
1045
+ I
1046
+ 7
1047
+ I
1048
+ 1
1049
+ I
1050
+ 0
1051
+ I
1052
+ 0
1053
+ I
1054
+ -2
1055
+ p
1056
+ 13
1057
+ x
1058
+ 6
1059
+ worker
1060
+ x
1061
+ 4
1062
+ Hash
1063
+ x
1064
+ 16
1065
+ new_from_literal
1066
+ s
1067
+ 6
1068
+ ItemId
1069
+ s
1070
+ 10
1071
+ B000ASPUES
1072
+ x
1073
+ 3
1074
+ []=
1075
+ x
1076
+ 2
1077
+ <<
1078
+ x
1079
+ 3
1080
+ get
1081
+ s
1082
+ 11
1083
+ RelatedItem
1084
+ x
1085
+ 4
1086
+ find
1087
+ x
1088
+ 4
1089
+ size
1090
+ x
1091
+ 6
1092
+ should
1093
+ x
1094
+ 1
1095
+ >
1096
+ p
1097
+ 9
1098
+ I
1099
+ 0
1100
+ I
1101
+ 29
1102
+ I
1103
+ 0
1104
+ I
1105
+ 2a
1106
+ I
1107
+ 19
1108
+ I
1109
+ 2b
1110
+ I
1111
+ 22
1112
+ I
1113
+ 2c
1114
+ I
1115
+ 34
1116
+ x
1117
+ 61
1118
+ /Users/snl/code/sucker/spec/integration/related_items_spec.rb
1119
+ p
1120
+ 1
1121
+ x
1122
+ 8
1123
+ response
1124
+ x
1125
+ 2
1126
+ it
1127
+ p
1128
+ 7
1129
+ I
1130
+ 0
1131
+ I
1132
+ 25
1133
+ I
1134
+ 0
1135
+ I
1136
+ 27
1137
+ I
1138
+ 19
1139
+ I
1140
+ 29
1141
+ I
1142
+ 24
1143
+ x
1144
+ 61
1145
+ /Users/snl/code/sucker/spec/integration/related_items_spec.rb
1146
+ p
1147
+ 0
1148
+ p
1149
+ 9
1150
+ I
1151
+ 0
1152
+ I
1153
+ 7
1154
+ I
1155
+ 0
1156
+ I
1157
+ 9
1158
+ I
1159
+ a
1160
+ I
1161
+ 18
1162
+ I
1163
+ 15
1164
+ I
1165
+ 25
1166
+ I
1167
+ 20
1168
+ x
1169
+ 61
1170
+ /Users/snl/code/sucker/spec/integration/related_items_spec.rb
1171
+ p
1172
+ 0
1173
+ x
1174
+ 7
1175
+ context
1176
+ p
1177
+ 5
1178
+ I
1179
+ 0
1180
+ I
1181
+ 5
1182
+ I
1183
+ 0
1184
+ I
1185
+ 7
1186
+ I
1187
+ b
1188
+ x
1189
+ 61
1190
+ /Users/snl/code/sucker/spec/integration/related_items_spec.rb
1191
+ p
1192
+ 0
1193
+ x
1194
+ 8
1195
+ describe
1196
+ p
1197
+ 3
1198
+ I
1199
+ 2
1200
+ I
1201
+ 5
1202
+ I
1203
+ d
1204
+ x
1205
+ 61
1206
+ /Users/snl/code/sucker/spec/integration/related_items_spec.rb
1207
+ p
1208
+ 0
1209
+ x
1210
+ 13
1211
+ attach_method
1212
+ p
1213
+ 5
1214
+ I
1215
+ 0
1216
+ I
1217
+ 1
1218
+ I
1219
+ 9
1220
+ I
1221
+ 3
1222
+ I
1223
+ 25
1224
+ x
1225
+ 61
1226
+ /Users/snl/code/sucker/spec/integration/related_items_spec.rb
1227
+ p
1228
+ 0