venice 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +13 -13
- data/coverage/index.html +385 -403
- data/lib/venice/client.rb +8 -7
- data/lib/venice/in_app_receipt.rb +11 -14
- data/lib/venice/pending_renewal_info.rb +3 -5
- data/lib/venice/receipt.rb +35 -34
- data/lib/venice/version.rb +1 -1
- data/spec/client_spec.rb +53 -37
- data/spec/in_app_receipt_spec.rb +26 -32
- data/spec/pending_renewal_info_spec.rb +21 -24
- data/spec/receipt_spec.rb +53 -56
- data/spec/spec_helper.rb +0 -2
- data/venice.gemspec +17 -17
- metadata +26 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d6d310e673f3323b48b9f7e0e3ed3e2f06d612f7
|
4
|
+
data.tar.gz: c59a22230d0d7608c20397f32ec3c48de3490f76
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e34fb948c42df497b17d2dd37bd0be3f252643075f1c62fa11f52ef07d66c33e3c1a142be224b492366d4e5ac70d195a93206c6be5cca5adada54a81d439575e
|
7
|
+
data.tar.gz: 5d4e4898dca5eb9b40eb7c58fce72e6ec140f24efa3e2e94f93559f954a3345df406392edd7e5fd69ded8249f46e69fc609eeab0da9f9e7cbcf64780788f2fb3
|
data/Gemfile.lock
CHANGED
@@ -15,23 +15,23 @@ GEM
|
|
15
15
|
docile (1.1.5)
|
16
16
|
highline (1.7.8)
|
17
17
|
json (2.1.0)
|
18
|
-
rake (12.
|
19
|
-
rspec (3.
|
20
|
-
rspec-core (~> 3.
|
21
|
-
rspec-expectations (~> 3.
|
22
|
-
rspec-mocks (~> 3.
|
23
|
-
rspec-core (3.
|
24
|
-
rspec-support (~> 3.
|
25
|
-
rspec-expectations (3.
|
18
|
+
rake (12.3.0)
|
19
|
+
rspec (3.7.0)
|
20
|
+
rspec-core (~> 3.7.0)
|
21
|
+
rspec-expectations (~> 3.7.0)
|
22
|
+
rspec-mocks (~> 3.7.0)
|
23
|
+
rspec-core (3.7.0)
|
24
|
+
rspec-support (~> 3.7.0)
|
25
|
+
rspec-expectations (3.7.0)
|
26
26
|
diff-lcs (>= 1.2.0, < 2.0)
|
27
|
-
rspec-support (~> 3.
|
27
|
+
rspec-support (~> 3.7.0)
|
28
28
|
rspec-its (1.2.0)
|
29
29
|
rspec-core (>= 3.0.0)
|
30
30
|
rspec-expectations (>= 3.0.0)
|
31
|
-
rspec-mocks (3.
|
31
|
+
rspec-mocks (3.7.0)
|
32
32
|
diff-lcs (>= 1.2.0, < 2.0)
|
33
|
-
rspec-support (~> 3.
|
34
|
-
rspec-support (3.
|
33
|
+
rspec-support (~> 3.7.0)
|
34
|
+
rspec-support (3.7.0)
|
35
35
|
simplecov (0.15.1)
|
36
36
|
docile (~> 1.1.0)
|
37
37
|
json (>= 1.8, < 3)
|
@@ -52,4 +52,4 @@ DEPENDENCIES
|
|
52
52
|
venice!
|
53
53
|
|
54
54
|
BUNDLED WITH
|
55
|
-
1.
|
55
|
+
1.16.0
|
data/coverage/index.html
CHANGED
@@ -14,18 +14,18 @@
|
|
14
14
|
<img src="./assets/0.10.2/loading.gif" alt="loading"/>
|
15
15
|
</div>
|
16
16
|
<div id="wrapper" style="display:none;">
|
17
|
-
<div class="timestamp">Generated <abbr class="timeago" title="2017-
|
17
|
+
<div class="timestamp">Generated <abbr class="timeago" title="2017-11-17T22:34:12+01:00">2017-11-17T22:34:12+01:00</abbr></div>
|
18
18
|
<ul class="group_tabs"></ul>
|
19
19
|
|
20
20
|
<div id="content">
|
21
21
|
<div class="file_list_container" id="AllFiles">
|
22
22
|
<h2>
|
23
23
|
<span class="group_name">All Files</span>
|
24
|
-
(<span class="covered_percent"><span class="yellow">
|
24
|
+
(<span class="covered_percent"><span class="yellow">85.49%</span></span>
|
25
25
|
covered at
|
26
26
|
<span class="covered_strength">
|
27
27
|
<span class="green">
|
28
|
-
3.
|
28
|
+
3.39
|
29
29
|
</span>
|
30
30
|
</span> hits/line)
|
31
31
|
</h2>
|
@@ -33,8 +33,8 @@
|
|
33
33
|
<div>
|
34
34
|
<b>6</b> files in total.
|
35
35
|
<b>193</b> relevant lines.
|
36
|
-
<span class="green"><b>
|
37
|
-
<span class="red"><b>
|
36
|
+
<span class="green"><b>165</b> lines covered</span> and
|
37
|
+
<span class="red"><b>28</b> lines missed </span>
|
38
38
|
</div>
|
39
39
|
<table class="file_list">
|
40
40
|
<thead>
|
@@ -62,18 +62,18 @@
|
|
62
62
|
|
63
63
|
<tr>
|
64
64
|
<td class="strong"><a href="#d79fadfe1306623a10822709e775b8c021f4fc4e" class="src_link" title="lib/venice/client.rb">lib/venice/client.rb</a></td>
|
65
|
-
<td class="green strong">91.
|
66
|
-
<td>
|
67
|
-
<td>
|
68
|
-
<td>
|
65
|
+
<td class="green strong">91.84 %</td>
|
66
|
+
<td>86</td>
|
67
|
+
<td>49</td>
|
68
|
+
<td>45</td>
|
69
69
|
<td>4</td>
|
70
|
-
<td>2.
|
70
|
+
<td>2.5</td>
|
71
71
|
</tr>
|
72
72
|
|
73
73
|
<tr>
|
74
74
|
<td class="strong"><a href="#080477ce0f6d0348fc87b2c6eb5ce94e3b5da4cd" class="src_link" title="lib/venice/in_app_receipt.rb">lib/venice/in_app_receipt.rb</a></td>
|
75
75
|
<td class="green strong">97.06 %</td>
|
76
|
-
<td>
|
76
|
+
<td>89</td>
|
77
77
|
<td>34</td>
|
78
78
|
<td>33</td>
|
79
79
|
<td>1</td>
|
@@ -83,7 +83,7 @@
|
|
83
83
|
<tr>
|
84
84
|
<td class="strong"><a href="#17a12c36d26ef47e82b8c4a1684d8e945c9a9e89" class="src_link" title="lib/venice/pending_renewal_info.rb">lib/venice/pending_renewal_info.rb</a></td>
|
85
85
|
<td class="green strong">95.65 %</td>
|
86
|
-
<td>
|
86
|
+
<td>64</td>
|
87
87
|
<td>23</td>
|
88
88
|
<td>22</td>
|
89
89
|
<td>1</td>
|
@@ -92,12 +92,12 @@
|
|
92
92
|
|
93
93
|
<tr>
|
94
94
|
<td class="strong"><a href="#10dfdb14e321a7bb364075307e5a80a2a62317af" class="src_link" title="lib/venice/receipt.rb">lib/venice/receipt.rb</a></td>
|
95
|
-
<td class="red strong">
|
96
|
-
<td>
|
97
|
-
<td>
|
98
|
-
<td>
|
99
|
-
<td>
|
100
|
-
<td>2.
|
95
|
+
<td class="red strong">72.5 %</td>
|
96
|
+
<td>160</td>
|
97
|
+
<td>80</td>
|
98
|
+
<td>58</td>
|
99
|
+
<td>22</td>
|
100
|
+
<td>2.3</td>
|
101
101
|
</tr>
|
102
102
|
|
103
103
|
<tr>
|
@@ -178,10 +178,10 @@
|
|
178
178
|
<div class="source_table" id="d79fadfe1306623a10822709e775b8c021f4fc4e">
|
179
179
|
<div class="header">
|
180
180
|
<h3>lib/venice/client.rb</h3>
|
181
|
-
<h4><span class="green">91.
|
181
|
+
<h4><span class="green">91.84 %</span> covered</h4>
|
182
182
|
<div>
|
183
|
-
<b>
|
184
|
-
<span class="green"><b>
|
183
|
+
<b>49</b> relevant lines.
|
184
|
+
<span class="green"><b>45</b> lines covered</span> and
|
185
185
|
<span class="red"><b>4</b> lines missed.</span>
|
186
186
|
</div>
|
187
187
|
</div>
|
@@ -222,13 +222,13 @@
|
|
222
222
|
<li class="covered" data-hits="1" data-linenumber="6">
|
223
223
|
<span class="hits">1</span>
|
224
224
|
|
225
|
-
<code class="ruby"> ITUNES_PRODUCTION_RECEIPT_VERIFICATION_ENDPOINT =
|
225
|
+
<code class="ruby"> ITUNES_PRODUCTION_RECEIPT_VERIFICATION_ENDPOINT = 'https://buy.itunes.apple.com/verifyReceipt'</code>
|
226
226
|
</li>
|
227
227
|
|
228
228
|
<li class="covered" data-hits="1" data-linenumber="7">
|
229
229
|
<span class="hits">1</span>
|
230
230
|
|
231
|
-
<code class="ruby"> ITUNES_DEVELOPMENT_RECEIPT_VERIFICATION_ENDPOINT =
|
231
|
+
<code class="ruby"> ITUNES_DEVELOPMENT_RECEIPT_VERIFICATION_ENDPOINT = 'https://sandbox.itunes.apple.com/verifyReceipt'</code>
|
232
232
|
</li>
|
233
233
|
|
234
234
|
<li class="never" data-hits="" data-linenumber="8">
|
@@ -276,7 +276,7 @@
|
|
276
276
|
<li class="missed" data-hits="0" data-linenumber="15">
|
277
277
|
|
278
278
|
|
279
|
-
<code class="ruby"> client =
|
279
|
+
<code class="ruby"> client = new</code>
|
280
280
|
</li>
|
281
281
|
|
282
282
|
<li class="missed" data-hits="0" data-linenumber="16">
|
@@ -312,7 +312,7 @@
|
|
312
312
|
<li class="covered" data-hits="1" data-linenumber="21">
|
313
313
|
<span class="hits">1</span>
|
314
314
|
|
315
|
-
<code class="ruby"> client =
|
315
|
+
<code class="ruby"> client = new</code>
|
316
316
|
</li>
|
317
317
|
|
318
318
|
<li class="covered" data-hits="1" data-linenumber="22">
|
@@ -351,8 +351,8 @@
|
|
351
351
|
<code class="ruby"> def initialize</code>
|
352
352
|
</li>
|
353
353
|
|
354
|
-
<li class="covered" data-hits="
|
355
|
-
<span class="hits">
|
354
|
+
<li class="covered" data-hits="6" data-linenumber="28">
|
355
|
+
<span class="hits">6</span>
|
356
356
|
|
357
357
|
<code class="ruby"> @verification_url = ENV['IAP_VERIFICATION_ENDPOINT']</code>
|
358
358
|
</li>
|
@@ -375,14 +375,14 @@
|
|
375
375
|
<code class="ruby"> def verify!(data, options = {})</code>
|
376
376
|
</li>
|
377
377
|
|
378
|
-
<li class="covered" data-hits="
|
379
|
-
<span class="hits">
|
378
|
+
<li class="covered" data-hits="6" data-linenumber="32">
|
379
|
+
<span class="hits">6</span>
|
380
380
|
|
381
381
|
<code class="ruby"> @verification_url ||= ITUNES_DEVELOPMENT_RECEIPT_VERIFICATION_ENDPOINT</code>
|
382
382
|
</li>
|
383
383
|
|
384
|
-
<li class="covered" data-hits="
|
385
|
-
<span class="hits">
|
384
|
+
<li class="covered" data-hits="6" data-linenumber="33">
|
385
|
+
<span class="hits">6</span>
|
386
386
|
|
387
387
|
<code class="ruby"> @shared_secret = options[:shared_secret] if options[:shared_secret]</code>
|
388
388
|
</li>
|
@@ -393,307 +393,313 @@
|
|
393
393
|
<code class="ruby"></code>
|
394
394
|
</li>
|
395
395
|
|
396
|
-
<li class="covered" data-hits="
|
397
|
-
<span class="hits">
|
396
|
+
<li class="covered" data-hits="6" data-linenumber="35">
|
397
|
+
<span class="hits">6</span>
|
398
398
|
|
399
399
|
<code class="ruby"> json = json_response_from_verifying_data(data)</code>
|
400
400
|
</li>
|
401
401
|
|
402
|
-
<li class="covered" data-hits="
|
403
|
-
<span class="hits">
|
402
|
+
<li class="covered" data-hits="6" data-linenumber="36">
|
403
|
+
<span class="hits">6</span>
|
404
404
|
|
405
|
-
<code class="ruby"> status
|
405
|
+
<code class="ruby"> status = json['status'].to_i</code>
|
406
406
|
</li>
|
407
407
|
|
408
|
-
<li class="covered" data-hits="
|
409
|
-
<span class="hits">
|
408
|
+
<li class="covered" data-hits="6" data-linenumber="37">
|
409
|
+
<span class="hits">6</span>
|
410
|
+
|
411
|
+
<code class="ruby"> receipt_attributes = json['receipt'].dup</code>
|
412
|
+
</li>
|
413
|
+
|
414
|
+
<li class="covered" data-hits="6" data-linenumber="38">
|
415
|
+
<span class="hits">6</span>
|
410
416
|
|
411
417
|
<code class="ruby"> receipt_attributes['original_json_response'] = json if receipt_attributes</code>
|
412
418
|
</li>
|
413
419
|
|
414
|
-
<li class="never" data-hits="" data-linenumber="
|
420
|
+
<li class="never" data-hits="" data-linenumber="39">
|
415
421
|
|
416
422
|
|
417
423
|
<code class="ruby"></code>
|
418
424
|
</li>
|
419
425
|
|
420
|
-
<li class="covered" data-hits="
|
421
|
-
<span class="hits">
|
426
|
+
<li class="covered" data-hits="6" data-linenumber="40">
|
427
|
+
<span class="hits">6</span>
|
422
428
|
|
423
429
|
<code class="ruby"> case status</code>
|
424
430
|
</li>
|
425
431
|
|
426
|
-
<li class="never" data-hits="" data-linenumber="
|
432
|
+
<li class="never" data-hits="" data-linenumber="41">
|
427
433
|
|
428
434
|
|
429
435
|
<code class="ruby"> when 0, 21006</code>
|
430
436
|
</li>
|
431
437
|
|
432
|
-
<li class="covered" data-hits="
|
433
|
-
<span class="hits">
|
438
|
+
<li class="covered" data-hits="6" data-linenumber="42">
|
439
|
+
<span class="hits">6</span>
|
434
440
|
|
435
441
|
<code class="ruby"> receipt = Receipt.new(receipt_attributes)</code>
|
436
442
|
</li>
|
437
443
|
|
438
|
-
<li class="never" data-hits="" data-linenumber="
|
444
|
+
<li class="never" data-hits="" data-linenumber="43">
|
439
445
|
|
440
446
|
|
441
447
|
<code class="ruby"></code>
|
442
448
|
</li>
|
443
449
|
|
444
|
-
<li class="never" data-hits="" data-linenumber="
|
450
|
+
<li class="never" data-hits="" data-linenumber="44">
|
445
451
|
|
446
452
|
|
447
453
|
<code class="ruby"> # From Apple docs:</code>
|
448
454
|
</li>
|
449
455
|
|
450
|
-
<li class="never" data-hits="" data-linenumber="
|
456
|
+
<li class="never" data-hits="" data-linenumber="45">
|
451
457
|
|
452
458
|
|
453
459
|
<code class="ruby"> # > Only returned for iOS 6 style transaction receipts for auto-renewable subscriptions.</code>
|
454
460
|
</li>
|
455
461
|
|
456
|
-
<li class="never" data-hits="" data-linenumber="
|
462
|
+
<li class="never" data-hits="" data-linenumber="46">
|
457
463
|
|
458
464
|
|
459
465
|
<code class="ruby"> # > The JSON representation of the receipt for the most recent renewal</code>
|
460
466
|
</li>
|
461
467
|
|
462
|
-
<li class="covered" data-hits="
|
463
|
-
<span class="hits">
|
468
|
+
<li class="covered" data-hits="6" data-linenumber="47">
|
469
|
+
<span class="hits">6</span>
|
464
470
|
|
465
471
|
<code class="ruby"> if latest_receipt_info_attributes = json['latest_receipt_info']</code>
|
466
472
|
</li>
|
467
473
|
|
468
|
-
<li class="never" data-hits="" data-linenumber="
|
474
|
+
<li class="never" data-hits="" data-linenumber="48">
|
469
475
|
|
470
476
|
|
471
477
|
<code class="ruby"> # AppStore returns 'latest_receipt_info' even if we use over iOS 6. Besides, its format is an Array.</code>
|
472
478
|
</li>
|
473
479
|
|
474
|
-
<li class="covered" data-hits="1" data-linenumber="
|
480
|
+
<li class="covered" data-hits="1" data-linenumber="49">
|
475
481
|
<span class="hits">1</span>
|
476
482
|
|
477
483
|
<code class="ruby"> receipt.latest_receipt_info = []</code>
|
478
484
|
</li>
|
479
485
|
|
480
|
-
<li class="covered" data-hits="1" data-linenumber="
|
486
|
+
<li class="covered" data-hits="1" data-linenumber="50">
|
481
487
|
<span class="hits">1</span>
|
482
488
|
|
483
489
|
<code class="ruby"> latest_receipt_info_attributes.each do |latest_receipt_info_attribute|</code>
|
484
490
|
</li>
|
485
491
|
|
486
|
-
<li class="never" data-hits="" data-linenumber="
|
492
|
+
<li class="never" data-hits="" data-linenumber="51">
|
487
493
|
|
488
494
|
|
489
495
|
<code class="ruby"> # latest_receipt_info format is identical with in_app</code>
|
490
496
|
</li>
|
491
497
|
|
492
|
-
<li class="covered" data-hits="1" data-linenumber="
|
498
|
+
<li class="covered" data-hits="1" data-linenumber="52">
|
493
499
|
<span class="hits">1</span>
|
494
500
|
|
495
501
|
<code class="ruby"> receipt.latest_receipt_info << InAppReceipt.new(latest_receipt_info_attribute)</code>
|
496
502
|
</li>
|
497
503
|
|
498
|
-
<li class="never" data-hits="" data-linenumber="
|
504
|
+
<li class="never" data-hits="" data-linenumber="53">
|
499
505
|
|
500
506
|
|
501
507
|
<code class="ruby"> end</code>
|
502
508
|
</li>
|
503
509
|
|
504
|
-
<li class="never" data-hits="" data-linenumber="
|
510
|
+
<li class="never" data-hits="" data-linenumber="54">
|
505
511
|
|
506
512
|
|
507
513
|
<code class="ruby"> end</code>
|
508
514
|
</li>
|
509
515
|
|
510
|
-
<li class="never" data-hits="" data-linenumber="
|
516
|
+
<li class="never" data-hits="" data-linenumber="55">
|
511
517
|
|
512
518
|
|
513
519
|
<code class="ruby"></code>
|
514
520
|
</li>
|
515
521
|
|
516
|
-
<li class="covered" data-hits="
|
517
|
-
<span class="hits">
|
522
|
+
<li class="covered" data-hits="6" data-linenumber="56">
|
523
|
+
<span class="hits">6</span>
|
518
524
|
|
519
525
|
<code class="ruby"> return receipt</code>
|
520
526
|
</li>
|
521
527
|
|
522
|
-
<li class="never" data-hits="" data-linenumber="
|
528
|
+
<li class="never" data-hits="" data-linenumber="57">
|
523
529
|
|
524
530
|
|
525
531
|
<code class="ruby"> else</code>
|
526
532
|
</li>
|
527
533
|
|
528
|
-
<li class="missed" data-hits="0" data-linenumber="
|
534
|
+
<li class="missed" data-hits="0" data-linenumber="58">
|
529
535
|
|
530
536
|
|
531
537
|
<code class="ruby"> raise Receipt::VerificationError.new(status, receipt)</code>
|
532
538
|
</li>
|
533
539
|
|
534
|
-
<li class="never" data-hits="" data-linenumber="
|
540
|
+
<li class="never" data-hits="" data-linenumber="59">
|
535
541
|
|
536
542
|
|
537
543
|
<code class="ruby"> end</code>
|
538
544
|
</li>
|
539
545
|
|
540
|
-
<li class="never" data-hits="" data-linenumber="
|
546
|
+
<li class="never" data-hits="" data-linenumber="60">
|
541
547
|
|
542
548
|
|
543
549
|
<code class="ruby"> end</code>
|
544
550
|
</li>
|
545
551
|
|
546
|
-
<li class="never" data-hits="" data-linenumber="
|
552
|
+
<li class="never" data-hits="" data-linenumber="61">
|
547
553
|
|
548
554
|
|
549
555
|
<code class="ruby"></code>
|
550
556
|
</li>
|
551
557
|
|
552
|
-
<li class="covered" data-hits="1" data-linenumber="
|
558
|
+
<li class="covered" data-hits="1" data-linenumber="62">
|
553
559
|
<span class="hits">1</span>
|
554
560
|
|
555
561
|
<code class="ruby"> private</code>
|
556
562
|
</li>
|
557
563
|
|
558
|
-
<li class="never" data-hits="" data-linenumber="
|
564
|
+
<li class="never" data-hits="" data-linenumber="63">
|
559
565
|
|
560
566
|
|
561
567
|
<code class="ruby"></code>
|
562
568
|
</li>
|
563
569
|
|
564
|
-
<li class="covered" data-hits="1" data-linenumber="
|
570
|
+
<li class="covered" data-hits="1" data-linenumber="64">
|
565
571
|
<span class="hits">1</span>
|
566
572
|
|
567
573
|
<code class="ruby"> def json_response_from_verifying_data(data)</code>
|
568
574
|
</li>
|
569
575
|
|
570
|
-
<li class="covered" data-hits="3" data-linenumber="
|
576
|
+
<li class="covered" data-hits="3" data-linenumber="65">
|
571
577
|
<span class="hits">3</span>
|
572
578
|
|
573
579
|
<code class="ruby"> parameters = {</code>
|
574
580
|
</li>
|
575
581
|
|
576
|
-
<li class="never" data-hits="" data-linenumber="
|
582
|
+
<li class="never" data-hits="" data-linenumber="66">
|
577
583
|
|
578
584
|
|
579
585
|
<code class="ruby"> 'receipt-data' => data</code>
|
580
586
|
</li>
|
581
587
|
|
582
|
-
<li class="never" data-hits="" data-linenumber="
|
588
|
+
<li class="never" data-hits="" data-linenumber="67">
|
583
589
|
|
584
590
|
|
585
591
|
<code class="ruby"> }</code>
|
586
592
|
</li>
|
587
593
|
|
588
|
-
<li class="never" data-hits="" data-linenumber="
|
594
|
+
<li class="never" data-hits="" data-linenumber="68">
|
589
595
|
|
590
596
|
|
591
597
|
<code class="ruby"></code>
|
592
598
|
</li>
|
593
599
|
|
594
|
-
<li class="covered" data-hits="3" data-linenumber="
|
600
|
+
<li class="covered" data-hits="3" data-linenumber="69">
|
595
601
|
<span class="hits">3</span>
|
596
602
|
|
597
603
|
<code class="ruby"> parameters['password'] = @shared_secret if @shared_secret</code>
|
598
604
|
</li>
|
599
605
|
|
600
|
-
<li class="never" data-hits="" data-linenumber="
|
606
|
+
<li class="never" data-hits="" data-linenumber="70">
|
601
607
|
|
602
608
|
|
603
609
|
<code class="ruby"></code>
|
604
610
|
</li>
|
605
611
|
|
606
|
-
<li class="covered" data-hits="3" data-linenumber="
|
612
|
+
<li class="covered" data-hits="3" data-linenumber="71">
|
607
613
|
<span class="hits">3</span>
|
608
614
|
|
609
615
|
<code class="ruby"> uri = URI(@verification_url)</code>
|
610
616
|
</li>
|
611
617
|
|
612
|
-
<li class="covered" data-hits="3" data-linenumber="
|
618
|
+
<li class="covered" data-hits="3" data-linenumber="72">
|
613
619
|
<span class="hits">3</span>
|
614
620
|
|
615
621
|
<code class="ruby"> http = Net::HTTP.new(uri.host, uri.port)</code>
|
616
622
|
</li>
|
617
623
|
|
618
|
-
<li class="covered" data-hits="3" data-linenumber="
|
624
|
+
<li class="covered" data-hits="3" data-linenumber="73">
|
619
625
|
<span class="hits">3</span>
|
620
626
|
|
621
627
|
<code class="ruby"> http.use_ssl = true</code>
|
622
628
|
</li>
|
623
629
|
|
624
|
-
<li class="covered" data-hits="3" data-linenumber="
|
630
|
+
<li class="covered" data-hits="3" data-linenumber="74">
|
625
631
|
<span class="hits">3</span>
|
626
632
|
|
627
633
|
<code class="ruby"> http.verify_mode = OpenSSL::SSL::VERIFY_PEER</code>
|
628
634
|
</li>
|
629
635
|
|
630
|
-
<li class="never" data-hits="" data-linenumber="
|
636
|
+
<li class="never" data-hits="" data-linenumber="75">
|
631
637
|
|
632
638
|
|
633
639
|
<code class="ruby"></code>
|
634
640
|
</li>
|
635
641
|
|
636
|
-
<li class="covered" data-hits="3" data-linenumber="
|
642
|
+
<li class="covered" data-hits="3" data-linenumber="76">
|
637
643
|
<span class="hits">3</span>
|
638
644
|
|
639
645
|
<code class="ruby"> request = Net::HTTP::Post.new(uri.request_uri)</code>
|
640
646
|
</li>
|
641
647
|
|
642
|
-
<li class="covered" data-hits="3" data-linenumber="
|
648
|
+
<li class="covered" data-hits="3" data-linenumber="77">
|
643
649
|
<span class="hits">3</span>
|
644
650
|
|
645
|
-
<code class="ruby"> request['Accept'] =
|
651
|
+
<code class="ruby"> request['Accept'] = 'application/json'</code>
|
646
652
|
</li>
|
647
653
|
|
648
|
-
<li class="covered" data-hits="3" data-linenumber="
|
654
|
+
<li class="covered" data-hits="3" data-linenumber="78">
|
649
655
|
<span class="hits">3</span>
|
650
656
|
|
651
|
-
<code class="ruby"> request['Content-Type'] =
|
657
|
+
<code class="ruby"> request['Content-Type'] = 'application/json'</code>
|
652
658
|
</li>
|
653
659
|
|
654
|
-
<li class="covered" data-hits="3" data-linenumber="
|
660
|
+
<li class="covered" data-hits="3" data-linenumber="79">
|
655
661
|
<span class="hits">3</span>
|
656
662
|
|
657
663
|
<code class="ruby"> request.body = parameters.to_json</code>
|
658
664
|
</li>
|
659
665
|
|
660
|
-
<li class="never" data-hits="" data-linenumber="
|
666
|
+
<li class="never" data-hits="" data-linenumber="80">
|
661
667
|
|
662
668
|
|
663
669
|
<code class="ruby"></code>
|
664
670
|
</li>
|
665
671
|
|
666
|
-
<li class="covered" data-hits="3" data-linenumber="
|
672
|
+
<li class="covered" data-hits="3" data-linenumber="81">
|
667
673
|
<span class="hits">3</span>
|
668
674
|
|
669
675
|
<code class="ruby"> response = http.request(request)</code>
|
670
676
|
</li>
|
671
677
|
|
672
|
-
<li class="never" data-hits="" data-linenumber="
|
678
|
+
<li class="never" data-hits="" data-linenumber="82">
|
673
679
|
|
674
680
|
|
675
681
|
<code class="ruby"></code>
|
676
682
|
</li>
|
677
683
|
|
678
|
-
<li class="covered" data-hits="3" data-linenumber="
|
684
|
+
<li class="covered" data-hits="3" data-linenumber="83">
|
679
685
|
<span class="hits">3</span>
|
680
686
|
|
681
687
|
<code class="ruby"> JSON.parse(response.body)</code>
|
682
688
|
</li>
|
683
689
|
|
684
|
-
<li class="never" data-hits="" data-linenumber="
|
690
|
+
<li class="never" data-hits="" data-linenumber="84">
|
685
691
|
|
686
692
|
|
687
693
|
<code class="ruby"> end</code>
|
688
694
|
</li>
|
689
695
|
|
690
|
-
<li class="never" data-hits="" data-linenumber="
|
696
|
+
<li class="never" data-hits="" data-linenumber="85">
|
691
697
|
|
692
698
|
|
693
699
|
<code class="ruby"> end</code>
|
694
700
|
</li>
|
695
701
|
|
696
|
-
<li class="never" data-hits="" data-linenumber="
|
702
|
+
<li class="never" data-hits="" data-linenumber="86">
|
697
703
|
|
698
704
|
|
699
705
|
<code class="ruby">end</code>
|
@@ -982,289 +988,271 @@
|
|
982
988
|
<code class="ruby"></code>
|
983
989
|
</li>
|
984
990
|
|
985
|
-
<li class="
|
986
|
-
|
987
|
-
|
988
|
-
<code class="ruby"></code>
|
989
|
-
</li>
|
990
|
-
|
991
|
-
<li class="covered" data-hits="1" data-linenumber="46">
|
991
|
+
<li class="covered" data-hits="1" data-linenumber="45">
|
992
992
|
<span class="hits">1</span>
|
993
993
|
|
994
994
|
<code class="ruby"> def initialize(attributes = {})</code>
|
995
995
|
</li>
|
996
996
|
|
997
|
-
<li class="covered" data-hits="24" data-linenumber="
|
997
|
+
<li class="covered" data-hits="24" data-linenumber="46">
|
998
998
|
<span class="hits">24</span>
|
999
999
|
|
1000
1000
|
<code class="ruby"> @quantity = Integer(attributes['quantity']) if attributes['quantity']</code>
|
1001
1001
|
</li>
|
1002
1002
|
|
1003
|
-
<li class="covered" data-hits="24" data-linenumber="
|
1003
|
+
<li class="covered" data-hits="24" data-linenumber="47">
|
1004
1004
|
<span class="hits">24</span>
|
1005
1005
|
|
1006
1006
|
<code class="ruby"> @product_id = attributes['product_id']</code>
|
1007
1007
|
</li>
|
1008
1008
|
|
1009
|
-
<li class="covered" data-hits="24" data-linenumber="
|
1009
|
+
<li class="covered" data-hits="24" data-linenumber="48">
|
1010
1010
|
<span class="hits">24</span>
|
1011
1011
|
|
1012
1012
|
<code class="ruby"> @transaction_id = attributes['transaction_id']</code>
|
1013
1013
|
</li>
|
1014
1014
|
|
1015
|
-
<li class="covered" data-hits="24" data-linenumber="
|
1015
|
+
<li class="covered" data-hits="24" data-linenumber="49">
|
1016
1016
|
<span class="hits">24</span>
|
1017
1017
|
|
1018
1018
|
<code class="ruby"> @purchased_at = DateTime.parse(attributes['purchase_date']) if attributes['purchase_date']</code>
|
1019
1019
|
</li>
|
1020
1020
|
|
1021
|
-
<li class="covered" data-hits="24" data-linenumber="
|
1021
|
+
<li class="covered" data-hits="24" data-linenumber="50">
|
1022
1022
|
<span class="hits">24</span>
|
1023
1023
|
|
1024
1024
|
<code class="ruby"> @app_item_id = attributes['app_item_id']</code>
|
1025
1025
|
</li>
|
1026
1026
|
|
1027
|
-
<li class="covered" data-hits="24" data-linenumber="
|
1027
|
+
<li class="covered" data-hits="24" data-linenumber="51">
|
1028
1028
|
<span class="hits">24</span>
|
1029
1029
|
|
1030
1030
|
<code class="ruby"> @version_external_identifier = attributes['version_external_identifier']</code>
|
1031
1031
|
</li>
|
1032
1032
|
|
1033
|
-
<li class="never" data-hits="" data-linenumber="
|
1033
|
+
<li class="never" data-hits="" data-linenumber="52">
|
1034
1034
|
|
1035
1035
|
|
1036
1036
|
<code class="ruby"></code>
|
1037
1037
|
</li>
|
1038
1038
|
|
1039
|
-
<li class="never" data-hits="" data-linenumber="
|
1039
|
+
<li class="never" data-hits="" data-linenumber="53">
|
1040
1040
|
|
1041
1041
|
|
1042
1042
|
<code class="ruby"> # expires_date is in ms since the Epoch, Time.at expects seconds</code>
|
1043
1043
|
</li>
|
1044
1044
|
|
1045
|
-
<li class="covered" data-hits="24" data-linenumber="
|
1045
|
+
<li class="covered" data-hits="24" data-linenumber="54">
|
1046
1046
|
<span class="hits">24</span>
|
1047
1047
|
|
1048
1048
|
<code class="ruby"> @expires_at = Time.at(attributes['expires_date_ms'].to_i / 1000) if attributes['expires_date_ms']</code>
|
1049
1049
|
</li>
|
1050
1050
|
|
1051
|
-
<li class="never" data-hits="" data-linenumber="
|
1051
|
+
<li class="never" data-hits="" data-linenumber="55">
|
1052
1052
|
|
1053
1053
|
|
1054
1054
|
<code class="ruby"></code>
|
1055
1055
|
</li>
|
1056
1056
|
|
1057
|
-
<li class="never" data-hits="" data-linenumber="
|
1057
|
+
<li class="never" data-hits="" data-linenumber="56">
|
1058
1058
|
|
1059
1059
|
|
1060
1060
|
<code class="ruby"> # cancellation_date is in ms since the Epoch, Time.at expects seconds</code>
|
1061
1061
|
</li>
|
1062
1062
|
|
1063
|
-
<li class="covered" data-hits="24" data-linenumber="
|
1063
|
+
<li class="covered" data-hits="24" data-linenumber="57">
|
1064
1064
|
<span class="hits">24</span>
|
1065
1065
|
|
1066
1066
|
<code class="ruby"> @cancellation_at = Time.at(attributes['cancellation_date_ms'].to_i / 1000) if attributes['cancellation_date_ms']</code>
|
1067
1067
|
</li>
|
1068
1068
|
|
1069
|
-
<li class="never" data-hits="" data-linenumber="
|
1069
|
+
<li class="never" data-hits="" data-linenumber="58">
|
1070
1070
|
|
1071
1071
|
|
1072
1072
|
<code class="ruby"></code>
|
1073
1073
|
</li>
|
1074
1074
|
|
1075
|
-
<li class="covered" data-hits="24" data-linenumber="
|
1075
|
+
<li class="covered" data-hits="24" data-linenumber="59">
|
1076
1076
|
<span class="hits">24</span>
|
1077
1077
|
|
1078
1078
|
<code class="ruby"> if attributes['original_transaction_id'] || attributes['original_purchase_date']</code>
|
1079
1079
|
</li>
|
1080
1080
|
|
1081
|
-
<li class="covered" data-hits="12" data-linenumber="
|
1081
|
+
<li class="covered" data-hits="12" data-linenumber="60">
|
1082
1082
|
<span class="hits">12</span>
|
1083
1083
|
|
1084
1084
|
<code class="ruby"> original_attributes = {</code>
|
1085
1085
|
</li>
|
1086
1086
|
|
1087
|
-
<li class="never" data-hits="" data-linenumber="
|
1087
|
+
<li class="never" data-hits="" data-linenumber="61">
|
1088
1088
|
|
1089
1089
|
|
1090
1090
|
<code class="ruby"> 'transaction_id' => attributes['original_transaction_id'],</code>
|
1091
1091
|
</li>
|
1092
1092
|
|
1093
|
-
<li class="never" data-hits="" data-linenumber="
|
1093
|
+
<li class="never" data-hits="" data-linenumber="62">
|
1094
1094
|
|
1095
1095
|
|
1096
1096
|
<code class="ruby"> 'purchase_date' => attributes['original_purchase_date']</code>
|
1097
1097
|
</li>
|
1098
1098
|
|
1099
|
-
<li class="never" data-hits="" data-linenumber="
|
1099
|
+
<li class="never" data-hits="" data-linenumber="63">
|
1100
1100
|
|
1101
1101
|
|
1102
1102
|
<code class="ruby"> }</code>
|
1103
1103
|
</li>
|
1104
1104
|
|
1105
|
-
<li class="never" data-hits="" data-linenumber="
|
1105
|
+
<li class="never" data-hits="" data-linenumber="64">
|
1106
1106
|
|
1107
1107
|
|
1108
1108
|
<code class="ruby"></code>
|
1109
1109
|
</li>
|
1110
1110
|
|
1111
|
-
<li class="covered" data-hits="12" data-linenumber="
|
1111
|
+
<li class="covered" data-hits="12" data-linenumber="65">
|
1112
1112
|
<span class="hits">12</span>
|
1113
1113
|
|
1114
1114
|
<code class="ruby"> self.original = InAppReceipt.new(original_attributes)</code>
|
1115
1115
|
</li>
|
1116
1116
|
|
1117
|
-
<li class="never" data-hits="" data-linenumber="
|
1117
|
+
<li class="never" data-hits="" data-linenumber="66">
|
1118
1118
|
|
1119
1119
|
|
1120
1120
|
<code class="ruby"> end</code>
|
1121
1121
|
</li>
|
1122
1122
|
|
1123
|
-
<li class="never" data-hits="" data-linenumber="
|
1124
|
-
|
1125
|
-
|
1126
|
-
<code class="ruby"></code>
|
1127
|
-
</li>
|
1128
|
-
|
1129
|
-
<li class="never" data-hits="" data-linenumber="69">
|
1123
|
+
<li class="never" data-hits="" data-linenumber="67">
|
1130
1124
|
|
1131
1125
|
|
1132
1126
|
<code class="ruby"> end</code>
|
1133
1127
|
</li>
|
1134
1128
|
|
1135
|
-
<li class="never" data-hits="" data-linenumber="
|
1129
|
+
<li class="never" data-hits="" data-linenumber="68">
|
1136
1130
|
|
1137
1131
|
|
1138
1132
|
<code class="ruby"></code>
|
1139
1133
|
</li>
|
1140
1134
|
|
1141
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1135
|
+
<li class="covered" data-hits="1" data-linenumber="69">
|
1142
1136
|
<span class="hits">1</span>
|
1143
1137
|
|
1144
1138
|
<code class="ruby"> def to_hash</code>
|
1145
1139
|
</li>
|
1146
1140
|
|
1147
|
-
<li class="never" data-hits="" data-linenumber="
|
1141
|
+
<li class="never" data-hits="" data-linenumber="70">
|
1148
1142
|
|
1149
1143
|
|
1150
1144
|
<code class="ruby"> {</code>
|
1151
1145
|
</li>
|
1152
1146
|
|
1153
|
-
<li class="never" data-hits="" data-linenumber="
|
1147
|
+
<li class="never" data-hits="" data-linenumber="71">
|
1154
1148
|
|
1155
1149
|
|
1156
|
-
<code class="ruby"> :
|
1150
|
+
<code class="ruby"> quantity: @quantity,</code>
|
1157
1151
|
</li>
|
1158
1152
|
|
1159
|
-
<li class="never" data-hits="" data-linenumber="
|
1153
|
+
<li class="never" data-hits="" data-linenumber="72">
|
1160
1154
|
|
1161
1155
|
|
1162
|
-
<code class="ruby"> :
|
1156
|
+
<code class="ruby"> product_id: @product_id,</code>
|
1163
1157
|
</li>
|
1164
1158
|
|
1165
|
-
<li class="never" data-hits="" data-linenumber="
|
1159
|
+
<li class="never" data-hits="" data-linenumber="73">
|
1166
1160
|
|
1167
1161
|
|
1168
|
-
<code class="ruby"> :
|
1162
|
+
<code class="ruby"> transaction_id: @transaction_id,</code>
|
1169
1163
|
</li>
|
1170
1164
|
|
1171
|
-
<li class="covered" data-hits="2" data-linenumber="
|
1165
|
+
<li class="covered" data-hits="2" data-linenumber="74">
|
1172
1166
|
<span class="hits">2</span>
|
1173
1167
|
|
1174
|
-
<code class="ruby"> :
|
1168
|
+
<code class="ruby"> purchase_date: (@purchased_at.httpdate rescue nil),</code>
|
1175
1169
|
</li>
|
1176
1170
|
|
1177
|
-
<li class="covered" data-hits="2" data-linenumber="
|
1171
|
+
<li class="covered" data-hits="2" data-linenumber="75">
|
1178
1172
|
<span class="hits">2</span>
|
1179
1173
|
|
1180
|
-
<code class="ruby"> :
|
1174
|
+
<code class="ruby"> original_transaction_id: (@original.transaction_id rescue nil),</code>
|
1181
1175
|
</li>
|
1182
1176
|
|
1183
|
-
<li class="covered" data-hits="2" data-linenumber="
|
1177
|
+
<li class="covered" data-hits="2" data-linenumber="76">
|
1184
1178
|
<span class="hits">2</span>
|
1185
1179
|
|
1186
|
-
<code class="ruby"> :
|
1180
|
+
<code class="ruby"> original_purchase_date: (@original.purchased_at.httpdate rescue nil),</code>
|
1187
1181
|
</li>
|
1188
1182
|
|
1189
|
-
<li class="never" data-hits="" data-linenumber="
|
1183
|
+
<li class="never" data-hits="" data-linenumber="77">
|
1190
1184
|
|
1191
1185
|
|
1192
|
-
<code class="ruby"> :
|
1186
|
+
<code class="ruby"> app_item_id: @app_item_id,</code>
|
1193
1187
|
</li>
|
1194
1188
|
|
1195
|
-
<li class="never" data-hits="" data-linenumber="
|
1189
|
+
<li class="never" data-hits="" data-linenumber="78">
|
1196
1190
|
|
1197
1191
|
|
1198
|
-
<code class="ruby"> :
|
1192
|
+
<code class="ruby"> version_external_identifier: @version_external_identifier,</code>
|
1199
1193
|
</li>
|
1200
1194
|
|
1201
|
-
<li class="covered" data-hits="2" data-linenumber="
|
1195
|
+
<li class="covered" data-hits="2" data-linenumber="79">
|
1202
1196
|
<span class="hits">2</span>
|
1203
1197
|
|
1204
|
-
<code class="ruby"> :
|
1198
|
+
<code class="ruby"> expires_at: (@expires_at.httpdate rescue nil),</code>
|
1205
1199
|
</li>
|
1206
1200
|
|
1207
|
-
<li class="covered" data-hits="2" data-linenumber="
|
1201
|
+
<li class="covered" data-hits="2" data-linenumber="80">
|
1208
1202
|
<span class="hits">2</span>
|
1209
1203
|
|
1210
|
-
<code class="ruby"> :
|
1204
|
+
<code class="ruby"> cancellation_at: (@cancellation_at.httpdate rescue nil)</code>
|
1211
1205
|
</li>
|
1212
1206
|
|
1213
|
-
<li class="covered" data-hits="2" data-linenumber="
|
1207
|
+
<li class="covered" data-hits="2" data-linenumber="81">
|
1214
1208
|
<span class="hits">2</span>
|
1215
1209
|
|
1216
1210
|
<code class="ruby"> }</code>
|
1217
1211
|
</li>
|
1218
1212
|
|
1219
|
-
<li class="never" data-hits="" data-linenumber="
|
1213
|
+
<li class="never" data-hits="" data-linenumber="82">
|
1220
1214
|
|
1221
1215
|
|
1222
1216
|
<code class="ruby"> end</code>
|
1223
1217
|
</li>
|
1224
1218
|
|
1225
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1219
|
+
<li class="covered" data-hits="1" data-linenumber="83">
|
1226
1220
|
<span class="hits">1</span>
|
1227
1221
|
|
1228
1222
|
<code class="ruby"> alias_method :to_h, :to_hash</code>
|
1229
1223
|
</li>
|
1230
1224
|
|
1231
|
-
<li class="never" data-hits="" data-linenumber="
|
1225
|
+
<li class="never" data-hits="" data-linenumber="84">
|
1232
1226
|
|
1233
1227
|
|
1234
1228
|
<code class="ruby"></code>
|
1235
1229
|
</li>
|
1236
1230
|
|
1237
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1231
|
+
<li class="covered" data-hits="1" data-linenumber="85">
|
1238
1232
|
<span class="hits">1</span>
|
1239
1233
|
|
1240
1234
|
<code class="ruby"> def to_json</code>
|
1241
1235
|
</li>
|
1242
1236
|
|
1243
|
-
<li class="missed" data-hits="0" data-linenumber="
|
1237
|
+
<li class="missed" data-hits="0" data-linenumber="86">
|
1244
1238
|
|
1245
1239
|
|
1246
|
-
<code class="ruby">
|
1240
|
+
<code class="ruby"> to_hash.to_json</code>
|
1247
1241
|
</li>
|
1248
1242
|
|
1249
|
-
<li class="never" data-hits="" data-linenumber="
|
1243
|
+
<li class="never" data-hits="" data-linenumber="87">
|
1250
1244
|
|
1251
1245
|
|
1252
1246
|
<code class="ruby"> end</code>
|
1253
1247
|
</li>
|
1254
1248
|
|
1255
|
-
<li class="never" data-hits="" data-linenumber="
|
1256
|
-
|
1257
|
-
|
1258
|
-
<code class="ruby"></code>
|
1259
|
-
</li>
|
1260
|
-
|
1261
|
-
<li class="never" data-hits="" data-linenumber="91">
|
1249
|
+
<li class="never" data-hits="" data-linenumber="88">
|
1262
1250
|
|
1263
1251
|
|
1264
1252
|
<code class="ruby"> end</code>
|
1265
1253
|
</li>
|
1266
1254
|
|
1267
|
-
<li class="never" data-hits="" data-linenumber="
|
1255
|
+
<li class="never" data-hits="" data-linenumber="89">
|
1268
1256
|
|
1269
1257
|
|
1270
1258
|
<code class="ruby">end</code>
|
@@ -1304,382 +1292,370 @@
|
|
1304
1292
|
<li class="never" data-hits="" data-linenumber="3">
|
1305
1293
|
|
1306
1294
|
|
1307
|
-
<code class="ruby"></code>
|
1308
|
-
</li>
|
1309
|
-
|
1310
|
-
<li class="never" data-hits="" data-linenumber="4">
|
1311
|
-
|
1312
|
-
|
1313
1295
|
<code class="ruby"> # For an expired subscription, the reason for the subscription expiration.</code>
|
1314
1296
|
</li>
|
1315
1297
|
|
1316
|
-
<li class="never" data-hits="" data-linenumber="
|
1298
|
+
<li class="never" data-hits="" data-linenumber="4">
|
1317
1299
|
|
1318
1300
|
|
1319
|
-
<code class="ruby"> # This key is only present for a receipt containing an expired auto-renewable subscription
|
1301
|
+
<code class="ruby"> # This key is only present for a receipt containing an expired auto-renewable subscription.</code>
|
1320
1302
|
</li>
|
1321
1303
|
|
1322
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1304
|
+
<li class="covered" data-hits="1" data-linenumber="5">
|
1323
1305
|
<span class="hits">1</span>
|
1324
1306
|
|
1325
1307
|
<code class="ruby"> attr_reader :expiration_intent</code>
|
1326
1308
|
</li>
|
1327
1309
|
|
1328
|
-
<li class="never" data-hits="" data-linenumber="
|
1310
|
+
<li class="never" data-hits="" data-linenumber="6">
|
1329
1311
|
|
1330
1312
|
|
1331
1313
|
<code class="ruby"></code>
|
1332
1314
|
</li>
|
1333
1315
|
|
1334
|
-
<li class="never" data-hits="" data-linenumber="
|
1316
|
+
<li class="never" data-hits="" data-linenumber="7">
|
1335
1317
|
|
1336
1318
|
|
1337
1319
|
<code class="ruby"> # The current renewal status for the auto-renewable subscription.</code>
|
1338
1320
|
</li>
|
1339
1321
|
|
1340
|
-
<li class="never" data-hits="" data-linenumber="
|
1322
|
+
<li class="never" data-hits="" data-linenumber="8">
|
1341
1323
|
|
1342
1324
|
|
1343
1325
|
<code class="ruby"> # This key is only present for auto-renewable subscription receipts, for active or expired subscriptions</code>
|
1344
1326
|
</li>
|
1345
1327
|
|
1346
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1328
|
+
<li class="covered" data-hits="1" data-linenumber="9">
|
1347
1329
|
<span class="hits">1</span>
|
1348
1330
|
|
1349
1331
|
<code class="ruby"> attr_reader :auto_renew_status</code>
|
1350
1332
|
</li>
|
1351
1333
|
|
1352
|
-
<li class="never" data-hits="" data-linenumber="
|
1334
|
+
<li class="never" data-hits="" data-linenumber="10">
|
1353
1335
|
|
1354
1336
|
|
1355
1337
|
<code class="ruby"></code>
|
1356
1338
|
</li>
|
1357
1339
|
|
1358
|
-
<li class="never" data-hits="" data-linenumber="
|
1340
|
+
<li class="never" data-hits="" data-linenumber="11">
|
1359
1341
|
|
1360
1342
|
|
1361
1343
|
<code class="ruby"> # The current renewal preference for the auto-renewable subscription.</code>
|
1362
1344
|
</li>
|
1363
1345
|
|
1364
|
-
<li class="never" data-hits="" data-linenumber="
|
1346
|
+
<li class="never" data-hits="" data-linenumber="12">
|
1365
1347
|
|
1366
1348
|
|
1367
1349
|
<code class="ruby"> # The value for this key corresponds to the productIdentifier property of the product that the customer’s subscription renews.</code>
|
1368
1350
|
</li>
|
1369
1351
|
|
1370
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1352
|
+
<li class="covered" data-hits="1" data-linenumber="13">
|
1371
1353
|
<span class="hits">1</span>
|
1372
1354
|
|
1373
1355
|
<code class="ruby"> attr_reader :auto_renew_product_id</code>
|
1374
1356
|
</li>
|
1375
1357
|
|
1376
|
-
<li class="never" data-hits="" data-linenumber="
|
1358
|
+
<li class="never" data-hits="" data-linenumber="14">
|
1377
1359
|
|
1378
1360
|
|
1379
1361
|
<code class="ruby"></code>
|
1380
1362
|
</li>
|
1381
1363
|
|
1382
|
-
<li class="never" data-hits="" data-linenumber="
|
1364
|
+
<li class="never" data-hits="" data-linenumber="15">
|
1383
1365
|
|
1384
1366
|
|
1385
1367
|
<code class="ruby"> # For an expired subscription, whether or not Apple is still attempting to automatically renew the subscription.</code>
|
1386
1368
|
</li>
|
1387
1369
|
|
1388
|
-
<li class="never" data-hits="" data-linenumber="
|
1370
|
+
<li class="never" data-hits="" data-linenumber="16">
|
1389
1371
|
|
1390
1372
|
|
1391
1373
|
<code class="ruby"> # If the customer’s subscription failed to renew because the App Store was unable to complete the transaction, this value will reflect whether or not the App Store is still trying to renew the subscription.</code>
|
1392
1374
|
</li>
|
1393
1375
|
|
1394
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1376
|
+
<li class="covered" data-hits="1" data-linenumber="17">
|
1395
1377
|
<span class="hits">1</span>
|
1396
1378
|
|
1397
1379
|
<code class="ruby"> attr_reader :is_in_billing_retry_period</code>
|
1398
1380
|
</li>
|
1399
1381
|
|
1400
|
-
<li class="never" data-hits="" data-linenumber="
|
1382
|
+
<li class="never" data-hits="" data-linenumber="18">
|
1401
1383
|
|
1402
1384
|
|
1403
1385
|
<code class="ruby"></code>
|
1404
1386
|
</li>
|
1405
1387
|
|
1406
|
-
<li class="never" data-hits="" data-linenumber="
|
1388
|
+
<li class="never" data-hits="" data-linenumber="19">
|
1407
1389
|
|
1408
1390
|
|
1409
1391
|
<code class="ruby"> # The product identifier of the item that was purchased.</code>
|
1410
1392
|
</li>
|
1411
1393
|
|
1412
|
-
<li class="never" data-hits="" data-linenumber="
|
1394
|
+
<li class="never" data-hits="" data-linenumber="20">
|
1413
1395
|
|
1414
1396
|
|
1415
1397
|
<code class="ruby"> # This value corresponds to the productIdentifier property of the SKPayment object stored in the transaction’s payment property.</code>
|
1416
1398
|
</li>
|
1417
1399
|
|
1418
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1400
|
+
<li class="covered" data-hits="1" data-linenumber="21">
|
1419
1401
|
<span class="hits">1</span>
|
1420
1402
|
|
1421
1403
|
<code class="ruby"> attr_reader :product_id</code>
|
1422
1404
|
</li>
|
1423
1405
|
|
1424
|
-
<li class="never" data-hits="" data-linenumber="
|
1406
|
+
<li class="never" data-hits="" data-linenumber="22">
|
1425
1407
|
|
1426
1408
|
|
1427
1409
|
<code class="ruby"></code>
|
1428
1410
|
</li>
|
1429
1411
|
|
1430
|
-
<li class="never" data-hits="" data-linenumber="
|
1412
|
+
<li class="never" data-hits="" data-linenumber="23">
|
1431
1413
|
|
1432
1414
|
|
1433
1415
|
<code class="ruby"> # The current price consent status for a subscription price increase</code>
|
1434
1416
|
</li>
|
1435
1417
|
|
1436
|
-
<li class="never" data-hits="" data-linenumber="
|
1418
|
+
<li class="never" data-hits="" data-linenumber="24">
|
1437
1419
|
|
1438
1420
|
|
1439
1421
|
<code class="ruby"> # This key is only present for auto-renewable subscription receipts if the subscription price was increased without keeping the existing price for active subscribers</code>
|
1440
1422
|
</li>
|
1441
1423
|
|
1442
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1424
|
+
<li class="covered" data-hits="1" data-linenumber="25">
|
1443
1425
|
<span class="hits">1</span>
|
1444
1426
|
|
1445
1427
|
<code class="ruby"> attr_reader :price_consent_status</code>
|
1446
1428
|
</li>
|
1447
1429
|
|
1448
|
-
<li class="never" data-hits="" data-linenumber="
|
1430
|
+
<li class="never" data-hits="" data-linenumber="26">
|
1449
1431
|
|
1450
1432
|
|
1451
1433
|
<code class="ruby"></code>
|
1452
1434
|
</li>
|
1453
1435
|
|
1454
|
-
<li class="never" data-hits="" data-linenumber="
|
1436
|
+
<li class="never" data-hits="" data-linenumber="27">
|
1455
1437
|
|
1456
1438
|
|
1457
1439
|
<code class="ruby"> # For a transaction that was cancelled, the reason for cancellation.</code>
|
1458
1440
|
</li>
|
1459
1441
|
|
1460
|
-
<li class="never" data-hits="" data-linenumber="
|
1442
|
+
<li class="never" data-hits="" data-linenumber="28">
|
1461
1443
|
|
1462
1444
|
|
1463
1445
|
<code class="ruby"> # Use this value along with the cancellation date to identify possible issues in your app that may lead customers to contact Apple customer support.</code>
|
1464
1446
|
</li>
|
1465
1447
|
|
1466
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1448
|
+
<li class="covered" data-hits="1" data-linenumber="29">
|
1467
1449
|
<span class="hits">1</span>
|
1468
1450
|
|
1469
1451
|
<code class="ruby"> attr_reader :cancellation_reason</code>
|
1470
1452
|
</li>
|
1471
1453
|
|
1472
|
-
<li class="never" data-hits="" data-linenumber="
|
1473
|
-
|
1474
|
-
|
1475
|
-
<code class="ruby"></code>
|
1476
|
-
</li>
|
1477
|
-
|
1478
|
-
<li class="never" data-hits="" data-linenumber="32">
|
1454
|
+
<li class="never" data-hits="" data-linenumber="30">
|
1479
1455
|
|
1480
1456
|
|
1481
1457
|
<code class="ruby"></code>
|
1482
1458
|
</li>
|
1483
1459
|
|
1484
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1460
|
+
<li class="covered" data-hits="1" data-linenumber="31">
|
1485
1461
|
<span class="hits">1</span>
|
1486
1462
|
|
1487
1463
|
<code class="ruby"> def initialize(attributes)</code>
|
1488
1464
|
</li>
|
1489
1465
|
|
1490
|
-
<li class="covered" data-hits="7" data-linenumber="
|
1466
|
+
<li class="covered" data-hits="7" data-linenumber="32">
|
1491
1467
|
<span class="hits">7</span>
|
1492
1468
|
|
1493
1469
|
<code class="ruby"> @expiration_intent = Integer(attributes['expiration_intent']) if attributes['expiration_intent']</code>
|
1494
1470
|
</li>
|
1495
1471
|
|
1496
|
-
<li class="covered" data-hits="7" data-linenumber="
|
1472
|
+
<li class="covered" data-hits="7" data-linenumber="33">
|
1497
1473
|
<span class="hits">7</span>
|
1498
1474
|
|
1499
1475
|
<code class="ruby"> @auto_renew_status = Integer(attributes['auto_renew_status']) if attributes['auto_renew_status']</code>
|
1500
1476
|
</li>
|
1501
1477
|
|
1502
|
-
<li class="covered" data-hits="7" data-linenumber="
|
1478
|
+
<li class="covered" data-hits="7" data-linenumber="34">
|
1503
1479
|
<span class="hits">7</span>
|
1504
1480
|
|
1505
1481
|
<code class="ruby"> @auto_renew_product_id = attributes['auto_renew_product_id']</code>
|
1506
1482
|
</li>
|
1507
1483
|
|
1508
|
-
<li class="never" data-hits="" data-linenumber="
|
1484
|
+
<li class="never" data-hits="" data-linenumber="35">
|
1509
1485
|
|
1510
1486
|
|
1511
1487
|
<code class="ruby"></code>
|
1512
1488
|
</li>
|
1513
1489
|
|
1514
|
-
<li class="covered" data-hits="7" data-linenumber="
|
1490
|
+
<li class="covered" data-hits="7" data-linenumber="36">
|
1515
1491
|
<span class="hits">7</span>
|
1516
1492
|
|
1517
1493
|
<code class="ruby"> if attributes['is_in_billing_retry_period']</code>
|
1518
1494
|
</li>
|
1519
1495
|
|
1520
|
-
<li class="covered" data-hits="7" data-linenumber="
|
1496
|
+
<li class="covered" data-hits="7" data-linenumber="37">
|
1521
1497
|
<span class="hits">7</span>
|
1522
1498
|
|
1523
|
-
<code class="ruby"> @is_in_billing_retry_period = (attributes[is_in_billing_retry_period] ==
|
1499
|
+
<code class="ruby"> @is_in_billing_retry_period = (attributes[is_in_billing_retry_period] == '1')</code>
|
1524
1500
|
</li>
|
1525
1501
|
|
1526
|
-
<li class="never" data-hits="" data-linenumber="
|
1502
|
+
<li class="never" data-hits="" data-linenumber="38">
|
1527
1503
|
|
1528
1504
|
|
1529
1505
|
<code class="ruby"> end</code>
|
1530
1506
|
</li>
|
1531
1507
|
|
1532
|
-
<li class="never" data-hits="" data-linenumber="
|
1508
|
+
<li class="never" data-hits="" data-linenumber="39">
|
1533
1509
|
|
1534
1510
|
|
1535
1511
|
<code class="ruby"></code>
|
1536
1512
|
</li>
|
1537
1513
|
|
1538
|
-
<li class="covered" data-hits="7" data-linenumber="
|
1514
|
+
<li class="covered" data-hits="7" data-linenumber="40">
|
1539
1515
|
<span class="hits">7</span>
|
1540
1516
|
|
1541
1517
|
<code class="ruby"> @product_id = attributes['product_id']</code>
|
1542
1518
|
</li>
|
1543
1519
|
|
1544
|
-
<li class="never" data-hits="" data-linenumber="
|
1520
|
+
<li class="never" data-hits="" data-linenumber="41">
|
1545
1521
|
|
1546
1522
|
|
1547
1523
|
<code class="ruby"></code>
|
1548
1524
|
</li>
|
1549
1525
|
|
1550
|
-
<li class="covered" data-hits="7" data-linenumber="
|
1526
|
+
<li class="covered" data-hits="7" data-linenumber="42">
|
1551
1527
|
<span class="hits">7</span>
|
1552
1528
|
|
1553
1529
|
<code class="ruby"> @price_consent_status = Integer(attributes['price_consent_status']) if attributes['price_consent_status']</code>
|
1554
1530
|
</li>
|
1555
1531
|
|
1556
|
-
<li class="covered" data-hits="7" data-linenumber="
|
1532
|
+
<li class="covered" data-hits="7" data-linenumber="43">
|
1557
1533
|
<span class="hits">7</span>
|
1558
1534
|
|
1559
1535
|
<code class="ruby"> @cancellation_reason = Integer(attributes['cancellation_reason']) if attributes['cancellation_reason']</code>
|
1560
1536
|
</li>
|
1561
1537
|
|
1562
|
-
<li class="never" data-hits="" data-linenumber="
|
1538
|
+
<li class="never" data-hits="" data-linenumber="44">
|
1563
1539
|
|
1564
1540
|
|
1565
1541
|
<code class="ruby"> end</code>
|
1566
1542
|
</li>
|
1567
1543
|
|
1568
|
-
<li class="never" data-hits="" data-linenumber="
|
1544
|
+
<li class="never" data-hits="" data-linenumber="45">
|
1569
1545
|
|
1570
1546
|
|
1571
1547
|
<code class="ruby"></code>
|
1572
1548
|
</li>
|
1573
1549
|
|
1574
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1550
|
+
<li class="covered" data-hits="1" data-linenumber="46">
|
1575
1551
|
<span class="hits">1</span>
|
1576
1552
|
|
1577
1553
|
<code class="ruby"> def to_hash</code>
|
1578
1554
|
</li>
|
1579
1555
|
|
1580
|
-
<li class="never" data-hits="" data-linenumber="
|
1556
|
+
<li class="never" data-hits="" data-linenumber="47">
|
1581
1557
|
|
1582
1558
|
|
1583
1559
|
<code class="ruby"> {</code>
|
1584
1560
|
</li>
|
1585
1561
|
|
1586
|
-
<li class="never" data-hits="" data-linenumber="
|
1562
|
+
<li class="never" data-hits="" data-linenumber="48">
|
1587
1563
|
|
1588
1564
|
|
1589
1565
|
<code class="ruby"> expiration_intent: @expiration_intent,</code>
|
1590
1566
|
</li>
|
1591
1567
|
|
1592
|
-
<li class="never" data-hits="" data-linenumber="
|
1568
|
+
<li class="never" data-hits="" data-linenumber="49">
|
1593
1569
|
|
1594
1570
|
|
1595
1571
|
<code class="ruby"> auto_renew_status: @auto_renew_status,</code>
|
1596
1572
|
</li>
|
1597
1573
|
|
1598
|
-
<li class="never" data-hits="" data-linenumber="
|
1574
|
+
<li class="never" data-hits="" data-linenumber="50">
|
1599
1575
|
|
1600
1576
|
|
1601
1577
|
<code class="ruby"> auto_renew_product_id: @auto_renew_product_id,</code>
|
1602
1578
|
</li>
|
1603
1579
|
|
1604
|
-
<li class="never" data-hits="" data-linenumber="
|
1580
|
+
<li class="never" data-hits="" data-linenumber="51">
|
1605
1581
|
|
1606
1582
|
|
1607
1583
|
<code class="ruby"> is_in_billing_retry_period: @is_in_billing_retry_period,</code>
|
1608
1584
|
</li>
|
1609
1585
|
|
1610
|
-
<li class="never" data-hits="" data-linenumber="
|
1586
|
+
<li class="never" data-hits="" data-linenumber="52">
|
1611
1587
|
|
1612
1588
|
|
1613
1589
|
<code class="ruby"> product_id: @product_id,</code>
|
1614
1590
|
</li>
|
1615
1591
|
|
1616
|
-
<li class="never" data-hits="" data-linenumber="
|
1592
|
+
<li class="never" data-hits="" data-linenumber="53">
|
1617
1593
|
|
1618
1594
|
|
1619
1595
|
<code class="ruby"> price_consent_status: @price_consent_status,</code>
|
1620
1596
|
</li>
|
1621
1597
|
|
1622
|
-
<li class="never" data-hits="" data-linenumber="
|
1598
|
+
<li class="never" data-hits="" data-linenumber="54">
|
1623
1599
|
|
1624
1600
|
|
1625
1601
|
<code class="ruby"> cancellation_reason: @cancellation_reason</code>
|
1626
1602
|
</li>
|
1627
1603
|
|
1628
|
-
<li class="covered" data-hits="2" data-linenumber="
|
1604
|
+
<li class="covered" data-hits="2" data-linenumber="55">
|
1629
1605
|
<span class="hits">2</span>
|
1630
1606
|
|
1631
1607
|
<code class="ruby"> }</code>
|
1632
1608
|
</li>
|
1633
1609
|
|
1634
|
-
<li class="never" data-hits="" data-linenumber="
|
1610
|
+
<li class="never" data-hits="" data-linenumber="56">
|
1635
1611
|
|
1636
1612
|
|
1637
1613
|
<code class="ruby"> end</code>
|
1638
1614
|
</li>
|
1639
1615
|
|
1640
|
-
<li class="never" data-hits="" data-linenumber="
|
1616
|
+
<li class="never" data-hits="" data-linenumber="57">
|
1641
1617
|
|
1642
1618
|
|
1643
1619
|
<code class="ruby"></code>
|
1644
1620
|
</li>
|
1645
1621
|
|
1646
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1622
|
+
<li class="covered" data-hits="1" data-linenumber="58">
|
1647
1623
|
<span class="hits">1</span>
|
1648
1624
|
|
1649
1625
|
<code class="ruby"> alias_method :to_h, :to_hash</code>
|
1650
1626
|
</li>
|
1651
1627
|
|
1652
|
-
<li class="never" data-hits="" data-linenumber="
|
1628
|
+
<li class="never" data-hits="" data-linenumber="59">
|
1653
1629
|
|
1654
1630
|
|
1655
1631
|
<code class="ruby"></code>
|
1656
1632
|
</li>
|
1657
1633
|
|
1658
|
-
<li class="covered" data-hits="1" data-linenumber="
|
1634
|
+
<li class="covered" data-hits="1" data-linenumber="60">
|
1659
1635
|
<span class="hits">1</span>
|
1660
1636
|
|
1661
1637
|
<code class="ruby"> def to_json</code>
|
1662
1638
|
</li>
|
1663
1639
|
|
1664
|
-
<li class="missed" data-hits="0" data-linenumber="
|
1640
|
+
<li class="missed" data-hits="0" data-linenumber="61">
|
1665
1641
|
|
1666
1642
|
|
1667
|
-
<code class="ruby">
|
1643
|
+
<code class="ruby"> to_hash.to_json</code>
|
1668
1644
|
</li>
|
1669
1645
|
|
1670
|
-
<li class="never" data-hits="" data-linenumber="
|
1646
|
+
<li class="never" data-hits="" data-linenumber="62">
|
1671
1647
|
|
1672
1648
|
|
1673
1649
|
<code class="ruby"> end</code>
|
1674
1650
|
</li>
|
1675
1651
|
|
1676
|
-
<li class="never" data-hits="" data-linenumber="
|
1652
|
+
<li class="never" data-hits="" data-linenumber="63">
|
1677
1653
|
|
1678
1654
|
|
1679
1655
|
<code class="ruby"> end</code>
|
1680
1656
|
</li>
|
1681
1657
|
|
1682
|
-
<li class="never" data-hits="" data-linenumber="
|
1658
|
+
<li class="never" data-hits="" data-linenumber="64">
|
1683
1659
|
|
1684
1660
|
|
1685
1661
|
<code class="ruby">end</code>
|
@@ -1693,11 +1669,11 @@
|
|
1693
1669
|
<div class="source_table" id="10dfdb14e321a7bb364075307e5a80a2a62317af">
|
1694
1670
|
<div class="header">
|
1695
1671
|
<h3>lib/venice/receipt.rb</h3>
|
1696
|
-
<h4><span class="red">
|
1672
|
+
<h4><span class="red">72.5 %</span> covered</h4>
|
1697
1673
|
<div>
|
1698
|
-
<b>
|
1699
|
-
<span class="green"><b>
|
1700
|
-
<span class="red"><b>
|
1674
|
+
<b>80</b> relevant lines.
|
1675
|
+
<span class="green"><b>58</b> lines covered</span> and
|
1676
|
+
<span class="red"><b>22</b> lines missed.</span>
|
1701
1677
|
</div>
|
1702
1678
|
</div>
|
1703
1679
|
|
@@ -1944,8 +1920,8 @@
|
|
1944
1920
|
<code class="ruby"> def initialize(attributes = {})</code>
|
1945
1921
|
</li>
|
1946
1922
|
|
1947
|
-
<li class="covered" data-hits="
|
1948
|
-
<span class="hits">
|
1923
|
+
<li class="covered" data-hits="8" data-linenumber="41">
|
1924
|
+
<span class="hits">8</span>
|
1949
1925
|
|
1950
1926
|
<code class="ruby"> @original_json_response = attributes['original_json_response']</code>
|
1951
1927
|
</li>
|
@@ -1956,26 +1932,26 @@
|
|
1956
1932
|
<code class="ruby"></code>
|
1957
1933
|
</li>
|
1958
1934
|
|
1959
|
-
<li class="covered" data-hits="
|
1960
|
-
<span class="hits">
|
1935
|
+
<li class="covered" data-hits="8" data-linenumber="43">
|
1936
|
+
<span class="hits">8</span>
|
1961
1937
|
|
1962
1938
|
<code class="ruby"> @bundle_id = attributes['bundle_id']</code>
|
1963
1939
|
</li>
|
1964
1940
|
|
1965
|
-
<li class="covered" data-hits="
|
1966
|
-
<span class="hits">
|
1941
|
+
<li class="covered" data-hits="8" data-linenumber="44">
|
1942
|
+
<span class="hits">8</span>
|
1967
1943
|
|
1968
1944
|
<code class="ruby"> @application_version = attributes['application_version']</code>
|
1969
1945
|
</li>
|
1970
1946
|
|
1971
|
-
<li class="covered" data-hits="
|
1972
|
-
<span class="hits">
|
1947
|
+
<li class="covered" data-hits="8" data-linenumber="45">
|
1948
|
+
<span class="hits">8</span>
|
1973
1949
|
|
1974
1950
|
<code class="ruby"> @original_application_version = attributes['original_application_version']</code>
|
1975
1951
|
</li>
|
1976
1952
|
|
1977
|
-
<li class="covered" data-hits="
|
1978
|
-
<span class="hits">
|
1953
|
+
<li class="covered" data-hits="8" data-linenumber="46">
|
1954
|
+
<span class="hits">8</span>
|
1979
1955
|
|
1980
1956
|
<code class="ruby"> if attributes['original_purchase_date']</code>
|
1981
1957
|
</li>
|
@@ -1992,8 +1968,8 @@
|
|
1992
1968
|
<code class="ruby"> end</code>
|
1993
1969
|
</li>
|
1994
1970
|
|
1995
|
-
<li class="covered" data-hits="
|
1996
|
-
<span class="hits">
|
1971
|
+
<li class="covered" data-hits="8" data-linenumber="49">
|
1972
|
+
<span class="hits">8</span>
|
1997
1973
|
|
1998
1974
|
<code class="ruby"> if attributes['expiration_date']</code>
|
1999
1975
|
</li>
|
@@ -2016,26 +1992,26 @@
|
|
2016
1992
|
<code class="ruby"></code>
|
2017
1993
|
</li>
|
2018
1994
|
|
2019
|
-
<li class="covered" data-hits="
|
2020
|
-
<span class="hits">
|
1995
|
+
<li class="covered" data-hits="8" data-linenumber="53">
|
1996
|
+
<span class="hits">8</span>
|
2021
1997
|
|
2022
1998
|
<code class="ruby"> @receipt_type = attributes['receipt_type']</code>
|
2023
1999
|
</li>
|
2024
2000
|
|
2025
|
-
<li class="covered" data-hits="
|
2026
|
-
<span class="hits">
|
2001
|
+
<li class="covered" data-hits="8" data-linenumber="54">
|
2002
|
+
<span class="hits">8</span>
|
2027
2003
|
|
2028
2004
|
<code class="ruby"> @adam_id = attributes['adam_id']</code>
|
2029
2005
|
</li>
|
2030
2006
|
|
2031
|
-
<li class="covered" data-hits="
|
2032
|
-
<span class="hits">
|
2007
|
+
<li class="covered" data-hits="8" data-linenumber="55">
|
2008
|
+
<span class="hits">8</span>
|
2033
2009
|
|
2034
2010
|
<code class="ruby"> @download_id = attributes['download_id']</code>
|
2035
2011
|
</li>
|
2036
2012
|
|
2037
|
-
<li class="covered" data-hits="
|
2038
|
-
<span class="hits">
|
2013
|
+
<li class="covered" data-hits="8" data-linenumber="56">
|
2014
|
+
<span class="hits">8</span>
|
2039
2015
|
|
2040
2016
|
<code class="ruby"> @requested_at = DateTime.parse(attributes['request_date']) if attributes['request_date']</code>
|
2041
2017
|
</li>
|
@@ -2046,14 +2022,14 @@
|
|
2046
2022
|
<code class="ruby"></code>
|
2047
2023
|
</li>
|
2048
2024
|
|
2049
|
-
<li class="covered" data-hits="
|
2050
|
-
<span class="hits">
|
2025
|
+
<li class="covered" data-hits="8" data-linenumber="58">
|
2026
|
+
<span class="hits">8</span>
|
2051
2027
|
|
2052
2028
|
<code class="ruby"> @in_app = []</code>
|
2053
2029
|
</li>
|
2054
2030
|
|
2055
|
-
<li class="covered" data-hits="
|
2056
|
-
<span class="hits">
|
2031
|
+
<li class="covered" data-hits="8" data-linenumber="59">
|
2032
|
+
<span class="hits">8</span>
|
2057
2033
|
|
2058
2034
|
<code class="ruby"> if attributes['in_app']</code>
|
2059
2035
|
</li>
|
@@ -2088,14 +2064,14 @@
|
|
2088
2064
|
<code class="ruby"></code>
|
2089
2065
|
</li>
|
2090
2066
|
|
2091
|
-
<li class="covered" data-hits="
|
2092
|
-
<span class="hits">
|
2067
|
+
<li class="covered" data-hits="8" data-linenumber="65">
|
2068
|
+
<span class="hits">8</span>
|
2093
2069
|
|
2094
2070
|
<code class="ruby"> @pending_renewal_info = []</code>
|
2095
2071
|
</li>
|
2096
2072
|
|
2097
|
-
<li class="covered" data-hits="
|
2098
|
-
<span class="hits">
|
2073
|
+
<li class="covered" data-hits="8" data-linenumber="66">
|
2074
|
+
<span class="hits">8</span>
|
2099
2075
|
|
2100
2076
|
<code class="ruby"> if original_json_response && original_json_response['pending_renewal_info']</code>
|
2101
2077
|
</li>
|
@@ -2127,534 +2103,540 @@
|
|
2127
2103
|
<li class="never" data-hits="" data-linenumber="71">
|
2128
2104
|
|
2129
2105
|
|
2130
|
-
<code class="ruby"></code>
|
2131
|
-
</li>
|
2132
|
-
|
2133
|
-
<li class="never" data-hits="" data-linenumber="72">
|
2134
|
-
|
2135
|
-
|
2136
2106
|
<code class="ruby"> end</code>
|
2137
2107
|
</li>
|
2138
2108
|
|
2139
|
-
<li class="never" data-hits="" data-linenumber="
|
2109
|
+
<li class="never" data-hits="" data-linenumber="72">
|
2140
2110
|
|
2141
2111
|
|
2142
2112
|
<code class="ruby"></code>
|
2143
2113
|
</li>
|
2144
2114
|
|
2145
|
-
<li class="covered" data-hits="1" data-linenumber="
|
2115
|
+
<li class="covered" data-hits="1" data-linenumber="73">
|
2146
2116
|
<span class="hits">1</span>
|
2147
2117
|
|
2148
2118
|
<code class="ruby"> def to_hash</code>
|
2149
2119
|
</li>
|
2150
2120
|
|
2151
|
-
<li class="never" data-hits="" data-linenumber="
|
2121
|
+
<li class="never" data-hits="" data-linenumber="74">
|
2152
2122
|
|
2153
2123
|
|
2154
2124
|
<code class="ruby"> {</code>
|
2155
2125
|
</li>
|
2156
2126
|
|
2157
|
-
<li class="never" data-hits="" data-linenumber="
|
2127
|
+
<li class="never" data-hits="" data-linenumber="75">
|
2158
2128
|
|
2159
2129
|
|
2160
|
-
<code class="ruby"> :
|
2130
|
+
<code class="ruby"> bundle_id: @bundle_id,</code>
|
2161
2131
|
</li>
|
2162
2132
|
|
2163
|
-
<li class="never" data-hits="" data-linenumber="
|
2133
|
+
<li class="never" data-hits="" data-linenumber="76">
|
2164
2134
|
|
2165
2135
|
|
2166
|
-
<code class="ruby"> :
|
2136
|
+
<code class="ruby"> application_version: @application_version,</code>
|
2167
2137
|
</li>
|
2168
2138
|
|
2169
|
-
<li class="never" data-hits="" data-linenumber="
|
2139
|
+
<li class="never" data-hits="" data-linenumber="77">
|
2170
2140
|
|
2171
2141
|
|
2172
|
-
<code class="ruby"> :
|
2142
|
+
<code class="ruby"> original_application_version: @original_application_version,</code>
|
2173
2143
|
</li>
|
2174
2144
|
|
2175
|
-
<li class="covered" data-hits="1" data-linenumber="
|
2145
|
+
<li class="covered" data-hits="1" data-linenumber="78">
|
2176
2146
|
<span class="hits">1</span>
|
2177
2147
|
|
2178
|
-
<code class="ruby"> :
|
2148
|
+
<code class="ruby"> original_purchase_date: (@original_purchase_date.httpdate rescue nil),</code>
|
2179
2149
|
</li>
|
2180
2150
|
|
2181
|
-
<li class="covered" data-hits="1" data-linenumber="
|
2151
|
+
<li class="covered" data-hits="1" data-linenumber="79">
|
2182
2152
|
<span class="hits">1</span>
|
2183
2153
|
|
2184
|
-
<code class="ruby"> :
|
2154
|
+
<code class="ruby"> expires_at: (@expires_at.httpdate rescue nil),</code>
|
2185
2155
|
</li>
|
2186
2156
|
|
2187
|
-
<li class="never" data-hits="" data-linenumber="
|
2157
|
+
<li class="never" data-hits="" data-linenumber="80">
|
2188
2158
|
|
2189
2159
|
|
2190
|
-
<code class="ruby"> :
|
2160
|
+
<code class="ruby"> receipt_type: @receipt_type,</code>
|
2191
2161
|
</li>
|
2192
2162
|
|
2193
|
-
<li class="never" data-hits="" data-linenumber="
|
2163
|
+
<li class="never" data-hits="" data-linenumber="81">
|
2194
2164
|
|
2195
2165
|
|
2196
|
-
<code class="ruby"> :
|
2166
|
+
<code class="ruby"> adam_id: @adam_id,</code>
|
2197
2167
|
</li>
|
2198
2168
|
|
2199
|
-
<li class="never" data-hits="" data-linenumber="
|
2169
|
+
<li class="never" data-hits="" data-linenumber="82">
|
2200
2170
|
|
2201
2171
|
|
2202
|
-
<code class="ruby"> :
|
2172
|
+
<code class="ruby"> download_id: @download_id,</code>
|
2203
2173
|
</li>
|
2204
2174
|
|
2205
|
-
<li class="covered" data-hits="1" data-linenumber="
|
2175
|
+
<li class="covered" data-hits="1" data-linenumber="83">
|
2206
2176
|
<span class="hits">1</span>
|
2207
2177
|
|
2208
|
-
<code class="ruby"> :
|
2178
|
+
<code class="ruby"> requested_at: (@requested_at.httpdate rescue nil),</code>
|
2209
2179
|
</li>
|
2210
2180
|
|
2211
|
-
<li class="
|
2212
|
-
|
2181
|
+
<li class="never" data-hits="" data-linenumber="84">
|
2182
|
+
|
2213
2183
|
|
2214
|
-
<code class="ruby"> :
|
2184
|
+
<code class="ruby"> in_app: @in_app.map(&:to_h),</code>
|
2215
2185
|
</li>
|
2216
2186
|
|
2217
|
-
<li class="
|
2218
|
-
|
2187
|
+
<li class="never" data-hits="" data-linenumber="85">
|
2188
|
+
|
2219
2189
|
|
2220
|
-
<code class="ruby"> :
|
2190
|
+
<code class="ruby"> pending_renewal_info: @pending_renewal_info.map(&:to_h),</code>
|
2221
2191
|
</li>
|
2222
2192
|
|
2223
|
-
<li class="never" data-hits="" data-linenumber="
|
2193
|
+
<li class="never" data-hits="" data-linenumber="86">
|
2224
2194
|
|
2225
2195
|
|
2226
|
-
<code class="ruby"> :
|
2196
|
+
<code class="ruby"> latest_receipt_info: @latest_receipt_info</code>
|
2227
2197
|
</li>
|
2228
2198
|
|
2229
|
-
<li class="covered" data-hits="1" data-linenumber="
|
2199
|
+
<li class="covered" data-hits="1" data-linenumber="87">
|
2230
2200
|
<span class="hits">1</span>
|
2231
2201
|
|
2232
2202
|
<code class="ruby"> }</code>
|
2233
2203
|
</li>
|
2234
2204
|
|
2235
|
-
<li class="never" data-hits="" data-linenumber="
|
2205
|
+
<li class="never" data-hits="" data-linenumber="88">
|
2236
2206
|
|
2237
2207
|
|
2238
2208
|
<code class="ruby"> end</code>
|
2239
2209
|
</li>
|
2240
2210
|
|
2241
|
-
<li class="covered" data-hits="1" data-linenumber="
|
2211
|
+
<li class="covered" data-hits="1" data-linenumber="89">
|
2242
2212
|
<span class="hits">1</span>
|
2243
2213
|
|
2244
2214
|
<code class="ruby"> alias_method :to_h, :to_hash</code>
|
2245
2215
|
</li>
|
2246
2216
|
|
2247
|
-
<li class="never" data-hits="" data-linenumber="
|
2217
|
+
<li class="never" data-hits="" data-linenumber="90">
|
2248
2218
|
|
2249
2219
|
|
2250
2220
|
<code class="ruby"></code>
|
2251
2221
|
</li>
|
2252
2222
|
|
2253
|
-
<li class="covered" data-hits="1" data-linenumber="
|
2223
|
+
<li class="covered" data-hits="1" data-linenumber="91">
|
2254
2224
|
<span class="hits">1</span>
|
2255
2225
|
|
2256
2226
|
<code class="ruby"> def to_json</code>
|
2257
2227
|
</li>
|
2258
2228
|
|
2259
|
-
<li class="missed" data-hits="0" data-linenumber="
|
2229
|
+
<li class="missed" data-hits="0" data-linenumber="92">
|
2260
2230
|
|
2261
2231
|
|
2262
|
-
<code class="ruby">
|
2232
|
+
<code class="ruby"> to_hash.to_json</code>
|
2263
2233
|
</li>
|
2264
2234
|
|
2265
|
-
<li class="never" data-hits="" data-linenumber="
|
2235
|
+
<li class="never" data-hits="" data-linenumber="93">
|
2266
2236
|
|
2267
2237
|
|
2268
2238
|
<code class="ruby"> end</code>
|
2269
2239
|
</li>
|
2270
2240
|
|
2271
|
-
<li class="never" data-hits="" data-linenumber="
|
2241
|
+
<li class="never" data-hits="" data-linenumber="94">
|
2272
2242
|
|
2273
2243
|
|
2274
2244
|
<code class="ruby"></code>
|
2275
2245
|
</li>
|
2276
2246
|
|
2277
|
-
<li class="covered" data-hits="1" data-linenumber="
|
2247
|
+
<li class="covered" data-hits="1" data-linenumber="95">
|
2278
2248
|
<span class="hits">1</span>
|
2279
2249
|
|
2280
2250
|
<code class="ruby"> class << self</code>
|
2281
2251
|
</li>
|
2282
2252
|
|
2283
|
-
<li class="covered" data-hits="1" data-linenumber="
|
2253
|
+
<li class="covered" data-hits="1" data-linenumber="96">
|
2284
2254
|
<span class="hits">1</span>
|
2285
2255
|
|
2286
2256
|
<code class="ruby"> def verify(data, options = {})</code>
|
2287
2257
|
</li>
|
2288
2258
|
|
2289
|
-
<li class="covered" data-hits="1" data-linenumber="
|
2259
|
+
<li class="covered" data-hits="1" data-linenumber="97">
|
2290
2260
|
<span class="hits">1</span>
|
2291
2261
|
|
2292
2262
|
<code class="ruby"> verify!(data, options) rescue false</code>
|
2293
2263
|
</li>
|
2294
2264
|
|
2295
|
-
<li class="never" data-hits="" data-linenumber="
|
2265
|
+
<li class="never" data-hits="" data-linenumber="98">
|
2296
2266
|
|
2297
2267
|
|
2298
2268
|
<code class="ruby"> end</code>
|
2299
2269
|
</li>
|
2300
2270
|
|
2301
|
-
<li class="never" data-hits="" data-linenumber="
|
2271
|
+
<li class="never" data-hits="" data-linenumber="99">
|
2302
2272
|
|
2303
2273
|
|
2304
2274
|
<code class="ruby"></code>
|
2305
2275
|
</li>
|
2306
2276
|
|
2307
|
-
<li class="covered" data-hits="1" data-linenumber="
|
2277
|
+
<li class="covered" data-hits="1" data-linenumber="100">
|
2308
2278
|
<span class="hits">1</span>
|
2309
2279
|
|
2310
2280
|
<code class="ruby"> def verify!(data, options = {})</code>
|
2311
2281
|
</li>
|
2312
2282
|
|
2313
|
-
<li class="covered" data-hits="1" data-linenumber="
|
2283
|
+
<li class="covered" data-hits="1" data-linenumber="101">
|
2314
2284
|
<span class="hits">1</span>
|
2315
2285
|
|
2316
2286
|
<code class="ruby"> client = Client.production</code>
|
2317
2287
|
</li>
|
2318
2288
|
|
2319
|
-
<li class="never" data-hits="" data-linenumber="
|
2289
|
+
<li class="never" data-hits="" data-linenumber="102">
|
2320
2290
|
|
2321
2291
|
|
2322
2292
|
<code class="ruby"></code>
|
2323
2293
|
</li>
|
2324
2294
|
|
2325
|
-
<li class="covered" data-hits="1" data-linenumber="
|
2295
|
+
<li class="covered" data-hits="1" data-linenumber="103">
|
2326
2296
|
<span class="hits">1</span>
|
2327
2297
|
|
2328
2298
|
<code class="ruby"> begin</code>
|
2329
2299
|
</li>
|
2330
2300
|
|
2331
|
-
<li class="covered" data-hits="1" data-linenumber="
|
2301
|
+
<li class="covered" data-hits="1" data-linenumber="104">
|
2332
2302
|
<span class="hits">1</span>
|
2333
2303
|
|
2334
2304
|
<code class="ruby"> client.verify!(data, options)</code>
|
2335
2305
|
</li>
|
2336
2306
|
|
2337
|
-
<li class="missed" data-hits="0" data-linenumber="
|
2307
|
+
<li class="missed" data-hits="0" data-linenumber="105">
|
2338
2308
|
|
2339
2309
|
|
2340
2310
|
<code class="ruby"> rescue VerificationError => error</code>
|
2341
2311
|
</li>
|
2342
2312
|
|
2343
|
-
<li class="missed" data-hits="0" data-linenumber="
|
2313
|
+
<li class="missed" data-hits="0" data-linenumber="106">
|
2344
2314
|
|
2345
2315
|
|
2346
2316
|
<code class="ruby"> case error.code</code>
|
2347
2317
|
</li>
|
2348
2318
|
|
2349
|
-
<li class="never" data-hits="" data-linenumber="
|
2319
|
+
<li class="never" data-hits="" data-linenumber="107">
|
2350
2320
|
|
2351
2321
|
|
2352
2322
|
<code class="ruby"> when 21007</code>
|
2353
2323
|
</li>
|
2354
2324
|
|
2355
|
-
<li class="missed" data-hits="0" data-linenumber="
|
2325
|
+
<li class="missed" data-hits="0" data-linenumber="108">
|
2356
2326
|
|
2357
2327
|
|
2358
2328
|
<code class="ruby"> client = Client.development</code>
|
2359
2329
|
</li>
|
2360
2330
|
|
2361
|
-
<li class="missed" data-hits="0" data-linenumber="
|
2331
|
+
<li class="missed" data-hits="0" data-linenumber="109">
|
2362
2332
|
|
2363
2333
|
|
2364
2334
|
<code class="ruby"> retry</code>
|
2365
2335
|
</li>
|
2366
2336
|
|
2367
|
-
<li class="never" data-hits="" data-linenumber="
|
2337
|
+
<li class="never" data-hits="" data-linenumber="110">
|
2368
2338
|
|
2369
2339
|
|
2370
2340
|
<code class="ruby"> when 21008</code>
|
2371
2341
|
</li>
|
2372
2342
|
|
2373
|
-
<li class="missed" data-hits="0" data-linenumber="
|
2343
|
+
<li class="missed" data-hits="0" data-linenumber="111">
|
2374
2344
|
|
2375
2345
|
|
2376
2346
|
<code class="ruby"> client = Client.production</code>
|
2377
2347
|
</li>
|
2378
2348
|
|
2379
|
-
<li class="missed" data-hits="0" data-linenumber="
|
2349
|
+
<li class="missed" data-hits="0" data-linenumber="112">
|
2380
2350
|
|
2381
2351
|
|
2382
2352
|
<code class="ruby"> retry</code>
|
2383
2353
|
</li>
|
2384
2354
|
|
2385
|
-
<li class="never" data-hits="" data-linenumber="
|
2355
|
+
<li class="never" data-hits="" data-linenumber="113">
|
2386
2356
|
|
2387
2357
|
|
2388
2358
|
<code class="ruby"> else</code>
|
2389
2359
|
</li>
|
2390
2360
|
|
2391
|
-
<li class="missed" data-hits="0" data-linenumber="
|
2361
|
+
<li class="missed" data-hits="0" data-linenumber="114">
|
2392
2362
|
|
2393
2363
|
|
2394
2364
|
<code class="ruby"> raise error</code>
|
2395
2365
|
</li>
|
2396
2366
|
|
2397
|
-
<li class="never" data-hits="" data-linenumber="
|
2367
|
+
<li class="never" data-hits="" data-linenumber="115">
|
2398
2368
|
|
2399
2369
|
|
2400
2370
|
<code class="ruby"> end</code>
|
2401
2371
|
</li>
|
2402
2372
|
|
2403
|
-
<li class="never" data-hits="" data-linenumber="
|
2373
|
+
<li class="never" data-hits="" data-linenumber="116">
|
2404
2374
|
|
2405
2375
|
|
2406
2376
|
<code class="ruby"> end</code>
|
2407
2377
|
</li>
|
2408
2378
|
|
2409
|
-
<li class="never" data-hits="" data-linenumber="
|
2379
|
+
<li class="never" data-hits="" data-linenumber="117">
|
2410
2380
|
|
2411
2381
|
|
2412
2382
|
<code class="ruby"> end</code>
|
2413
2383
|
</li>
|
2414
2384
|
|
2415
|
-
<li class="never" data-hits="" data-linenumber="
|
2385
|
+
<li class="never" data-hits="" data-linenumber="118">
|
2416
2386
|
|
2417
2387
|
|
2418
2388
|
<code class="ruby"></code>
|
2419
2389
|
</li>
|
2420
2390
|
|
2421
|
-
<li class="covered" data-hits="1" data-linenumber="
|
2391
|
+
<li class="covered" data-hits="1" data-linenumber="119">
|
2422
2392
|
<span class="hits">1</span>
|
2423
2393
|
|
2424
2394
|
<code class="ruby"> alias :validate :verify</code>
|
2425
2395
|
</li>
|
2426
2396
|
|
2427
|
-
<li class="covered" data-hits="1" data-linenumber="
|
2397
|
+
<li class="covered" data-hits="1" data-linenumber="120">
|
2428
2398
|
<span class="hits">1</span>
|
2429
2399
|
|
2430
2400
|
<code class="ruby"> alias :validate! :verify!</code>
|
2431
2401
|
</li>
|
2432
2402
|
|
2433
|
-
<li class="never" data-hits="" data-linenumber="
|
2403
|
+
<li class="never" data-hits="" data-linenumber="121">
|
2434
2404
|
|
2435
2405
|
|
2436
2406
|
<code class="ruby"> end</code>
|
2437
2407
|
</li>
|
2438
2408
|
|
2439
|
-
<li class="never" data-hits="" data-linenumber="
|
2409
|
+
<li class="never" data-hits="" data-linenumber="122">
|
2440
2410
|
|
2441
2411
|
|
2442
2412
|
<code class="ruby"></code>
|
2443
2413
|
</li>
|
2444
2414
|
|
2445
|
-
<li class="covered" data-hits="1" data-linenumber="
|
2415
|
+
<li class="covered" data-hits="1" data-linenumber="123">
|
2446
2416
|
<span class="hits">1</span>
|
2447
2417
|
|
2448
2418
|
<code class="ruby"> class VerificationError < StandardError</code>
|
2449
2419
|
</li>
|
2450
2420
|
|
2451
|
-
<li class="covered" data-hits="1" data-linenumber="
|
2421
|
+
<li class="covered" data-hits="1" data-linenumber="124">
|
2452
2422
|
<span class="hits">1</span>
|
2453
2423
|
|
2454
2424
|
<code class="ruby"> attr_accessor :code</code>
|
2455
2425
|
</li>
|
2456
2426
|
|
2457
|
-
<li class="covered" data-hits="1" data-linenumber="
|
2427
|
+
<li class="covered" data-hits="1" data-linenumber="125">
|
2458
2428
|
<span class="hits">1</span>
|
2459
2429
|
|
2460
2430
|
<code class="ruby"> attr_accessor :receipt</code>
|
2461
2431
|
</li>
|
2462
2432
|
|
2463
|
-
<li class="never" data-hits="" data-linenumber="
|
2433
|
+
<li class="never" data-hits="" data-linenumber="126">
|
2464
2434
|
|
2465
2435
|
|
2466
2436
|
<code class="ruby"></code>
|
2467
2437
|
</li>
|
2468
2438
|
|
2469
|
-
<li class="covered" data-hits="1" data-linenumber="
|
2439
|
+
<li class="covered" data-hits="1" data-linenumber="127">
|
2470
2440
|
<span class="hits">1</span>
|
2471
2441
|
|
2472
2442
|
<code class="ruby"> def initialize(code, receipt)</code>
|
2473
2443
|
</li>
|
2474
2444
|
|
2475
|
-
<li class="missed" data-hits="0" data-linenumber="
|
2445
|
+
<li class="missed" data-hits="0" data-linenumber="128">
|
2476
2446
|
|
2477
2447
|
|
2478
2448
|
<code class="ruby"> @code = Integer(code)</code>
|
2479
2449
|
</li>
|
2480
2450
|
|
2481
|
-
<li class="missed" data-hits="0" data-linenumber="
|
2451
|
+
<li class="missed" data-hits="0" data-linenumber="129">
|
2482
2452
|
|
2483
2453
|
|
2484
2454
|
<code class="ruby"> @receipt = receipt</code>
|
2485
2455
|
</li>
|
2486
2456
|
|
2487
|
-
<li class="never" data-hits="" data-linenumber="
|
2457
|
+
<li class="never" data-hits="" data-linenumber="130">
|
2488
2458
|
|
2489
2459
|
|
2490
2460
|
<code class="ruby"> end</code>
|
2491
2461
|
</li>
|
2492
2462
|
|
2493
|
-
<li class="never" data-hits="" data-linenumber="
|
2463
|
+
<li class="never" data-hits="" data-linenumber="131">
|
2494
2464
|
|
2495
2465
|
|
2496
2466
|
<code class="ruby"></code>
|
2497
2467
|
</li>
|
2498
2468
|
|
2499
|
-
<li class="covered" data-hits="1" data-linenumber="
|
2469
|
+
<li class="covered" data-hits="1" data-linenumber="132">
|
2500
2470
|
<span class="hits">1</span>
|
2501
2471
|
|
2502
2472
|
<code class="ruby"> def message</code>
|
2503
2473
|
</li>
|
2504
2474
|
|
2505
|
-
<li class="missed" data-hits="0" data-linenumber="
|
2475
|
+
<li class="missed" data-hits="0" data-linenumber="133">
|
2506
2476
|
|
2507
2477
|
|
2508
2478
|
<code class="ruby"> case @code</code>
|
2509
2479
|
</li>
|
2510
2480
|
|
2511
|
-
<li class="never" data-hits="" data-linenumber="
|
2481
|
+
<li class="never" data-hits="" data-linenumber="134">
|
2512
2482
|
|
2513
2483
|
|
2514
|
-
<code class="ruby">
|
2484
|
+
<code class="ruby"> when 21000</code>
|
2515
2485
|
</li>
|
2516
2486
|
|
2517
|
-
<li class="missed" data-hits="0" data-linenumber="
|
2487
|
+
<li class="missed" data-hits="0" data-linenumber="135">
|
2518
2488
|
|
2519
2489
|
|
2520
|
-
<code class="ruby">
|
2490
|
+
<code class="ruby"> 'The App Store could not read the JSON object you provided.'</code>
|
2521
2491
|
</li>
|
2522
2492
|
|
2523
|
-
<li class="never" data-hits="" data-linenumber="
|
2493
|
+
<li class="never" data-hits="" data-linenumber="136">
|
2524
2494
|
|
2525
2495
|
|
2526
|
-
<code class="ruby">
|
2496
|
+
<code class="ruby"> when 21002</code>
|
2527
2497
|
</li>
|
2528
2498
|
|
2529
|
-
<li class="missed" data-hits="0" data-linenumber="
|
2499
|
+
<li class="missed" data-hits="0" data-linenumber="137">
|
2530
2500
|
|
2531
2501
|
|
2532
|
-
<code class="ruby">
|
2502
|
+
<code class="ruby"> 'The data in the receipt-data property was malformed.'</code>
|
2533
2503
|
</li>
|
2534
2504
|
|
2535
|
-
<li class="never" data-hits="" data-linenumber="
|
2505
|
+
<li class="never" data-hits="" data-linenumber="138">
|
2536
2506
|
|
2537
2507
|
|
2538
|
-
<code class="ruby">
|
2508
|
+
<code class="ruby"> when 21003</code>
|
2539
2509
|
</li>
|
2540
2510
|
|
2541
|
-
<li class="missed" data-hits="0" data-linenumber="
|
2511
|
+
<li class="missed" data-hits="0" data-linenumber="139">
|
2542
2512
|
|
2543
2513
|
|
2544
|
-
<code class="ruby">
|
2514
|
+
<code class="ruby"> 'The receipt could not be authenticated.'</code>
|
2545
2515
|
</li>
|
2546
2516
|
|
2547
|
-
<li class="never" data-hits="" data-linenumber="
|
2517
|
+
<li class="never" data-hits="" data-linenumber="140">
|
2548
2518
|
|
2549
2519
|
|
2550
|
-
<code class="ruby">
|
2520
|
+
<code class="ruby"> when 21004</code>
|
2551
2521
|
</li>
|
2552
2522
|
|
2553
|
-
<li class="missed" data-hits="0" data-linenumber="
|
2523
|
+
<li class="missed" data-hits="0" data-linenumber="141">
|
2554
2524
|
|
2555
2525
|
|
2556
|
-
<code class="ruby">
|
2526
|
+
<code class="ruby"> 'The shared secret you provided does not match the shared secret on file for your account.'</code>
|
2557
2527
|
</li>
|
2558
2528
|
|
2559
|
-
<li class="never" data-hits="" data-linenumber="
|
2529
|
+
<li class="never" data-hits="" data-linenumber="142">
|
2560
2530
|
|
2561
2531
|
|
2562
|
-
<code class="ruby">
|
2532
|
+
<code class="ruby"> when 21005</code>
|
2563
2533
|
</li>
|
2564
2534
|
|
2565
|
-
<li class="missed" data-hits="0" data-linenumber="
|
2535
|
+
<li class="missed" data-hits="0" data-linenumber="143">
|
2566
2536
|
|
2567
2537
|
|
2568
|
-
<code class="ruby">
|
2538
|
+
<code class="ruby"> 'The receipt server is not currently available.'</code>
|
2569
2539
|
</li>
|
2570
2540
|
|
2571
|
-
<li class="never" data-hits="" data-linenumber="
|
2541
|
+
<li class="never" data-hits="" data-linenumber="144">
|
2572
2542
|
|
2573
2543
|
|
2574
|
-
<code class="ruby">
|
2544
|
+
<code class="ruby"> when 21006</code>
|
2575
2545
|
</li>
|
2576
2546
|
|
2577
|
-
<li class="missed" data-hits="0" data-linenumber="
|
2547
|
+
<li class="missed" data-hits="0" data-linenumber="145">
|
2578
2548
|
|
2579
2549
|
|
2580
|
-
<code class="ruby">
|
2550
|
+
<code class="ruby"> 'This receipt is valid but the subscription has expired. When this status code is returned to your server, the receipt data is also decoded and returned as part of the response.'</code>
|
2581
2551
|
</li>
|
2582
2552
|
|
2583
|
-
<li class="never" data-hits="" data-linenumber="
|
2553
|
+
<li class="never" data-hits="" data-linenumber="146">
|
2584
2554
|
|
2585
2555
|
|
2586
|
-
<code class="ruby">
|
2556
|
+
<code class="ruby"> when 21007</code>
|
2587
2557
|
</li>
|
2588
2558
|
|
2589
|
-
<li class="missed" data-hits="0" data-linenumber="
|
2559
|
+
<li class="missed" data-hits="0" data-linenumber="147">
|
2590
2560
|
|
2591
2561
|
|
2592
|
-
<code class="ruby">
|
2562
|
+
<code class="ruby"> 'This receipt is a sandbox receipt, but it was sent to the production service for verification.'</code>
|
2593
2563
|
</li>
|
2594
2564
|
|
2595
|
-
<li class="never" data-hits="" data-linenumber="
|
2565
|
+
<li class="never" data-hits="" data-linenumber="148">
|
2596
2566
|
|
2597
2567
|
|
2598
|
-
<code class="ruby">
|
2568
|
+
<code class="ruby"> when 21008</code>
|
2599
2569
|
</li>
|
2600
2570
|
|
2601
|
-
<li class="missed" data-hits="0" data-linenumber="
|
2571
|
+
<li class="missed" data-hits="0" data-linenumber="149">
|
2602
2572
|
|
2603
2573
|
|
2604
|
-
<code class="ruby">
|
2574
|
+
<code class="ruby"> 'This receipt is a production receipt, but it was sent to the sandbox service for verification.'</code>
|
2605
2575
|
</li>
|
2606
2576
|
|
2607
|
-
<li class="never" data-hits="" data-linenumber="
|
2577
|
+
<li class="never" data-hits="" data-linenumber="150">
|
2608
2578
|
|
2609
2579
|
|
2610
|
-
<code class="ruby">
|
2580
|
+
<code class="ruby"> when 21010</code>
|
2611
2581
|
</li>
|
2612
2582
|
|
2613
|
-
<li class="missed" data-hits="0" data-linenumber="
|
2583
|
+
<li class="missed" data-hits="0" data-linenumber="151">
|
2614
2584
|
|
2615
2585
|
|
2616
|
-
<code class="ruby">
|
2586
|
+
<code class="ruby"> 'This receipt could not be authorized. Treat this the same as if a purchase was never made.'</code>
|
2617
2587
|
</li>
|
2618
2588
|
|
2619
|
-
<li class="never" data-hits="" data-linenumber="
|
2589
|
+
<li class="never" data-hits="" data-linenumber="152">
|
2620
2590
|
|
2621
2591
|
|
2622
|
-
<code class="ruby">
|
2592
|
+
<code class="ruby"> when 21100..21199</code>
|
2623
2593
|
</li>
|
2624
2594
|
|
2625
|
-
<li class="missed" data-hits="0" data-linenumber="
|
2595
|
+
<li class="missed" data-hits="0" data-linenumber="153">
|
2626
2596
|
|
2627
2597
|
|
2628
|
-
<code class="ruby">
|
2598
|
+
<code class="ruby"> 'Internal data access error.'</code>
|
2629
2599
|
</li>
|
2630
2600
|
|
2631
|
-
<li class="never" data-hits="" data-linenumber="
|
2601
|
+
<li class="never" data-hits="" data-linenumber="154">
|
2632
2602
|
|
2633
2603
|
|
2634
|
-
<code class="ruby">
|
2604
|
+
<code class="ruby"> else</code>
|
2605
|
+
</li>
|
2606
|
+
|
2607
|
+
<li class="missed" data-hits="0" data-linenumber="155">
|
2608
|
+
|
2609
|
+
|
2610
|
+
<code class="ruby"> "Unknown Error: #{@code}"</code>
|
2635
2611
|
</li>
|
2636
2612
|
|
2637
2613
|
<li class="never" data-hits="" data-linenumber="156">
|
2638
2614
|
|
2639
2615
|
|
2640
|
-
<code class="ruby">
|
2616
|
+
<code class="ruby"> end</code>
|
2641
2617
|
</li>
|
2642
2618
|
|
2643
2619
|
<li class="never" data-hits="" data-linenumber="157">
|
2644
2620
|
|
2645
2621
|
|
2646
|
-
<code class="ruby">
|
2622
|
+
<code class="ruby"> end</code>
|
2647
2623
|
</li>
|
2648
2624
|
|
2649
2625
|
<li class="never" data-hits="" data-linenumber="158">
|
2650
2626
|
|
2651
2627
|
|
2652
|
-
<code class="ruby">
|
2628
|
+
<code class="ruby"> end</code>
|
2653
2629
|
</li>
|
2654
2630
|
|
2655
2631
|
<li class="never" data-hits="" data-linenumber="159">
|
2656
2632
|
|
2657
2633
|
|
2634
|
+
<code class="ruby"> end</code>
|
2635
|
+
</li>
|
2636
|
+
|
2637
|
+
<li class="never" data-hits="" data-linenumber="160">
|
2638
|
+
|
2639
|
+
|
2658
2640
|
<code class="ruby">end</code>
|
2659
2641
|
</li>
|
2660
2642
|
|
@@ -2686,7 +2668,7 @@
|
|
2686
2668
|
<li class="covered" data-hits="1" data-linenumber="2">
|
2687
2669
|
<span class="hits">1</span>
|
2688
2670
|
|
2689
|
-
<code class="ruby"> VERSION =
|
2671
|
+
<code class="ruby"> VERSION = '0.4.1'</code>
|
2690
2672
|
</li>
|
2691
2673
|
|
2692
2674
|
<li class="never" data-hits="" data-linenumber="3">
|