storyblok 3.0.1 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +282 -0
  3. data/.rubocop_strict.yml +30 -0
  4. data/.rubocop_todo.yml +405 -0
  5. data/Gemfile +8 -3
  6. data/Gemfile.lock +92 -20
  7. data/README.md +72 -32
  8. data/coverage/.last_run.json +5 -0
  9. data/coverage/.resultset.json +547 -0
  10. data/coverage/.resultset.json.lock +0 -0
  11. data/coverage/assets/0.10.2/application.css +799 -0
  12. data/coverage/assets/0.10.2/application.js +1707 -0
  13. data/coverage/assets/0.10.2/colorbox/border.png +0 -0
  14. data/coverage/assets/0.10.2/colorbox/controls.png +0 -0
  15. data/coverage/assets/0.10.2/colorbox/loading.gif +0 -0
  16. data/coverage/assets/0.10.2/colorbox/loading_background.png +0 -0
  17. data/coverage/assets/0.10.2/favicon_green.png +0 -0
  18. data/coverage/assets/0.10.2/favicon_red.png +0 -0
  19. data/coverage/assets/0.10.2/favicon_yellow.png +0 -0
  20. data/coverage/assets/0.10.2/loading.gif +0 -0
  21. data/coverage/assets/0.10.2/magnify.png +0 -0
  22. data/coverage/assets/0.10.2/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  23. data/coverage/assets/0.10.2/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  24. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  25. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  26. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  27. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  28. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  29. data/coverage/assets/0.10.2/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  30. data/coverage/assets/0.10.2/smoothness/images/ui-icons_222222_256x240.png +0 -0
  31. data/coverage/assets/0.10.2/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  32. data/coverage/assets/0.10.2/smoothness/images/ui-icons_454545_256x240.png +0 -0
  33. data/coverage/assets/0.10.2/smoothness/images/ui-icons_888888_256x240.png +0 -0
  34. data/coverage/assets/0.10.2/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  35. data/coverage/index.html +3380 -0
  36. data/examples/cache.rb +5 -6
  37. data/examples/example_queries.rb +6 -6
  38. data/examples/management_api.rb +2 -4
  39. data/examples/renderer.rb +11 -12
  40. data/examples/tree.rb +12 -12
  41. data/lib/storyblok/cache/redis.rb +0 -1
  42. data/lib/storyblok/client.rb +135 -131
  43. data/lib/storyblok/links.rb +16 -17
  44. data/lib/storyblok/version.rb +1 -1
  45. data/lib/storyblok.rb +3 -3
  46. metadata +38 -13
  47. data/.DS_Store +0 -0
  48. data/.ruby-version +0 -1
  49. data/lib/.DS_Store +0 -0
  50. data/lib/storyblok/.DS_Store +0 -0
@@ -0,0 +1,3380 @@
1
+ <!DOCTYPE html>
2
+ <html xmlns='http://www.w3.org/1999/xhtml'>
3
+ <head>
4
+ <title>Code coverage for Storyblok-ruby</title>
5
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
6
+ <script src='./assets/0.10.2/application.js' type='text/javascript'></script>
7
+ <link href='./assets/0.10.2/application.css' media='screen, projection, print' rel='stylesheet' type='text/css'>
8
+ <link rel="shortcut icon" type="image/png" href="./assets/0.10.2/favicon_red.png" />
9
+ <link rel="icon" type="image/png" href="./assets/0.10.2/favicon.png" />
10
+ </head>
11
+
12
+ <body>
13
+ <div id="loading">
14
+ <img src="./assets/0.10.2/loading.gif" alt="loading"/>
15
+ </div>
16
+ <div id="wrapper" style="display:none;">
17
+ <div class="timestamp">Generated <abbr class="timeago" title="2022-08-02T16:20:40-03:00">2022-08-02T16:20:40-03:00</abbr></div>
18
+ <ul class="group_tabs"></ul>
19
+
20
+ <div id="content">
21
+ <div class="file_list_container" id="AllFiles">
22
+ <h2>
23
+ <span class="group_name">All Files</span>
24
+ (<span class="covered_percent"><span class="red">53.06%</span></span>
25
+ covered at
26
+ <span class="covered_strength">
27
+ <span class="red">
28
+ 0.56
29
+ </span>
30
+ </span> hits/line)
31
+ </h2>
32
+ <a name="AllFiles"></a>
33
+ <div>
34
+ <b>4</b> files in total.
35
+ <b>245</b> relevant lines.
36
+ <span class="green"><b>130</b> lines covered</span> and
37
+ <span class="red"><b>115</b> lines missed </span>
38
+ </div>
39
+ <table class="file_list">
40
+ <thead>
41
+ <tr>
42
+ <th>File</th>
43
+ <th>% covered</th>
44
+ <th>Lines</th>
45
+ <th>Relevant Lines</th>
46
+ <th>Lines covered</th>
47
+ <th>Lines missed</th>
48
+ <th>Avg. Hits / Line</th>
49
+ </tr>
50
+ </thead>
51
+ <tbody>
52
+
53
+ <tr>
54
+ <td class="strong"><a href="#c4f7010c4dfc332cd94848fce4de393e534e0e6b" class="src_link" title="lib/storyblok/cache/redis.rb">lib/storyblok/cache/redis.rb</a></td>
55
+ <td class="red strong">34.62 %</td>
56
+ <td>52</td>
57
+ <td>26</td>
58
+ <td>9</td>
59
+ <td>17</td>
60
+ <td>0.3</td>
61
+ </tr>
62
+
63
+ <tr>
64
+ <td class="strong"><a href="#32ca8f0400eeeae2bfd404aeb46c4a4067976781" class="src_link" title="lib/storyblok/client.rb">lib/storyblok/client.rb</a></td>
65
+ <td class="red strong">55.62 %</td>
66
+ <td>401</td>
67
+ <td>178</td>
68
+ <td>99</td>
69
+ <td>79</td>
70
+ <td>0.6</td>
71
+ </tr>
72
+
73
+ <tr>
74
+ <td class="strong"><a href="#3846dec82cee306c736ccd6cc6381035e7a9b1cc" class="src_link" title="lib/storyblok/links.rb">lib/storyblok/links.rb</a></td>
75
+ <td class="red strong">27.27 %</td>
76
+ <td>41</td>
77
+ <td>22</td>
78
+ <td>6</td>
79
+ <td>16</td>
80
+ <td>0.3</td>
81
+ </tr>
82
+
83
+ <tr>
84
+ <td class="strong"><a href="#70b299798924fab373f866c247e8f20b4f7c2747" class="src_link" title="lib/storyblok/request.rb">lib/storyblok/request.rb</a></td>
85
+ <td class="yellow strong">84.21 %</td>
86
+ <td>38</td>
87
+ <td>19</td>
88
+ <td>16</td>
89
+ <td>3</td>
90
+ <td>0.8</td>
91
+ </tr>
92
+
93
+ </tbody>
94
+ </table>
95
+ </div>
96
+
97
+
98
+
99
+ </div>
100
+
101
+ <div id="footer">
102
+ Generated by <a href="http://github.com/colszowka/simplecov">simplecov</a> v0.17.1
103
+ and simplecov-html v0.10.2<br/>
104
+ using RSpec
105
+ </div>
106
+
107
+ <div class="source_files">
108
+
109
+ <div class="source_table" id="c4f7010c4dfc332cd94848fce4de393e534e0e6b">
110
+ <div class="header">
111
+ <h3>lib/storyblok/cache/redis.rb</h3>
112
+ <h4><span class="red">34.62 %</span> covered</h4>
113
+ <div>
114
+ <b>26</b> relevant lines.
115
+ <span class="green"><b>9</b> lines covered</span> and
116
+ <span class="red"><b>17</b> lines missed.</span>
117
+ </div>
118
+ </div>
119
+
120
+ <pre>
121
+ <ol>
122
+
123
+ <li class="covered" data-hits="1" data-linenumber="1">
124
+ <span class="hits">1</span>
125
+
126
+ <code class="ruby">module Storyblok</code>
127
+ </li>
128
+
129
+ <li class="covered" data-hits="1" data-linenumber="2">
130
+ <span class="hits">1</span>
131
+
132
+ <code class="ruby"> module Cache</code>
133
+ </li>
134
+
135
+ <li class="covered" data-hits="1" data-linenumber="3">
136
+ <span class="hits">1</span>
137
+
138
+ <code class="ruby"> class Redis</code>
139
+ </li>
140
+
141
+ <li class="never" data-hits="" data-linenumber="4">
142
+
143
+
144
+ <code class="ruby"> DEFAULT_CONFIGURATION = {</code>
145
+ </li>
146
+
147
+ <li class="covered" data-hits="1" data-linenumber="5">
148
+ <span class="hits">1</span>
149
+
150
+ <code class="ruby"> ttl: 60 * 60 * 24</code>
151
+ </li>
152
+
153
+ <li class="never" data-hits="" data-linenumber="6">
154
+
155
+
156
+ <code class="ruby"> }.freeze</code>
157
+ </li>
158
+
159
+ <li class="never" data-hits="" data-linenumber="7">
160
+
161
+
162
+ <code class="ruby"></code>
163
+ </li>
164
+
165
+ <li class="covered" data-hits="1" data-linenumber="8">
166
+ <span class="hits">1</span>
167
+
168
+ <code class="ruby"> attr_reader :redis</code>
169
+ </li>
170
+
171
+ <li class="never" data-hits="" data-linenumber="9">
172
+
173
+
174
+ <code class="ruby"></code>
175
+ </li>
176
+
177
+ <li class="covered" data-hits="1" data-linenumber="10">
178
+ <span class="hits">1</span>
179
+
180
+ <code class="ruby"> def initialize(*args)</code>
181
+ </li>
182
+
183
+ <li class="missed" data-hits="0" data-linenumber="11">
184
+
185
+
186
+ <code class="ruby"> options = args.last.is_a?(::Hash) ? args.pop : {}</code>
187
+ </li>
188
+
189
+ <li class="never" data-hits="" data-linenumber="12">
190
+
191
+
192
+ <code class="ruby"></code>
193
+ </li>
194
+
195
+ <li class="missed" data-hits="0" data-linenumber="13">
196
+
197
+
198
+ <code class="ruby"> @redis = options.delete(:redis) || begin</code>
199
+ </li>
200
+
201
+ <li class="missed" data-hits="0" data-linenumber="14">
202
+
203
+
204
+ <code class="ruby"> if defined?(::Redis)</code>
205
+ </li>
206
+
207
+ <li class="missed" data-hits="0" data-linenumber="15">
208
+
209
+
210
+ <code class="ruby"> ::Redis.current</code>
211
+ </li>
212
+
213
+ <li class="never" data-hits="" data-linenumber="16">
214
+
215
+
216
+ <code class="ruby"> else</code>
217
+ </li>
218
+
219
+ <li class="missed" data-hits="0" data-linenumber="17">
220
+
221
+
222
+ <code class="ruby"> raise &quot;Redis.current could not be found. Supply :redis option or make sure Redis.current is available.&quot;</code>
223
+ </li>
224
+
225
+ <li class="never" data-hits="" data-linenumber="18">
226
+
227
+
228
+ <code class="ruby"> end</code>
229
+ </li>
230
+
231
+ <li class="never" data-hits="" data-linenumber="19">
232
+
233
+
234
+ <code class="ruby"> end</code>
235
+ </li>
236
+
237
+ <li class="never" data-hits="" data-linenumber="20">
238
+
239
+
240
+ <code class="ruby"></code>
241
+ </li>
242
+
243
+ <li class="missed" data-hits="0" data-linenumber="21">
244
+
245
+
246
+ <code class="ruby"> @options = DEFAULT_CONFIGURATION.merge(options)</code>
247
+ </li>
248
+
249
+ <li class="never" data-hits="" data-linenumber="22">
250
+
251
+
252
+ <code class="ruby"> end</code>
253
+ </li>
254
+
255
+ <li class="never" data-hits="" data-linenumber="23">
256
+
257
+
258
+ <code class="ruby"></code>
259
+ </li>
260
+
261
+ <li class="covered" data-hits="1" data-linenumber="24">
262
+ <span class="hits">1</span>
263
+
264
+ <code class="ruby"> def cache(key, expire = nil)</code>
265
+ </li>
266
+
267
+ <li class="missed" data-hits="0" data-linenumber="25">
268
+
269
+
270
+ <code class="ruby"> if expire == 0</code>
271
+ </li>
272
+
273
+ <li class="missed" data-hits="0" data-linenumber="26">
274
+
275
+
276
+ <code class="ruby"> return yield(self)</code>
277
+ </li>
278
+
279
+ <li class="never" data-hits="" data-linenumber="27">
280
+
281
+
282
+ <code class="ruby"> end</code>
283
+ </li>
284
+
285
+ <li class="never" data-hits="" data-linenumber="28">
286
+
287
+
288
+ <code class="ruby"></code>
289
+ </li>
290
+
291
+ <li class="missed" data-hits="0" data-linenumber="29">
292
+
293
+
294
+ <code class="ruby"> expire ||= @options[:ttl]</code>
295
+ </li>
296
+
297
+ <li class="never" data-hits="" data-linenumber="30">
298
+
299
+
300
+ <code class="ruby"></code>
301
+ </li>
302
+
303
+ <li class="missed" data-hits="0" data-linenumber="31">
304
+
305
+
306
+ <code class="ruby"> if (value = get(key)).nil?</code>
307
+ </li>
308
+
309
+ <li class="missed" data-hits="0" data-linenumber="32">
310
+
311
+
312
+ <code class="ruby"> value = yield(self)</code>
313
+ </li>
314
+
315
+ <li class="missed" data-hits="0" data-linenumber="33">
316
+
317
+
318
+ <code class="ruby"> set(key, value, expire)</code>
319
+ </li>
320
+
321
+ <li class="never" data-hits="" data-linenumber="34">
322
+
323
+
324
+ <code class="ruby"> end</code>
325
+ </li>
326
+
327
+ <li class="never" data-hits="" data-linenumber="35">
328
+
329
+
330
+ <code class="ruby"></code>
331
+ </li>
332
+
333
+ <li class="missed" data-hits="0" data-linenumber="36">
334
+
335
+
336
+ <code class="ruby"> value</code>
337
+ </li>
338
+
339
+ <li class="never" data-hits="" data-linenumber="37">
340
+
341
+
342
+ <code class="ruby"> end</code>
343
+ </li>
344
+
345
+ <li class="never" data-hits="" data-linenumber="38">
346
+
347
+
348
+ <code class="ruby"></code>
349
+ </li>
350
+
351
+ <li class="covered" data-hits="1" data-linenumber="39">
352
+ <span class="hits">1</span>
353
+
354
+ <code class="ruby"> def get(key)</code>
355
+ </li>
356
+
357
+ <li class="missed" data-hits="0" data-linenumber="40">
358
+
359
+
360
+ <code class="ruby"> @redis.get(key)</code>
361
+ </li>
362
+
363
+ <li class="never" data-hits="" data-linenumber="41">
364
+
365
+
366
+ <code class="ruby"> end</code>
367
+ </li>
368
+
369
+ <li class="never" data-hits="" data-linenumber="42">
370
+
371
+
372
+ <code class="ruby"></code>
373
+ </li>
374
+
375
+ <li class="covered" data-hits="1" data-linenumber="43">
376
+ <span class="hits">1</span>
377
+
378
+ <code class="ruby"> def set(key, value, expire = false)</code>
379
+ </li>
380
+
381
+ <li class="missed" data-hits="0" data-linenumber="44">
382
+
383
+
384
+ <code class="ruby"> if expire</code>
385
+ </li>
386
+
387
+ <li class="missed" data-hits="0" data-linenumber="45">
388
+
389
+
390
+ <code class="ruby"> @redis.setex(key, expire, value)</code>
391
+ </li>
392
+
393
+ <li class="never" data-hits="" data-linenumber="46">
394
+
395
+
396
+ <code class="ruby"> else</code>
397
+ </li>
398
+
399
+ <li class="missed" data-hits="0" data-linenumber="47">
400
+
401
+
402
+ <code class="ruby"> @redis.set(key, value)</code>
403
+ </li>
404
+
405
+ <li class="never" data-hits="" data-linenumber="48">
406
+
407
+
408
+ <code class="ruby"> end</code>
409
+ </li>
410
+
411
+ <li class="never" data-hits="" data-linenumber="49">
412
+
413
+
414
+ <code class="ruby"> end</code>
415
+ </li>
416
+
417
+ <li class="never" data-hits="" data-linenumber="50">
418
+
419
+
420
+ <code class="ruby"> end</code>
421
+ </li>
422
+
423
+ <li class="never" data-hits="" data-linenumber="51">
424
+
425
+
426
+ <code class="ruby"> end</code>
427
+ </li>
428
+
429
+ <li class="never" data-hits="" data-linenumber="52">
430
+
431
+
432
+ <code class="ruby">end</code>
433
+ </li>
434
+
435
+ </ol>
436
+ </pre>
437
+ </div>
438
+
439
+
440
+ <div class="source_table" id="32ca8f0400eeeae2bfd404aeb46c4a4067976781">
441
+ <div class="header">
442
+ <h3>lib/storyblok/client.rb</h3>
443
+ <h4><span class="red">55.62 %</span> covered</h4>
444
+ <div>
445
+ <b>178</b> relevant lines.
446
+ <span class="green"><b>99</b> lines covered</span> and
447
+ <span class="red"><b>79</b> lines missed.</span>
448
+ </div>
449
+ </div>
450
+
451
+ <pre>
452
+ <ol>
453
+
454
+ <li class="covered" data-hits="1" data-linenumber="1">
455
+ <span class="hits">1</span>
456
+
457
+ <code class="ruby">require_relative &#39;request&#39;</code>
458
+ </li>
459
+
460
+ <li class="covered" data-hits="1" data-linenumber="2">
461
+ <span class="hits">1</span>
462
+
463
+ <code class="ruby">require_relative &#39;links&#39;</code>
464
+ </li>
465
+
466
+ <li class="never" data-hits="" data-linenumber="3">
467
+
468
+
469
+ <code class="ruby"></code>
470
+ </li>
471
+
472
+ <li class="covered" data-hits="1" data-linenumber="4">
473
+ <span class="hits">1</span>
474
+
475
+ <code class="ruby">require &#39;storyblok/richtext&#39;</code>
476
+ </li>
477
+
478
+ <li class="covered" data-hits="1" data-linenumber="5">
479
+ <span class="hits">1</span>
480
+
481
+ <code class="ruby">require &#39;rest-client&#39;</code>
482
+ </li>
483
+
484
+ <li class="covered" data-hits="1" data-linenumber="6">
485
+ <span class="hits">1</span>
486
+
487
+ <code class="ruby">require &#39;logger&#39;</code>
488
+ </li>
489
+
490
+ <li class="covered" data-hits="1" data-linenumber="7">
491
+ <span class="hits">1</span>
492
+
493
+ <code class="ruby">require &#39;base64&#39;</code>
494
+ </li>
495
+
496
+ <li class="covered" data-hits="1" data-linenumber="8">
497
+ <span class="hits">1</span>
498
+
499
+ <code class="ruby">require &#39;json&#39;</code>
500
+ </li>
501
+
502
+ <li class="never" data-hits="" data-linenumber="9">
503
+
504
+
505
+ <code class="ruby"></code>
506
+ </li>
507
+
508
+ <li class="covered" data-hits="1" data-linenumber="10">
509
+ <span class="hits">1</span>
510
+
511
+ <code class="ruby">module Storyblok</code>
512
+ </li>
513
+
514
+ <li class="covered" data-hits="1" data-linenumber="11">
515
+ <span class="hits">1</span>
516
+
517
+ <code class="ruby"> class Client</code>
518
+ </li>
519
+
520
+ <li class="never" data-hits="" data-linenumber="12">
521
+
522
+
523
+ <code class="ruby"> DEFAULT_CONFIGURATION = {</code>
524
+ </li>
525
+
526
+ <li class="covered" data-hits="1" data-linenumber="13">
527
+ <span class="hits">1</span>
528
+
529
+ <code class="ruby"> secure: true,</code>
530
+ </li>
531
+
532
+ <li class="never" data-hits="" data-linenumber="14">
533
+
534
+
535
+ <code class="ruby"> api_version: 2,</code>
536
+ </li>
537
+
538
+ <li class="never" data-hits="" data-linenumber="15">
539
+
540
+
541
+ <code class="ruby"> logger: false,</code>
542
+ </li>
543
+
544
+ <li class="never" data-hits="" data-linenumber="16">
545
+
546
+
547
+ <code class="ruby"> log_level: Logger::INFO,</code>
548
+ </li>
549
+
550
+ <li class="never" data-hits="" data-linenumber="17">
551
+
552
+
553
+ <code class="ruby"> version: &#39;draft&#39;,</code>
554
+ </li>
555
+
556
+ <li class="skipped" data-hits="" data-linenumber="18">
557
+
558
+ <span class="hits">skipped</span>
559
+ <code class="ruby"> # :nocov:</code>
560
+ </li>
561
+
562
+ <li class="skipped" data-hits="0" data-linenumber="19">
563
+
564
+ <span class="hits">skipped</span>
565
+ <code class="ruby"> component_resolver: -&gt;(component, data) { &#39;&#39; },</code>
566
+ </li>
567
+
568
+ <li class="skipped" data-hits="" data-linenumber="20">
569
+
570
+ <span class="hits">skipped</span>
571
+ <code class="ruby"> # :nocov:</code>
572
+ </li>
573
+
574
+ <li class="never" data-hits="" data-linenumber="21">
575
+
576
+
577
+ <code class="ruby"> cache_version: Time.now.to_i,</code>
578
+ </li>
579
+
580
+ <li class="never" data-hits="" data-linenumber="22">
581
+
582
+
583
+ <code class="ruby"> cache: nil</code>
584
+ </li>
585
+
586
+ <li class="never" data-hits="" data-linenumber="23">
587
+
588
+
589
+ <code class="ruby"> }</code>
590
+ </li>
591
+
592
+ <li class="never" data-hits="" data-linenumber="24">
593
+
594
+
595
+ <code class="ruby"></code>
596
+ </li>
597
+
598
+ <li class="covered" data-hits="1" data-linenumber="25">
599
+ <span class="hits">1</span>
600
+
601
+ <code class="ruby"> attr_reader :configuration, :logger</code>
602
+ </li>
603
+
604
+ <li class="covered" data-hits="1" data-linenumber="26">
605
+ <span class="hits">1</span>
606
+
607
+ <code class="ruby"> attr_accessor :cache_version</code>
608
+ </li>
609
+
610
+ <li class="never" data-hits="" data-linenumber="27">
611
+
612
+
613
+ <code class="ruby"></code>
614
+ </li>
615
+
616
+ <li class="never" data-hits="" data-linenumber="28">
617
+
618
+
619
+ <code class="ruby"> # @param [Hash] given_configuration</code>
620
+ </li>
621
+
622
+ <li class="never" data-hits="" data-linenumber="29">
623
+
624
+
625
+ <code class="ruby"> # @option given_configuration [String] :token Required if oauth_token is not set</code>
626
+ </li>
627
+
628
+ <li class="never" data-hits="" data-linenumber="30">
629
+
630
+
631
+ <code class="ruby"> # @option given_configuration [String] :oauth_token Required if token is not set</code>
632
+ </li>
633
+
634
+ <li class="never" data-hits="" data-linenumber="31">
635
+
636
+
637
+ <code class="ruby"> # @option given_configuration [String] :api_url</code>
638
+ </li>
639
+
640
+ <li class="never" data-hits="" data-linenumber="32">
641
+
642
+
643
+ <code class="ruby"> # @option given_configuration [Proc] :component_resolver</code>
644
+ </li>
645
+
646
+ <li class="never" data-hits="" data-linenumber="33">
647
+
648
+
649
+ <code class="ruby"> # @option given_configuration [Number] :api_version</code>
650
+ </li>
651
+
652
+ <li class="never" data-hits="" data-linenumber="34">
653
+
654
+
655
+ <code class="ruby"> # @option given_configuration [String] :api_region</code>
656
+ </li>
657
+
658
+ <li class="never" data-hits="" data-linenumber="35">
659
+
660
+
661
+ <code class="ruby"> # @option given_configuration [false, ::Logger] :logger</code>
662
+ </li>
663
+
664
+ <li class="never" data-hits="" data-linenumber="36">
665
+
666
+
667
+ <code class="ruby"> # @option given_configuration [::Logger::DEBUG, ::Logger::INFO, ::Logger::WARN, ::Logger::ERROR] :log_level</code>
668
+ </li>
669
+
670
+ <li class="covered" data-hits="1" data-linenumber="37">
671
+ <span class="hits">1</span>
672
+
673
+ <code class="ruby"> def initialize(given_configuration = {})</code>
674
+ </li>
675
+
676
+ <li class="covered" data-hits="1" data-linenumber="38">
677
+ <span class="hits">1</span>
678
+
679
+ <code class="ruby"> @configuration = default_configuration.merge(given_configuration)</code>
680
+ </li>
681
+
682
+ <li class="covered" data-hits="1" data-linenumber="39">
683
+ <span class="hits">1</span>
684
+
685
+ <code class="ruby"> @cache_version = &#39;0&#39;</code>
686
+ </li>
687
+
688
+ <li class="covered" data-hits="1" data-linenumber="40">
689
+ <span class="hits">1</span>
690
+
691
+ <code class="ruby"> validate_configuration!</code>
692
+ </li>
693
+
694
+ <li class="never" data-hits="" data-linenumber="41">
695
+
696
+
697
+ <code class="ruby"></code>
698
+ </li>
699
+
700
+ <li class="covered" data-hits="1" data-linenumber="42">
701
+ <span class="hits">1</span>
702
+
703
+ <code class="ruby"> if configuration[:oauth_token]</code>
704
+ </li>
705
+
706
+ <li class="missed" data-hits="0" data-linenumber="43">
707
+
708
+
709
+ <code class="ruby"> @rest_client = RestClient::Resource.new(base_url, :headers =&gt; {</code>
710
+ </li>
711
+
712
+ <li class="never" data-hits="" data-linenumber="44">
713
+
714
+
715
+ <code class="ruby"> :authorization =&gt; configuration[:oauth_token]</code>
716
+ </li>
717
+
718
+ <li class="never" data-hits="" data-linenumber="45">
719
+
720
+
721
+ <code class="ruby"> })</code>
722
+ </li>
723
+
724
+ <li class="never" data-hits="" data-linenumber="46">
725
+
726
+
727
+ <code class="ruby"> end</code>
728
+ </li>
729
+
730
+ <li class="never" data-hits="" data-linenumber="47">
731
+
732
+
733
+ <code class="ruby"></code>
734
+ </li>
735
+
736
+ <li class="covered" data-hits="1" data-linenumber="48">
737
+ <span class="hits">1</span>
738
+
739
+ <code class="ruby"> @renderer = Richtext::HtmlRenderer.new</code>
740
+ </li>
741
+
742
+ <li class="covered" data-hits="1" data-linenumber="49">
743
+ <span class="hits">1</span>
744
+
745
+ <code class="ruby"> @renderer.set_component_resolver(@configuration[:component_resolver])</code>
746
+ </li>
747
+
748
+ <li class="covered" data-hits="1" data-linenumber="50">
749
+ <span class="hits">1</span>
750
+
751
+ <code class="ruby"> setup_logger</code>
752
+ </li>
753
+
754
+ <li class="never" data-hits="" data-linenumber="51">
755
+
756
+
757
+ <code class="ruby"> end</code>
758
+ </li>
759
+
760
+ <li class="never" data-hits="" data-linenumber="52">
761
+
762
+
763
+ <code class="ruby"></code>
764
+ </li>
765
+
766
+ <li class="never" data-hits="" data-linenumber="53">
767
+
768
+
769
+ <code class="ruby"> # Dynamic cdn endpoint call</code>
770
+ </li>
771
+
772
+ <li class="never" data-hits="" data-linenumber="54">
773
+
774
+
775
+ <code class="ruby"> #</code>
776
+ </li>
777
+
778
+ <li class="never" data-hits="" data-linenumber="55">
779
+
780
+
781
+ <code class="ruby"> # @param [String] id</code>
782
+ </li>
783
+
784
+ <li class="never" data-hits="" data-linenumber="56">
785
+
786
+
787
+ <code class="ruby"> # @param [Hash] query</code>
788
+ </li>
789
+
790
+ <li class="never" data-hits="" data-linenumber="57">
791
+
792
+
793
+ <code class="ruby"> #</code>
794
+ </li>
795
+
796
+ <li class="never" data-hits="" data-linenumber="58">
797
+
798
+
799
+ <code class="ruby"> # @return [Hash]</code>
800
+ </li>
801
+
802
+ <li class="covered" data-hits="1" data-linenumber="59">
803
+ <span class="hits">1</span>
804
+
805
+ <code class="ruby"> def get_from_cdn(slug, query = {}, id = nil)</code>
806
+ </li>
807
+
808
+ <li class="missed" data-hits="0" data-linenumber="60">
809
+
810
+
811
+ <code class="ruby"> Request.new(self, &quot;/cdn/#{slug}&quot;, query, id).get</code>
812
+ </li>
813
+
814
+ <li class="never" data-hits="" data-linenumber="61">
815
+
816
+
817
+ <code class="ruby"> end</code>
818
+ </li>
819
+
820
+ <li class="never" data-hits="" data-linenumber="62">
821
+
822
+
823
+ <code class="ruby"></code>
824
+ </li>
825
+
826
+ <li class="never" data-hits="" data-linenumber="63">
827
+
828
+
829
+ <code class="ruby"> # Gets the space info</code>
830
+ </li>
831
+
832
+ <li class="never" data-hits="" data-linenumber="64">
833
+
834
+
835
+ <code class="ruby"> #</code>
836
+ </li>
837
+
838
+ <li class="never" data-hits="" data-linenumber="65">
839
+
840
+
841
+ <code class="ruby"> # @param [Hash] query</code>
842
+ </li>
843
+
844
+ <li class="never" data-hits="" data-linenumber="66">
845
+
846
+
847
+ <code class="ruby"> #</code>
848
+ </li>
849
+
850
+ <li class="never" data-hits="" data-linenumber="67">
851
+
852
+
853
+ <code class="ruby"> # @return [Hash]</code>
854
+ </li>
855
+
856
+ <li class="covered" data-hits="1" data-linenumber="68">
857
+ <span class="hits">1</span>
858
+
859
+ <code class="ruby"> def space(query = {})</code>
860
+ </li>
861
+
862
+ <li class="missed" data-hits="0" data-linenumber="69">
863
+
864
+
865
+ <code class="ruby"> Request.new(self, &#39;/cdn/spaces/me&#39;, query, nil, true).get</code>
866
+ </li>
867
+
868
+ <li class="never" data-hits="" data-linenumber="70">
869
+
870
+
871
+ <code class="ruby"> end</code>
872
+ </li>
873
+
874
+ <li class="never" data-hits="" data-linenumber="71">
875
+
876
+
877
+ <code class="ruby"></code>
878
+ </li>
879
+
880
+ <li class="never" data-hits="" data-linenumber="72">
881
+
882
+
883
+ <code class="ruby"> # Gets a collection of stories</code>
884
+ </li>
885
+
886
+ <li class="never" data-hits="" data-linenumber="73">
887
+
888
+
889
+ <code class="ruby"> #</code>
890
+ </li>
891
+
892
+ <li class="never" data-hits="" data-linenumber="74">
893
+
894
+
895
+ <code class="ruby"> # @param [Hash] query</code>
896
+ </li>
897
+
898
+ <li class="never" data-hits="" data-linenumber="75">
899
+
900
+
901
+ <code class="ruby"> #</code>
902
+ </li>
903
+
904
+ <li class="never" data-hits="" data-linenumber="76">
905
+
906
+
907
+ <code class="ruby"> # @return [Hash]</code>
908
+ </li>
909
+
910
+ <li class="covered" data-hits="1" data-linenumber="77">
911
+ <span class="hits">1</span>
912
+
913
+ <code class="ruby"> def stories(query = {})</code>
914
+ </li>
915
+
916
+ <li class="covered" data-hits="1" data-linenumber="78">
917
+ <span class="hits">1</span>
918
+
919
+ <code class="ruby"> Request.new(self, &#39;/cdn/stories&#39;, query).get</code>
920
+ </li>
921
+
922
+ <li class="never" data-hits="" data-linenumber="79">
923
+
924
+
925
+ <code class="ruby"> end</code>
926
+ </li>
927
+
928
+ <li class="never" data-hits="" data-linenumber="80">
929
+
930
+
931
+ <code class="ruby"></code>
932
+ </li>
933
+
934
+ <li class="never" data-hits="" data-linenumber="81">
935
+
936
+
937
+ <code class="ruby"> # Gets a specific story</code>
938
+ </li>
939
+
940
+ <li class="never" data-hits="" data-linenumber="82">
941
+
942
+
943
+ <code class="ruby"> #</code>
944
+ </li>
945
+
946
+ <li class="never" data-hits="" data-linenumber="83">
947
+
948
+
949
+ <code class="ruby"> # @param [String] id</code>
950
+ </li>
951
+
952
+ <li class="never" data-hits="" data-linenumber="84">
953
+
954
+
955
+ <code class="ruby"> # @param [Hash] query</code>
956
+ </li>
957
+
958
+ <li class="never" data-hits="" data-linenumber="85">
959
+
960
+
961
+ <code class="ruby"> #</code>
962
+ </li>
963
+
964
+ <li class="never" data-hits="" data-linenumber="86">
965
+
966
+
967
+ <code class="ruby"> # @return [Hash]</code>
968
+ </li>
969
+
970
+ <li class="covered" data-hits="1" data-linenumber="87">
971
+ <span class="hits">1</span>
972
+
973
+ <code class="ruby"> def story(id, query = {})</code>
974
+ </li>
975
+
976
+ <li class="missed" data-hits="0" data-linenumber="88">
977
+
978
+
979
+ <code class="ruby"> Request.new(self, &#39;/cdn/stories&#39;, query, id).get</code>
980
+ </li>
981
+
982
+ <li class="never" data-hits="" data-linenumber="89">
983
+
984
+
985
+ <code class="ruby"> end</code>
986
+ </li>
987
+
988
+ <li class="never" data-hits="" data-linenumber="90">
989
+
990
+
991
+ <code class="ruby"></code>
992
+ </li>
993
+
994
+ <li class="never" data-hits="" data-linenumber="91">
995
+
996
+
997
+ <code class="ruby"> # Gets a collection of datasource entries</code>
998
+ </li>
999
+
1000
+ <li class="never" data-hits="" data-linenumber="92">
1001
+
1002
+
1003
+ <code class="ruby"> #</code>
1004
+ </li>
1005
+
1006
+ <li class="never" data-hits="" data-linenumber="93">
1007
+
1008
+
1009
+ <code class="ruby"> # @param [Hash] query</code>
1010
+ </li>
1011
+
1012
+ <li class="never" data-hits="" data-linenumber="94">
1013
+
1014
+
1015
+ <code class="ruby"> #</code>
1016
+ </li>
1017
+
1018
+ <li class="never" data-hits="" data-linenumber="95">
1019
+
1020
+
1021
+ <code class="ruby"> # @return [Hash]</code>
1022
+ </li>
1023
+
1024
+ <li class="covered" data-hits="1" data-linenumber="96">
1025
+ <span class="hits">1</span>
1026
+
1027
+ <code class="ruby"> def datasource_entries(query = {})</code>
1028
+ </li>
1029
+
1030
+ <li class="missed" data-hits="0" data-linenumber="97">
1031
+
1032
+
1033
+ <code class="ruby"> Request.new(self, &#39;/cdn/datasource_entries&#39;, query).get</code>
1034
+ </li>
1035
+
1036
+ <li class="never" data-hits="" data-linenumber="98">
1037
+
1038
+
1039
+ <code class="ruby"> end</code>
1040
+ </li>
1041
+
1042
+ <li class="never" data-hits="" data-linenumber="99">
1043
+
1044
+
1045
+ <code class="ruby"></code>
1046
+ </li>
1047
+
1048
+ <li class="never" data-hits="" data-linenumber="100">
1049
+
1050
+
1051
+ <code class="ruby"> # Gets a collection of datasources</code>
1052
+ </li>
1053
+
1054
+ <li class="never" data-hits="" data-linenumber="101">
1055
+
1056
+
1057
+ <code class="ruby"> #</code>
1058
+ </li>
1059
+
1060
+ <li class="never" data-hits="" data-linenumber="102">
1061
+
1062
+
1063
+ <code class="ruby"> # @param [Hash] query</code>
1064
+ </li>
1065
+
1066
+ <li class="never" data-hits="" data-linenumber="103">
1067
+
1068
+
1069
+ <code class="ruby"> #</code>
1070
+ </li>
1071
+
1072
+ <li class="never" data-hits="" data-linenumber="104">
1073
+
1074
+
1075
+ <code class="ruby"> # @return [Hash]</code>
1076
+ </li>
1077
+
1078
+ <li class="covered" data-hits="1" data-linenumber="105">
1079
+ <span class="hits">1</span>
1080
+
1081
+ <code class="ruby"> def datasources(query = {})</code>
1082
+ </li>
1083
+
1084
+ <li class="missed" data-hits="0" data-linenumber="106">
1085
+
1086
+
1087
+ <code class="ruby"> Request.new(self, &#39;/cdn/datasources&#39;, query).get</code>
1088
+ </li>
1089
+
1090
+ <li class="never" data-hits="" data-linenumber="107">
1091
+
1092
+
1093
+ <code class="ruby"> end</code>
1094
+ </li>
1095
+
1096
+ <li class="never" data-hits="" data-linenumber="108">
1097
+
1098
+
1099
+ <code class="ruby"></code>
1100
+ </li>
1101
+
1102
+ <li class="never" data-hits="" data-linenumber="109">
1103
+
1104
+
1105
+ <code class="ruby"> # Gets a collection of tags</code>
1106
+ </li>
1107
+
1108
+ <li class="never" data-hits="" data-linenumber="110">
1109
+
1110
+
1111
+ <code class="ruby"> #</code>
1112
+ </li>
1113
+
1114
+ <li class="never" data-hits="" data-linenumber="111">
1115
+
1116
+
1117
+ <code class="ruby"> # @param [Hash] query</code>
1118
+ </li>
1119
+
1120
+ <li class="never" data-hits="" data-linenumber="112">
1121
+
1122
+
1123
+ <code class="ruby"> #</code>
1124
+ </li>
1125
+
1126
+ <li class="never" data-hits="" data-linenumber="113">
1127
+
1128
+
1129
+ <code class="ruby"> # @return [Hash]</code>
1130
+ </li>
1131
+
1132
+ <li class="covered" data-hits="1" data-linenumber="114">
1133
+ <span class="hits">1</span>
1134
+
1135
+ <code class="ruby"> def tags(query = {})</code>
1136
+ </li>
1137
+
1138
+ <li class="missed" data-hits="0" data-linenumber="115">
1139
+
1140
+
1141
+ <code class="ruby"> Request.new(self, &#39;/cdn/tags&#39;, query).get</code>
1142
+ </li>
1143
+
1144
+ <li class="never" data-hits="" data-linenumber="116">
1145
+
1146
+
1147
+ <code class="ruby"> end</code>
1148
+ </li>
1149
+
1150
+ <li class="never" data-hits="" data-linenumber="117">
1151
+
1152
+
1153
+ <code class="ruby"></code>
1154
+ </li>
1155
+
1156
+ <li class="never" data-hits="" data-linenumber="118">
1157
+
1158
+
1159
+ <code class="ruby"> # Gets a collection of links</code>
1160
+ </li>
1161
+
1162
+ <li class="never" data-hits="" data-linenumber="119">
1163
+
1164
+
1165
+ <code class="ruby"> #</code>
1166
+ </li>
1167
+
1168
+ <li class="never" data-hits="" data-linenumber="120">
1169
+
1170
+
1171
+ <code class="ruby"> # @param [Hash] query</code>
1172
+ </li>
1173
+
1174
+ <li class="never" data-hits="" data-linenumber="121">
1175
+
1176
+
1177
+ <code class="ruby"> #</code>
1178
+ </li>
1179
+
1180
+ <li class="never" data-hits="" data-linenumber="122">
1181
+
1182
+
1183
+ <code class="ruby"> # @return [Hash]</code>
1184
+ </li>
1185
+
1186
+ <li class="covered" data-hits="1" data-linenumber="123">
1187
+ <span class="hits">1</span>
1188
+
1189
+ <code class="ruby"> def links(query = {})</code>
1190
+ </li>
1191
+
1192
+ <li class="missed" data-hits="0" data-linenumber="124">
1193
+
1194
+
1195
+ <code class="ruby"> Request.new(self, &#39;/cdn/links&#39;, query).get</code>
1196
+ </li>
1197
+
1198
+ <li class="never" data-hits="" data-linenumber="125">
1199
+
1200
+
1201
+ <code class="ruby"> end</code>
1202
+ </li>
1203
+
1204
+ <li class="never" data-hits="" data-linenumber="126">
1205
+
1206
+
1207
+ <code class="ruby"></code>
1208
+ </li>
1209
+
1210
+ <li class="never" data-hits="" data-linenumber="127">
1211
+
1212
+
1213
+ <code class="ruby"> # Gets a link tree</code>
1214
+ </li>
1215
+
1216
+ <li class="never" data-hits="" data-linenumber="128">
1217
+
1218
+
1219
+ <code class="ruby"> #</code>
1220
+ </li>
1221
+
1222
+ <li class="never" data-hits="" data-linenumber="129">
1223
+
1224
+
1225
+ <code class="ruby"> # @param [Hash] query</code>
1226
+ </li>
1227
+
1228
+ <li class="never" data-hits="" data-linenumber="130">
1229
+
1230
+
1231
+ <code class="ruby"> #</code>
1232
+ </li>
1233
+
1234
+ <li class="never" data-hits="" data-linenumber="131">
1235
+
1236
+
1237
+ <code class="ruby"> # @return [Hash]</code>
1238
+ </li>
1239
+
1240
+ <li class="covered" data-hits="1" data-linenumber="132">
1241
+ <span class="hits">1</span>
1242
+
1243
+ <code class="ruby"> def tree(query = {})</code>
1244
+ </li>
1245
+
1246
+ <li class="missed" data-hits="0" data-linenumber="133">
1247
+
1248
+
1249
+ <code class="ruby"> Links.new(Request.new(self, &#39;/cdn/links&#39;, query).get).as_tree</code>
1250
+ </li>
1251
+
1252
+ <li class="never" data-hits="" data-linenumber="134">
1253
+
1254
+
1255
+ <code class="ruby"> end</code>
1256
+ </li>
1257
+
1258
+ <li class="never" data-hits="" data-linenumber="135">
1259
+
1260
+
1261
+ <code class="ruby"></code>
1262
+ </li>
1263
+
1264
+ <li class="covered" data-hits="1" data-linenumber="136">
1265
+ <span class="hits">1</span>
1266
+
1267
+ <code class="ruby"> def post(path, payload, additional_headers = {})</code>
1268
+ </li>
1269
+
1270
+ <li class="missed" data-hits="0" data-linenumber="137">
1271
+
1272
+
1273
+ <code class="ruby"> run_management_request(:post, path, payload, additional_headers)</code>
1274
+ </li>
1275
+
1276
+ <li class="never" data-hits="" data-linenumber="138">
1277
+
1278
+
1279
+ <code class="ruby"> end</code>
1280
+ </li>
1281
+
1282
+ <li class="never" data-hits="" data-linenumber="139">
1283
+
1284
+
1285
+ <code class="ruby"></code>
1286
+ </li>
1287
+
1288
+ <li class="covered" data-hits="1" data-linenumber="140">
1289
+ <span class="hits">1</span>
1290
+
1291
+ <code class="ruby"> def put(path, payload, additional_headers = {})</code>
1292
+ </li>
1293
+
1294
+ <li class="missed" data-hits="0" data-linenumber="141">
1295
+
1296
+
1297
+ <code class="ruby"> run_management_request(:put, path, payload, additional_headers)</code>
1298
+ </li>
1299
+
1300
+ <li class="never" data-hits="" data-linenumber="142">
1301
+
1302
+
1303
+ <code class="ruby"> end</code>
1304
+ </li>
1305
+
1306
+ <li class="never" data-hits="" data-linenumber="143">
1307
+
1308
+
1309
+ <code class="ruby"></code>
1310
+ </li>
1311
+
1312
+ <li class="covered" data-hits="1" data-linenumber="144">
1313
+ <span class="hits">1</span>
1314
+
1315
+ <code class="ruby"> def delete(path, additional_headers = {})</code>
1316
+ </li>
1317
+
1318
+ <li class="missed" data-hits="0" data-linenumber="145">
1319
+
1320
+
1321
+ <code class="ruby"> run_management_request(:delete, path, nil, additional_headers)</code>
1322
+ </li>
1323
+
1324
+ <li class="never" data-hits="" data-linenumber="146">
1325
+
1326
+
1327
+ <code class="ruby"> end</code>
1328
+ </li>
1329
+
1330
+ <li class="never" data-hits="" data-linenumber="147">
1331
+
1332
+
1333
+ <code class="ruby"></code>
1334
+ </li>
1335
+
1336
+ <li class="covered" data-hits="1" data-linenumber="148">
1337
+ <span class="hits">1</span>
1338
+
1339
+ <code class="ruby"> def get(path, additional_headers = {})</code>
1340
+ </li>
1341
+
1342
+ <li class="missed" data-hits="0" data-linenumber="149">
1343
+
1344
+
1345
+ <code class="ruby"> run_management_request(:get, path, nil, additional_headers)</code>
1346
+ </li>
1347
+
1348
+ <li class="never" data-hits="" data-linenumber="150">
1349
+
1350
+
1351
+ <code class="ruby"> end</code>
1352
+ </li>
1353
+
1354
+ <li class="never" data-hits="" data-linenumber="151">
1355
+
1356
+
1357
+ <code class="ruby"></code>
1358
+ </li>
1359
+
1360
+ <li class="covered" data-hits="1" data-linenumber="152">
1361
+ <span class="hits">1</span>
1362
+
1363
+ <code class="ruby"> def run_management_request(action, path, payload = {}, additional_headers = {})</code>
1364
+ </li>
1365
+
1366
+ <li class="missed" data-hits="0" data-linenumber="153">
1367
+
1368
+
1369
+ <code class="ruby"> logger.info(request: { path: path, action: action }) if logger</code>
1370
+ </li>
1371
+
1372
+ <li class="missed" data-hits="0" data-linenumber="154">
1373
+
1374
+
1375
+ <code class="ruby"> retries_left = 3</code>
1376
+ </li>
1377
+
1378
+ <li class="never" data-hits="" data-linenumber="155">
1379
+
1380
+
1381
+ <code class="ruby"></code>
1382
+ </li>
1383
+
1384
+ <li class="never" data-hits="" data-linenumber="156">
1385
+
1386
+
1387
+ <code class="ruby"> begin</code>
1388
+ </li>
1389
+
1390
+ <li class="missed" data-hits="0" data-linenumber="157">
1391
+
1392
+
1393
+ <code class="ruby"> if [:post, :put].include?(action)</code>
1394
+ </li>
1395
+
1396
+ <li class="missed" data-hits="0" data-linenumber="158">
1397
+
1398
+
1399
+ <code class="ruby"> res = @rest_client[path].send(action, payload, additional_headers)</code>
1400
+ </li>
1401
+
1402
+ <li class="never" data-hits="" data-linenumber="159">
1403
+
1404
+
1405
+ <code class="ruby"> else</code>
1406
+ </li>
1407
+
1408
+ <li class="missed" data-hits="0" data-linenumber="160">
1409
+
1410
+
1411
+ <code class="ruby"> res = @rest_client[path].send(action, additional_headers)</code>
1412
+ </li>
1413
+
1414
+ <li class="never" data-hits="" data-linenumber="161">
1415
+
1416
+
1417
+ <code class="ruby"> end</code>
1418
+ </li>
1419
+
1420
+ <li class="never" data-hits="" data-linenumber="162">
1421
+
1422
+
1423
+ <code class="ruby"> rescue RestClient::TooManyRequests</code>
1424
+ </li>
1425
+
1426
+ <li class="missed" data-hits="0" data-linenumber="163">
1427
+
1428
+
1429
+ <code class="ruby"> if retries_left != 0</code>
1430
+ </li>
1431
+
1432
+ <li class="missed" data-hits="0" data-linenumber="164">
1433
+
1434
+
1435
+ <code class="ruby"> retries_left -= 1</code>
1436
+ </li>
1437
+
1438
+ <li class="missed" data-hits="0" data-linenumber="165">
1439
+
1440
+
1441
+ <code class="ruby"> logger.info(&quot;Too many requests. Retry nr. #{(3 - retries_left).to_s} of max. 3 times.&quot;) if logger</code>
1442
+ </li>
1443
+
1444
+ <li class="missed" data-hits="0" data-linenumber="166">
1445
+
1446
+
1447
+ <code class="ruby"> sleep(0.5)</code>
1448
+ </li>
1449
+
1450
+ <li class="missed" data-hits="0" data-linenumber="167">
1451
+
1452
+
1453
+ <code class="ruby"> retry</code>
1454
+ </li>
1455
+
1456
+ <li class="never" data-hits="" data-linenumber="168">
1457
+
1458
+
1459
+ <code class="ruby"> end</code>
1460
+ </li>
1461
+
1462
+ <li class="never" data-hits="" data-linenumber="169">
1463
+
1464
+
1465
+ <code class="ruby"></code>
1466
+ </li>
1467
+
1468
+ <li class="missed" data-hits="0" data-linenumber="170">
1469
+
1470
+
1471
+ <code class="ruby"> raise</code>
1472
+ </li>
1473
+
1474
+ <li class="never" data-hits="" data-linenumber="171">
1475
+
1476
+
1477
+ <code class="ruby"> end</code>
1478
+ </li>
1479
+
1480
+ <li class="never" data-hits="" data-linenumber="172">
1481
+
1482
+
1483
+ <code class="ruby"></code>
1484
+ </li>
1485
+
1486
+ <li class="missed" data-hits="0" data-linenumber="173">
1487
+
1488
+
1489
+ <code class="ruby"> parse_result(res)</code>
1490
+ </li>
1491
+
1492
+ <li class="never" data-hits="" data-linenumber="174">
1493
+
1494
+
1495
+ <code class="ruby"> end</code>
1496
+ </li>
1497
+
1498
+ <li class="never" data-hits="" data-linenumber="175">
1499
+
1500
+
1501
+ <code class="ruby"></code>
1502
+ </li>
1503
+
1504
+ <li class="covered" data-hits="1" data-linenumber="176">
1505
+ <span class="hits">1</span>
1506
+
1507
+ <code class="ruby"> def cached_get(request, bypass_cache = false)</code>
1508
+ </li>
1509
+
1510
+ <li class="covered" data-hits="1" data-linenumber="177">
1511
+ <span class="hits">1</span>
1512
+
1513
+ <code class="ruby"> endpoint = base_url + request.url</code>
1514
+ </li>
1515
+
1516
+ <li class="covered" data-hits="1" data-linenumber="178">
1517
+ <span class="hits">1</span>
1518
+
1519
+ <code class="ruby"> query = request_query(request.query)</code>
1520
+ </li>
1521
+
1522
+ <li class="covered" data-hits="1" data-linenumber="179">
1523
+ <span class="hits">1</span>
1524
+
1525
+ <code class="ruby"> query_string = build_nested_query(query)</code>
1526
+ </li>
1527
+
1528
+ <li class="never" data-hits="" data-linenumber="180">
1529
+
1530
+
1531
+ <code class="ruby"></code>
1532
+ </li>
1533
+
1534
+ <li class="covered" data-hits="1" data-linenumber="181">
1535
+ <span class="hits">1</span>
1536
+
1537
+ <code class="ruby"> if cache.nil? || bypass_cache || query[:version] == &#39;draft&#39;</code>
1538
+ </li>
1539
+
1540
+ <li class="covered" data-hits="1" data-linenumber="182">
1541
+ <span class="hits">1</span>
1542
+
1543
+ <code class="ruby"> result = run_request(endpoint, query_string)</code>
1544
+ </li>
1545
+
1546
+ <li class="never" data-hits="" data-linenumber="183">
1547
+
1548
+
1549
+ <code class="ruby"> else</code>
1550
+ </li>
1551
+
1552
+ <li class="missed" data-hits="0" data-linenumber="184">
1553
+
1554
+
1555
+ <code class="ruby"> cache_key = &#39;storyblok:&#39; + configuration[:token] + &#39;:v:&#39; + query[:cv] + &#39;:&#39; + request.url + &#39;:&#39; + Base64.encode64(query_string)</code>
1556
+ </li>
1557
+
1558
+ <li class="never" data-hits="" data-linenumber="185">
1559
+
1560
+
1561
+ <code class="ruby"></code>
1562
+ </li>
1563
+
1564
+ <li class="missed" data-hits="0" data-linenumber="186">
1565
+
1566
+
1567
+ <code class="ruby"> result = cache.cache(cache_key) do</code>
1568
+ </li>
1569
+
1570
+ <li class="missed" data-hits="0" data-linenumber="187">
1571
+
1572
+
1573
+ <code class="ruby"> run_request(endpoint, query_string)</code>
1574
+ </li>
1575
+
1576
+ <li class="never" data-hits="" data-linenumber="188">
1577
+
1578
+
1579
+ <code class="ruby"> end</code>
1580
+ </li>
1581
+
1582
+ <li class="never" data-hits="" data-linenumber="189">
1583
+
1584
+
1585
+ <code class="ruby"> end</code>
1586
+ </li>
1587
+
1588
+ <li class="never" data-hits="" data-linenumber="190">
1589
+
1590
+
1591
+ <code class="ruby"></code>
1592
+ </li>
1593
+
1594
+ <li class="covered" data-hits="1" data-linenumber="191">
1595
+ <span class="hits">1</span>
1596
+
1597
+ <code class="ruby"> result = JSON.parse(result)</code>
1598
+ </li>
1599
+
1600
+ <li class="never" data-hits="" data-linenumber="192">
1601
+
1602
+
1603
+ <code class="ruby"></code>
1604
+ </li>
1605
+
1606
+ <li class="covered" data-hits="1" data-linenumber="193">
1607
+ <span class="hits">1</span>
1608
+
1609
+ <code class="ruby"> if !result.dig(&#39;data&#39;, &#39;story&#39;).nil? || !result.dig(&#39;data&#39;, &#39;stories&#39;).nil?</code>
1610
+ </li>
1611
+
1612
+ <li class="covered" data-hits="1" data-linenumber="194">
1613
+ <span class="hits">1</span>
1614
+
1615
+ <code class="ruby"> result = resolve_stories(result, query)</code>
1616
+ </li>
1617
+
1618
+ <li class="never" data-hits="" data-linenumber="195">
1619
+
1620
+
1621
+ <code class="ruby"> end</code>
1622
+ </li>
1623
+
1624
+ <li class="never" data-hits="" data-linenumber="196">
1625
+
1626
+
1627
+ <code class="ruby"></code>
1628
+ </li>
1629
+
1630
+ <li class="covered" data-hits="1" data-linenumber="197">
1631
+ <span class="hits">1</span>
1632
+
1633
+ <code class="ruby"> result</code>
1634
+ </li>
1635
+
1636
+ <li class="never" data-hits="" data-linenumber="198">
1637
+
1638
+
1639
+ <code class="ruby"> end</code>
1640
+ </li>
1641
+
1642
+ <li class="never" data-hits="" data-linenumber="199">
1643
+
1644
+
1645
+ <code class="ruby"></code>
1646
+ </li>
1647
+
1648
+ <li class="covered" data-hits="1" data-linenumber="200">
1649
+ <span class="hits">1</span>
1650
+
1651
+ <code class="ruby"> def flush</code>
1652
+ </li>
1653
+
1654
+ <li class="missed" data-hits="0" data-linenumber="201">
1655
+
1656
+
1657
+ <code class="ruby"> unless cache.nil?</code>
1658
+ </li>
1659
+
1660
+ <li class="missed" data-hits="0" data-linenumber="202">
1661
+
1662
+
1663
+ <code class="ruby"> cache.set(&#39;storyblok:&#39; + configuration[:token] + &#39;:version&#39;, space[&#39;data&#39;][&#39;space&#39;][&#39;version&#39;])</code>
1664
+ </li>
1665
+
1666
+ <li class="never" data-hits="" data-linenumber="203">
1667
+
1668
+
1669
+ <code class="ruby"> end</code>
1670
+ </li>
1671
+
1672
+ <li class="never" data-hits="" data-linenumber="204">
1673
+
1674
+
1675
+ <code class="ruby"> end</code>
1676
+ </li>
1677
+
1678
+ <li class="never" data-hits="" data-linenumber="205">
1679
+
1680
+
1681
+ <code class="ruby"></code>
1682
+ </li>
1683
+
1684
+ <li class="never" data-hits="" data-linenumber="206">
1685
+
1686
+
1687
+ <code class="ruby"> # Returns html from richtext field data</code>
1688
+ </li>
1689
+
1690
+ <li class="never" data-hits="" data-linenumber="207">
1691
+
1692
+
1693
+ <code class="ruby"> #</code>
1694
+ </li>
1695
+
1696
+ <li class="never" data-hits="" data-linenumber="208">
1697
+
1698
+
1699
+ <code class="ruby"> # @param [Hash] :data</code>
1700
+ </li>
1701
+
1702
+ <li class="never" data-hits="" data-linenumber="209">
1703
+
1704
+
1705
+ <code class="ruby"> #</code>
1706
+ </li>
1707
+
1708
+ <li class="never" data-hits="" data-linenumber="210">
1709
+
1710
+
1711
+ <code class="ruby"> # @return [String]</code>
1712
+ </li>
1713
+
1714
+ <li class="covered" data-hits="1" data-linenumber="211">
1715
+ <span class="hits">1</span>
1716
+
1717
+ <code class="ruby"> def render data</code>
1718
+ </li>
1719
+
1720
+ <li class="missed" data-hits="0" data-linenumber="212">
1721
+
1722
+
1723
+ <code class="ruby"> @renderer.render(data)</code>
1724
+ </li>
1725
+
1726
+ <li class="never" data-hits="" data-linenumber="213">
1727
+
1728
+
1729
+ <code class="ruby"> end</code>
1730
+ </li>
1731
+
1732
+ <li class="never" data-hits="" data-linenumber="214">
1733
+
1734
+
1735
+ <code class="ruby"></code>
1736
+ </li>
1737
+
1738
+ <li class="never" data-hits="" data-linenumber="215">
1739
+
1740
+
1741
+ <code class="ruby"> # Sets component resolver</code>
1742
+ </li>
1743
+
1744
+ <li class="never" data-hits="" data-linenumber="216">
1745
+
1746
+
1747
+ <code class="ruby"> #</code>
1748
+ </li>
1749
+
1750
+ <li class="never" data-hits="" data-linenumber="217">
1751
+
1752
+
1753
+ <code class="ruby"> # @param [Proc] :component_resolver</code>
1754
+ </li>
1755
+
1756
+ <li class="never" data-hits="" data-linenumber="218">
1757
+
1758
+
1759
+ <code class="ruby"> #</code>
1760
+ </li>
1761
+
1762
+ <li class="never" data-hits="" data-linenumber="219">
1763
+
1764
+
1765
+ <code class="ruby"> # @return [nil]</code>
1766
+ </li>
1767
+
1768
+ <li class="covered" data-hits="1" data-linenumber="220">
1769
+ <span class="hits">1</span>
1770
+
1771
+ <code class="ruby"> def set_component_resolver component_resolver</code>
1772
+ </li>
1773
+
1774
+ <li class="missed" data-hits="0" data-linenumber="221">
1775
+
1776
+
1777
+ <code class="ruby"> @renderer.set_component_resolver(component_resolver)</code>
1778
+ </li>
1779
+
1780
+ <li class="never" data-hits="" data-linenumber="222">
1781
+
1782
+
1783
+ <code class="ruby"> end</code>
1784
+ </li>
1785
+
1786
+ <li class="never" data-hits="" data-linenumber="223">
1787
+
1788
+
1789
+ <code class="ruby"></code>
1790
+ </li>
1791
+
1792
+ <li class="covered" data-hits="1" data-linenumber="224">
1793
+ <span class="hits">1</span>
1794
+
1795
+ <code class="ruby"> private</code>
1796
+ </li>
1797
+
1798
+ <li class="covered" data-hits="1" data-linenumber="225">
1799
+ <span class="hits">1</span>
1800
+
1801
+ <code class="ruby"> def parse_result(res)</code>
1802
+ </li>
1803
+
1804
+ <li class="missed" data-hits="0" data-linenumber="226">
1805
+
1806
+
1807
+ <code class="ruby"> { &#39;headers&#39; =&gt; res.headers, &#39;data&#39; =&gt; JSON.parse(res.body) }</code>
1808
+ </li>
1809
+
1810
+ <li class="never" data-hits="" data-linenumber="227">
1811
+
1812
+
1813
+ <code class="ruby"> end</code>
1814
+ </li>
1815
+
1816
+ <li class="never" data-hits="" data-linenumber="228">
1817
+
1818
+
1819
+ <code class="ruby"></code>
1820
+ </li>
1821
+
1822
+ <li class="covered" data-hits="1" data-linenumber="229">
1823
+ <span class="hits">1</span>
1824
+
1825
+ <code class="ruby"> def run_request(endpoint, query_string)</code>
1826
+ </li>
1827
+
1828
+ <li class="covered" data-hits="1" data-linenumber="230">
1829
+ <span class="hits">1</span>
1830
+
1831
+ <code class="ruby"> logger.info(request: { endpoint: endpoint, query: query_string }) if logger</code>
1832
+ </li>
1833
+
1834
+ <li class="never" data-hits="" data-linenumber="231">
1835
+
1836
+
1837
+ <code class="ruby"></code>
1838
+ </li>
1839
+
1840
+ <li class="covered" data-hits="1" data-linenumber="232">
1841
+ <span class="hits">1</span>
1842
+
1843
+ <code class="ruby"> retries_left = 3</code>
1844
+ </li>
1845
+
1846
+ <li class="never" data-hits="" data-linenumber="233">
1847
+
1848
+
1849
+ <code class="ruby"></code>
1850
+ </li>
1851
+
1852
+ <li class="never" data-hits="" data-linenumber="234">
1853
+
1854
+
1855
+ <code class="ruby"> begin</code>
1856
+ </li>
1857
+
1858
+ <li class="covered" data-hits="1" data-linenumber="235">
1859
+ <span class="hits">1</span>
1860
+
1861
+ <code class="ruby"> res = RestClient.get &quot;#{endpoint}?#{query_string}&quot;</code>
1862
+ </li>
1863
+
1864
+ <li class="never" data-hits="" data-linenumber="236">
1865
+
1866
+
1867
+ <code class="ruby"> rescue RestClient::TooManyRequests</code>
1868
+ </li>
1869
+
1870
+ <li class="missed" data-hits="0" data-linenumber="237">
1871
+
1872
+
1873
+ <code class="ruby"> if retries_left != 0</code>
1874
+ </li>
1875
+
1876
+ <li class="missed" data-hits="0" data-linenumber="238">
1877
+
1878
+
1879
+ <code class="ruby"> retries_left -= 1</code>
1880
+ </li>
1881
+
1882
+ <li class="missed" data-hits="0" data-linenumber="239">
1883
+
1884
+
1885
+ <code class="ruby"> logger.info(&quot;Too many requests. Retry nr. #{(3 - retries_left).to_s} of max. 3 times.&quot;) if logger</code>
1886
+ </li>
1887
+
1888
+ <li class="missed" data-hits="0" data-linenumber="240">
1889
+
1890
+
1891
+ <code class="ruby"> sleep(0.5)</code>
1892
+ </li>
1893
+
1894
+ <li class="missed" data-hits="0" data-linenumber="241">
1895
+
1896
+
1897
+ <code class="ruby"> retry</code>
1898
+ </li>
1899
+
1900
+ <li class="never" data-hits="" data-linenumber="242">
1901
+
1902
+
1903
+ <code class="ruby"> end</code>
1904
+ </li>
1905
+
1906
+ <li class="never" data-hits="" data-linenumber="243">
1907
+
1908
+
1909
+ <code class="ruby"></code>
1910
+ </li>
1911
+
1912
+ <li class="missed" data-hits="0" data-linenumber="244">
1913
+
1914
+
1915
+ <code class="ruby"> raise</code>
1916
+ </li>
1917
+
1918
+ <li class="never" data-hits="" data-linenumber="245">
1919
+
1920
+
1921
+ <code class="ruby"> end</code>
1922
+ </li>
1923
+
1924
+ <li class="never" data-hits="" data-linenumber="246">
1925
+
1926
+
1927
+ <code class="ruby"></code>
1928
+ </li>
1929
+
1930
+ <li class="covered" data-hits="1" data-linenumber="247">
1931
+ <span class="hits">1</span>
1932
+
1933
+ <code class="ruby"> body = JSON.parse(res.body)</code>
1934
+ </li>
1935
+
1936
+ <li class="covered" data-hits="1" data-linenumber="248">
1937
+ <span class="hits">1</span>
1938
+
1939
+ <code class="ruby"> self.cache_version = body[&#39;cv&#39;] if body[&#39;cv&#39;]</code>
1940
+ </li>
1941
+
1942
+ <li class="never" data-hits="" data-linenumber="249">
1943
+
1944
+
1945
+ <code class="ruby"></code>
1946
+ </li>
1947
+
1948
+ <li class="covered" data-hits="1" data-linenumber="250">
1949
+ <span class="hits">1</span>
1950
+
1951
+ <code class="ruby"> unless cache.nil?</code>
1952
+ </li>
1953
+
1954
+ <li class="missed" data-hits="0" data-linenumber="251">
1955
+
1956
+
1957
+ <code class="ruby"> cache.set(&#39;storyblok:&#39; + configuration[:token] + &#39;:version&#39;, cache_version)</code>
1958
+ </li>
1959
+
1960
+ <li class="never" data-hits="" data-linenumber="252">
1961
+
1962
+
1963
+ <code class="ruby"> end</code>
1964
+ </li>
1965
+
1966
+ <li class="never" data-hits="" data-linenumber="253">
1967
+
1968
+
1969
+ <code class="ruby"></code>
1970
+ </li>
1971
+
1972
+ <li class="covered" data-hits="1" data-linenumber="254">
1973
+ <span class="hits">1</span>
1974
+
1975
+ <code class="ruby"> { &#39;headers&#39; =&gt; res.headers, &#39;data&#39; =&gt; body }.to_json</code>
1976
+ </li>
1977
+
1978
+ <li class="never" data-hits="" data-linenumber="255">
1979
+
1980
+
1981
+ <code class="ruby"> end</code>
1982
+ </li>
1983
+
1984
+ <li class="never" data-hits="" data-linenumber="256">
1985
+
1986
+
1987
+ <code class="ruby"></code>
1988
+ </li>
1989
+
1990
+ <li class="never" data-hits="" data-linenumber="257">
1991
+
1992
+
1993
+ <code class="ruby"> # Patches a query hash with the client configurations for queries</code>
1994
+ </li>
1995
+
1996
+ <li class="covered" data-hits="1" data-linenumber="258">
1997
+ <span class="hits">1</span>
1998
+
1999
+ <code class="ruby"> def request_query(query)</code>
2000
+ </li>
2001
+
2002
+ <li class="covered" data-hits="1" data-linenumber="259">
2003
+ <span class="hits">1</span>
2004
+
2005
+ <code class="ruby"> query[:token] = configuration[:token] if query[:token].nil?</code>
2006
+ </li>
2007
+
2008
+ <li class="covered" data-hits="1" data-linenumber="260">
2009
+ <span class="hits">1</span>
2010
+
2011
+ <code class="ruby"> query[:version] = configuration[:version] if query[:version].nil?</code>
2012
+ </li>
2013
+
2014
+ <li class="never" data-hits="" data-linenumber="261">
2015
+
2016
+
2017
+ <code class="ruby"></code>
2018
+ </li>
2019
+
2020
+ <li class="covered" data-hits="1" data-linenumber="262">
2021
+ <span class="hits">1</span>
2022
+
2023
+ <code class="ruby"> unless cache.nil?</code>
2024
+ </li>
2025
+
2026
+ <li class="missed" data-hits="0" data-linenumber="263">
2027
+
2028
+
2029
+ <code class="ruby"> query[:cv] = (cache.get(&#39;storyblok:&#39; + configuration[:token] + &#39;:version&#39;) or cache_version) if query[:cv].nil?</code>
2030
+ </li>
2031
+
2032
+ <li class="never" data-hits="" data-linenumber="264">
2033
+
2034
+
2035
+ <code class="ruby"> else</code>
2036
+ </li>
2037
+
2038
+ <li class="covered" data-hits="1" data-linenumber="265">
2039
+ <span class="hits">1</span>
2040
+
2041
+ <code class="ruby"> query[:cv] = cache_version if query[:cv].nil?</code>
2042
+ </li>
2043
+
2044
+ <li class="never" data-hits="" data-linenumber="266">
2045
+
2046
+
2047
+ <code class="ruby"> end</code>
2048
+ </li>
2049
+
2050
+ <li class="never" data-hits="" data-linenumber="267">
2051
+
2052
+
2053
+ <code class="ruby"></code>
2054
+ </li>
2055
+
2056
+ <li class="covered" data-hits="1" data-linenumber="268">
2057
+ <span class="hits">1</span>
2058
+
2059
+ <code class="ruby"> query</code>
2060
+ </li>
2061
+
2062
+ <li class="never" data-hits="" data-linenumber="269">
2063
+
2064
+
2065
+ <code class="ruby"> end</code>
2066
+ </li>
2067
+
2068
+ <li class="never" data-hits="" data-linenumber="270">
2069
+
2070
+
2071
+ <code class="ruby"></code>
2072
+ </li>
2073
+
2074
+ <li class="never" data-hits="" data-linenumber="271">
2075
+
2076
+
2077
+ <code class="ruby"> # Returns the base url for all of the client&#39;s requests</code>
2078
+ </li>
2079
+
2080
+ <li class="covered" data-hits="1" data-linenumber="272">
2081
+ <span class="hits">1</span>
2082
+
2083
+ <code class="ruby"> def base_url</code>
2084
+ </li>
2085
+
2086
+ <li class="covered" data-hits="1" data-linenumber="273">
2087
+ <span class="hits">1</span>
2088
+
2089
+ <code class="ruby"> if !configuration[:api_url]</code>
2090
+ </li>
2091
+
2092
+ <li class="covered" data-hits="1" data-linenumber="274">
2093
+ <span class="hits">1</span>
2094
+
2095
+ <code class="ruby"> region = configuration[:api_region] ? &quot;-#{configuration[:api_region]}&quot; : &quot;&quot;</code>
2096
+ </li>
2097
+
2098
+ <li class="covered" data-hits="1" data-linenumber="275">
2099
+ <span class="hits">1</span>
2100
+
2101
+ <code class="ruby"> &quot;http#{configuration[:secure] ? &#39;s&#39; : &#39;&#39;}://api#{region}.storyblok.com/v#{configuration[:api_version]}&quot;</code>
2102
+ </li>
2103
+
2104
+ <li class="never" data-hits="" data-linenumber="276">
2105
+
2106
+
2107
+ <code class="ruby"> else</code>
2108
+ </li>
2109
+
2110
+ <li class="missed" data-hits="0" data-linenumber="277">
2111
+
2112
+
2113
+ <code class="ruby"> &quot;http#{configuration[:secure] ? &#39;s&#39; : &#39;&#39;}://#{configuration[:api_url]}/v#{configuration[:api_version]}&quot;</code>
2114
+ </li>
2115
+
2116
+ <li class="never" data-hits="" data-linenumber="278">
2117
+
2118
+
2119
+ <code class="ruby"> end</code>
2120
+ </li>
2121
+
2122
+ <li class="never" data-hits="" data-linenumber="279">
2123
+
2124
+
2125
+ <code class="ruby"> end</code>
2126
+ </li>
2127
+
2128
+ <li class="never" data-hits="" data-linenumber="280">
2129
+
2130
+
2131
+ <code class="ruby"></code>
2132
+ </li>
2133
+
2134
+ <li class="covered" data-hits="1" data-linenumber="281">
2135
+ <span class="hits">1</span>
2136
+
2137
+ <code class="ruby"> def default_configuration</code>
2138
+ </li>
2139
+
2140
+ <li class="covered" data-hits="1" data-linenumber="282">
2141
+ <span class="hits">1</span>
2142
+
2143
+ <code class="ruby"> DEFAULT_CONFIGURATION.dup</code>
2144
+ </li>
2145
+
2146
+ <li class="never" data-hits="" data-linenumber="283">
2147
+
2148
+
2149
+ <code class="ruby"> end</code>
2150
+ </li>
2151
+
2152
+ <li class="never" data-hits="" data-linenumber="284">
2153
+
2154
+
2155
+ <code class="ruby"></code>
2156
+ </li>
2157
+
2158
+ <li class="covered" data-hits="1" data-linenumber="285">
2159
+ <span class="hits">1</span>
2160
+
2161
+ <code class="ruby"> def cache</code>
2162
+ </li>
2163
+
2164
+ <li class="covered" data-hits="3" data-linenumber="286">
2165
+ <span class="hits">3</span>
2166
+
2167
+ <code class="ruby"> configuration[:cache]</code>
2168
+ </li>
2169
+
2170
+ <li class="never" data-hits="" data-linenumber="287">
2171
+
2172
+
2173
+ <code class="ruby"> end</code>
2174
+ </li>
2175
+
2176
+ <li class="never" data-hits="" data-linenumber="288">
2177
+
2178
+
2179
+ <code class="ruby"></code>
2180
+ </li>
2181
+
2182
+ <li class="covered" data-hits="1" data-linenumber="289">
2183
+ <span class="hits">1</span>
2184
+
2185
+ <code class="ruby"> def setup_logger</code>
2186
+ </li>
2187
+
2188
+ <li class="covered" data-hits="1" data-linenumber="290">
2189
+ <span class="hits">1</span>
2190
+
2191
+ <code class="ruby"> @logger = configuration[:logger]</code>
2192
+ </li>
2193
+
2194
+ <li class="covered" data-hits="1" data-linenumber="291">
2195
+ <span class="hits">1</span>
2196
+
2197
+ <code class="ruby"> logger.level = configuration[:log_level] if logger</code>
2198
+ </li>
2199
+
2200
+ <li class="never" data-hits="" data-linenumber="292">
2201
+
2202
+
2203
+ <code class="ruby"> end</code>
2204
+ </li>
2205
+
2206
+ <li class="never" data-hits="" data-linenumber="293">
2207
+
2208
+
2209
+ <code class="ruby"></code>
2210
+ </li>
2211
+
2212
+ <li class="covered" data-hits="1" data-linenumber="294">
2213
+ <span class="hits">1</span>
2214
+
2215
+ <code class="ruby"> def validate_configuration!</code>
2216
+ </li>
2217
+
2218
+ <li class="covered" data-hits="1" data-linenumber="295">
2219
+ <span class="hits">1</span>
2220
+
2221
+ <code class="ruby"> fail ArgumentError, &#39;You will need to initialize a client with an :token or :oauth_token&#39; if !configuration[:token] and !configuration[:oauth_token]</code>
2222
+ </li>
2223
+
2224
+ <li class="covered" data-hits="1" data-linenumber="296">
2225
+ <span class="hits">1</span>
2226
+
2227
+ <code class="ruby"> fail ArgumentError, &#39;The :api_version must be a positive number&#39; unless configuration[:api_version].to_i &gt;= 0</code>
2228
+ </li>
2229
+
2230
+ <li class="never" data-hits="" data-linenumber="297">
2231
+
2232
+
2233
+ <code class="ruby"> end</code>
2234
+ </li>
2235
+
2236
+ <li class="never" data-hits="" data-linenumber="298">
2237
+
2238
+
2239
+ <code class="ruby"></code>
2240
+ </li>
2241
+
2242
+ <li class="covered" data-hits="1" data-linenumber="299">
2243
+ <span class="hits">1</span>
2244
+
2245
+ <code class="ruby"> def build_nested_query(value, prefix = nil)</code>
2246
+ </li>
2247
+
2248
+ <li class="covered" data-hits="4" data-linenumber="300">
2249
+ <span class="hits">4</span>
2250
+
2251
+ <code class="ruby"> case value</code>
2252
+ </li>
2253
+
2254
+ <li class="never" data-hits="" data-linenumber="301">
2255
+
2256
+
2257
+ <code class="ruby"> when Array</code>
2258
+ </li>
2259
+
2260
+ <li class="missed" data-hits="0" data-linenumber="302">
2261
+
2262
+
2263
+ <code class="ruby"> value.map { |v|</code>
2264
+ </li>
2265
+
2266
+ <li class="missed" data-hits="0" data-linenumber="303">
2267
+
2268
+
2269
+ <code class="ruby"> build_nested_query(v, &quot;#{prefix}[]&quot;)</code>
2270
+ </li>
2271
+
2272
+ <li class="never" data-hits="" data-linenumber="304">
2273
+
2274
+
2275
+ <code class="ruby"> }.join(&quot;&amp;&quot;)</code>
2276
+ </li>
2277
+
2278
+ <li class="never" data-hits="" data-linenumber="305">
2279
+
2280
+
2281
+ <code class="ruby"> when Hash</code>
2282
+ </li>
2283
+
2284
+ <li class="covered" data-hits="1" data-linenumber="306">
2285
+ <span class="hits">1</span>
2286
+
2287
+ <code class="ruby"> value.map { |k, v|</code>
2288
+ </li>
2289
+
2290
+ <li class="covered" data-hits="3" data-linenumber="307">
2291
+ <span class="hits">3</span>
2292
+
2293
+ <code class="ruby"> build_nested_query(v,</code>
2294
+ </li>
2295
+
2296
+ <li class="covered" data-hits="3" data-linenumber="308">
2297
+ <span class="hits">3</span>
2298
+
2299
+ <code class="ruby"> prefix ? &quot;#{prefix}[#{URI.encode_www_form_component(k)}]&quot; : URI.encode_www_form_component(k))</code>
2300
+ </li>
2301
+
2302
+ <li class="never" data-hits="" data-linenumber="309">
2303
+
2304
+
2305
+ <code class="ruby"> }.reject(&amp;:empty?).join(&#39;&amp;&#39;)</code>
2306
+ </li>
2307
+
2308
+ <li class="never" data-hits="" data-linenumber="310">
2309
+
2310
+
2311
+ <code class="ruby"> when nil</code>
2312
+ </li>
2313
+
2314
+ <li class="missed" data-hits="0" data-linenumber="311">
2315
+
2316
+
2317
+ <code class="ruby"> prefix</code>
2318
+ </li>
2319
+
2320
+ <li class="never" data-hits="" data-linenumber="312">
2321
+
2322
+
2323
+ <code class="ruby"> else</code>
2324
+ </li>
2325
+
2326
+ <li class="covered" data-hits="3" data-linenumber="313">
2327
+ <span class="hits">3</span>
2328
+
2329
+ <code class="ruby"> raise ArgumentError, &quot;value must be a Hash&quot; if prefix.nil?</code>
2330
+ </li>
2331
+
2332
+ <li class="never" data-hits="" data-linenumber="314">
2333
+
2334
+
2335
+ <code class="ruby"></code>
2336
+ </li>
2337
+
2338
+ <li class="covered" data-hits="3" data-linenumber="315">
2339
+ <span class="hits">3</span>
2340
+
2341
+ <code class="ruby"> &quot;#{prefix}=#{URI.encode_www_form_component(value)}&quot;</code>
2342
+ </li>
2343
+
2344
+ <li class="never" data-hits="" data-linenumber="316">
2345
+
2346
+
2347
+ <code class="ruby"> end</code>
2348
+ </li>
2349
+
2350
+ <li class="never" data-hits="" data-linenumber="317">
2351
+
2352
+
2353
+ <code class="ruby"> end</code>
2354
+ </li>
2355
+
2356
+ <li class="never" data-hits="" data-linenumber="318">
2357
+
2358
+
2359
+ <code class="ruby"></code>
2360
+ </li>
2361
+
2362
+ <li class="covered" data-hits="1" data-linenumber="319">
2363
+ <span class="hits">1</span>
2364
+
2365
+ <code class="ruby"> def resolve_stories(result, params)</code>
2366
+ </li>
2367
+
2368
+ <li class="covered" data-hits="1" data-linenumber="320">
2369
+ <span class="hits">1</span>
2370
+
2371
+ <code class="ruby"> data = result[&#39;data&#39;]</code>
2372
+ </li>
2373
+
2374
+ <li class="covered" data-hits="1" data-linenumber="321">
2375
+ <span class="hits">1</span>
2376
+
2377
+ <code class="ruby"> rels = data[&#39;rels&#39;]</code>
2378
+ </li>
2379
+
2380
+ <li class="covered" data-hits="1" data-linenumber="322">
2381
+ <span class="hits">1</span>
2382
+
2383
+ <code class="ruby"> links = data[&#39;links&#39;]</code>
2384
+ </li>
2385
+
2386
+ <li class="covered" data-hits="1" data-linenumber="323">
2387
+ <span class="hits">1</span>
2388
+
2389
+ <code class="ruby"> resolve_relations = params[:resolve_relations] || params[&quot;resolve_relations&quot;]</code>
2390
+ </li>
2391
+
2392
+ <li class="never" data-hits="" data-linenumber="324">
2393
+
2394
+
2395
+ <code class="ruby"></code>
2396
+ </li>
2397
+
2398
+ <li class="covered" data-hits="1" data-linenumber="325">
2399
+ <span class="hits">1</span>
2400
+
2401
+ <code class="ruby"> if data[&#39;stories&#39;].nil?</code>
2402
+ </li>
2403
+
2404
+ <li class="missed" data-hits="0" data-linenumber="326">
2405
+
2406
+
2407
+ <code class="ruby"> find_and_fill_relations(data.dig(&#39;story&#39;, &#39;content&#39;), resolve_relations, rels)</code>
2408
+ </li>
2409
+
2410
+ <li class="missed" data-hits="0" data-linenumber="327">
2411
+
2412
+
2413
+ <code class="ruby"> find_and_fill_links(data.dig(&#39;story&#39;, &#39;content&#39;), links)</code>
2414
+ </li>
2415
+
2416
+ <li class="never" data-hits="" data-linenumber="328">
2417
+
2418
+
2419
+ <code class="ruby"> else</code>
2420
+ </li>
2421
+
2422
+ <li class="covered" data-hits="1" data-linenumber="329">
2423
+ <span class="hits">1</span>
2424
+
2425
+ <code class="ruby"> data[&#39;stories&#39;].each do |story|</code>
2426
+ </li>
2427
+
2428
+ <li class="covered" data-hits="1" data-linenumber="330">
2429
+ <span class="hits">1</span>
2430
+
2431
+ <code class="ruby"> find_and_fill_relations(story[&#39;content&#39;], resolve_relations, rels)</code>
2432
+ </li>
2433
+
2434
+ <li class="covered" data-hits="1" data-linenumber="331">
2435
+ <span class="hits">1</span>
2436
+
2437
+ <code class="ruby"> find_and_fill_links(story[&#39;content&#39;], links)</code>
2438
+ </li>
2439
+
2440
+ <li class="never" data-hits="" data-linenumber="332">
2441
+
2442
+
2443
+ <code class="ruby"> end</code>
2444
+ </li>
2445
+
2446
+ <li class="never" data-hits="" data-linenumber="333">
2447
+
2448
+
2449
+ <code class="ruby"> end</code>
2450
+ </li>
2451
+
2452
+ <li class="never" data-hits="" data-linenumber="334">
2453
+
2454
+
2455
+ <code class="ruby"></code>
2456
+ </li>
2457
+
2458
+ <li class="covered" data-hits="1" data-linenumber="335">
2459
+ <span class="hits">1</span>
2460
+
2461
+ <code class="ruby"> result</code>
2462
+ </li>
2463
+
2464
+ <li class="never" data-hits="" data-linenumber="336">
2465
+
2466
+
2467
+ <code class="ruby"> end</code>
2468
+ </li>
2469
+
2470
+ <li class="never" data-hits="" data-linenumber="337">
2471
+
2472
+
2473
+ <code class="ruby"></code>
2474
+ </li>
2475
+
2476
+ <li class="covered" data-hits="1" data-linenumber="338">
2477
+ <span class="hits">1</span>
2478
+
2479
+ <code class="ruby"> def find_and_fill_links(content, links)</code>
2480
+ </li>
2481
+
2482
+ <li class="covered" data-hits="1" data-linenumber="339">
2483
+ <span class="hits">1</span>
2484
+
2485
+ <code class="ruby"> return if content.nil? || links.nil? || links.size.zero?</code>
2486
+ </li>
2487
+
2488
+ <li class="never" data-hits="" data-linenumber="340">
2489
+
2490
+
2491
+ <code class="ruby"></code>
2492
+ </li>
2493
+
2494
+ <li class="missed" data-hits="0" data-linenumber="341">
2495
+
2496
+
2497
+ <code class="ruby"> if content.is_a? Array</code>
2498
+ </li>
2499
+
2500
+ <li class="missed" data-hits="0" data-linenumber="342">
2501
+
2502
+
2503
+ <code class="ruby"> content.each do |item|</code>
2504
+ </li>
2505
+
2506
+ <li class="missed" data-hits="0" data-linenumber="343">
2507
+
2508
+
2509
+ <code class="ruby"> find_and_fill_links(item, links)</code>
2510
+ </li>
2511
+
2512
+ <li class="never" data-hits="" data-linenumber="344">
2513
+
2514
+
2515
+ <code class="ruby"> end</code>
2516
+ </li>
2517
+
2518
+ <li class="missed" data-hits="0" data-linenumber="345">
2519
+
2520
+
2521
+ <code class="ruby"> elsif content.is_a? Hash</code>
2522
+ </li>
2523
+
2524
+ <li class="missed" data-hits="0" data-linenumber="346">
2525
+
2526
+
2527
+ <code class="ruby"> content[&#39;story&#39;] = nil</code>
2528
+ </li>
2529
+
2530
+ <li class="missed" data-hits="0" data-linenumber="347">
2531
+
2532
+
2533
+ <code class="ruby"> content.each do |_k, value|</code>
2534
+ </li>
2535
+
2536
+ <li class="missed" data-hits="0" data-linenumber="348">
2537
+
2538
+
2539
+ <code class="ruby"> if !content[&#39;fieldtype&#39;].nil?</code>
2540
+ </li>
2541
+
2542
+ <li class="missed" data-hits="0" data-linenumber="349">
2543
+
2544
+
2545
+ <code class="ruby"> if content[&#39;fieldtype&#39;] == &#39;multilink&#39; &amp;&amp; content[&#39;linktype&#39;] == &#39;story&#39;</code>
2546
+ </li>
2547
+
2548
+ <li class="never" data-hits="" data-linenumber="350">
2549
+
2550
+
2551
+ <code class="ruby"> id =</code>
2552
+ </li>
2553
+
2554
+ <li class="missed" data-hits="0" data-linenumber="351">
2555
+
2556
+
2557
+ <code class="ruby"> if content[&#39;id&#39;].is_a? String</code>
2558
+ </li>
2559
+
2560
+ <li class="missed" data-hits="0" data-linenumber="352">
2561
+
2562
+
2563
+ <code class="ruby"> content[&#39;id&#39;]</code>
2564
+ </li>
2565
+
2566
+ <li class="missed" data-hits="0" data-linenumber="353">
2567
+
2568
+
2569
+ <code class="ruby"> elsif content[&#39;uuid&#39;].is_a? String</code>
2570
+ </li>
2571
+
2572
+ <li class="missed" data-hits="0" data-linenumber="354">
2573
+
2574
+
2575
+ <code class="ruby"> content[&#39;uuid&#39;]</code>
2576
+ </li>
2577
+
2578
+ <li class="never" data-hits="" data-linenumber="355">
2579
+
2580
+
2581
+ <code class="ruby"> end</code>
2582
+ </li>
2583
+
2584
+ <li class="never" data-hits="" data-linenumber="356">
2585
+
2586
+
2587
+ <code class="ruby"></code>
2588
+ </li>
2589
+
2590
+ <li class="missed" data-hits="0" data-linenumber="357">
2591
+
2592
+
2593
+ <code class="ruby"> links.each do |link|</code>
2594
+ </li>
2595
+
2596
+ <li class="missed" data-hits="0" data-linenumber="358">
2597
+
2598
+
2599
+ <code class="ruby"> if link[&#39;uuid&#39;] == id</code>
2600
+ </li>
2601
+
2602
+ <li class="missed" data-hits="0" data-linenumber="359">
2603
+
2604
+
2605
+ <code class="ruby"> content[&#39;story&#39;] = link</code>
2606
+ </li>
2607
+
2608
+ <li class="missed" data-hits="0" data-linenumber="360">
2609
+
2610
+
2611
+ <code class="ruby"> break</code>
2612
+ </li>
2613
+
2614
+ <li class="never" data-hits="" data-linenumber="361">
2615
+
2616
+
2617
+ <code class="ruby"> end</code>
2618
+ </li>
2619
+
2620
+ <li class="never" data-hits="" data-linenumber="362">
2621
+
2622
+
2623
+ <code class="ruby"> end</code>
2624
+ </li>
2625
+
2626
+ <li class="never" data-hits="" data-linenumber="363">
2627
+
2628
+
2629
+ <code class="ruby"> end</code>
2630
+ </li>
2631
+
2632
+ <li class="never" data-hits="" data-linenumber="364">
2633
+
2634
+
2635
+ <code class="ruby"> end</code>
2636
+ </li>
2637
+
2638
+ <li class="never" data-hits="" data-linenumber="365">
2639
+
2640
+
2641
+ <code class="ruby"></code>
2642
+ </li>
2643
+
2644
+ <li class="missed" data-hits="0" data-linenumber="366">
2645
+
2646
+
2647
+ <code class="ruby"> find_and_fill_links(value, links)</code>
2648
+ </li>
2649
+
2650
+ <li class="never" data-hits="" data-linenumber="367">
2651
+
2652
+
2653
+ <code class="ruby"> end</code>
2654
+ </li>
2655
+
2656
+ <li class="missed" data-hits="0" data-linenumber="368">
2657
+
2658
+
2659
+ <code class="ruby"> content.delete(&#39;story&#39;) if content[&#39;story&#39;].nil?</code>
2660
+ </li>
2661
+
2662
+ <li class="never" data-hits="" data-linenumber="369">
2663
+
2664
+
2665
+ <code class="ruby"> end</code>
2666
+ </li>
2667
+
2668
+ <li class="never" data-hits="" data-linenumber="370">
2669
+
2670
+
2671
+ <code class="ruby"> end</code>
2672
+ </li>
2673
+
2674
+ <li class="never" data-hits="" data-linenumber="371">
2675
+
2676
+
2677
+ <code class="ruby"></code>
2678
+ </li>
2679
+
2680
+ <li class="covered" data-hits="1" data-linenumber="372">
2681
+ <span class="hits">1</span>
2682
+
2683
+ <code class="ruby"> def find_and_fill_relations(content, relation_params, rels)</code>
2684
+ </li>
2685
+
2686
+ <li class="covered" data-hits="1" data-linenumber="373">
2687
+ <span class="hits">1</span>
2688
+
2689
+ <code class="ruby"> return if content.nil? || rels.nil? || rels.size.zero?</code>
2690
+ </li>
2691
+
2692
+ <li class="never" data-hits="" data-linenumber="374">
2693
+
2694
+
2695
+ <code class="ruby"></code>
2696
+ </li>
2697
+
2698
+ <li class="missed" data-hits="0" data-linenumber="375">
2699
+
2700
+
2701
+ <code class="ruby"> if content.is_a? Array</code>
2702
+ </li>
2703
+
2704
+ <li class="missed" data-hits="0" data-linenumber="376">
2705
+
2706
+
2707
+ <code class="ruby"> content.each do |item|</code>
2708
+ </li>
2709
+
2710
+ <li class="missed" data-hits="0" data-linenumber="377">
2711
+
2712
+
2713
+ <code class="ruby"> find_and_fill_relations(item, relation_params, rels)</code>
2714
+ </li>
2715
+
2716
+ <li class="never" data-hits="" data-linenumber="378">
2717
+
2718
+
2719
+ <code class="ruby"> end</code>
2720
+ </li>
2721
+
2722
+ <li class="missed" data-hits="0" data-linenumber="379">
2723
+
2724
+
2725
+ <code class="ruby"> elsif content.is_a? Hash</code>
2726
+ </li>
2727
+
2728
+ <li class="missed" data-hits="0" data-linenumber="380">
2729
+
2730
+
2731
+ <code class="ruby"> content.each do |_k, value|</code>
2732
+ </li>
2733
+
2734
+ <li class="missed" data-hits="0" data-linenumber="381">
2735
+
2736
+
2737
+ <code class="ruby"> if !content[&#39;component&#39;].nil? &amp;&amp; !content[&#39;_uid&#39;].nil?</code>
2738
+ </li>
2739
+
2740
+ <li class="missed" data-hits="0" data-linenumber="382">
2741
+
2742
+
2743
+ <code class="ruby"> relation_params.split(&#39;,&#39;).each do |relation|</code>
2744
+ </li>
2745
+
2746
+ <li class="missed" data-hits="0" data-linenumber="383">
2747
+
2748
+
2749
+ <code class="ruby"> component, field_name = relation.split(&#39;.&#39;)</code>
2750
+ </li>
2751
+
2752
+ <li class="never" data-hits="" data-linenumber="384">
2753
+
2754
+
2755
+ <code class="ruby"></code>
2756
+ </li>
2757
+
2758
+ <li class="missed" data-hits="0" data-linenumber="385">
2759
+
2760
+
2761
+ <code class="ruby"> if (content[&#39;component&#39;] == component) &amp;&amp; !content[field_name].nil?</code>
2762
+ </li>
2763
+
2764
+ <li class="missed" data-hits="0" data-linenumber="386">
2765
+
2766
+
2767
+ <code class="ruby"> rels.each do |rel|</code>
2768
+ </li>
2769
+
2770
+ <li class="missed" data-hits="0" data-linenumber="387">
2771
+
2772
+
2773
+ <code class="ruby"> index = content[field_name].index(rel[&#39;uuid&#39;])</code>
2774
+ </li>
2775
+
2776
+ <li class="missed" data-hits="0" data-linenumber="388">
2777
+
2778
+
2779
+ <code class="ruby"> if !index.nil?</code>
2780
+ </li>
2781
+
2782
+ <li class="missed" data-hits="0" data-linenumber="389">
2783
+
2784
+
2785
+ <code class="ruby"> content[field_name][index] = rel</code>
2786
+ </li>
2787
+
2788
+ <li class="never" data-hits="" data-linenumber="390">
2789
+
2790
+
2791
+ <code class="ruby"> end</code>
2792
+ </li>
2793
+
2794
+ <li class="never" data-hits="" data-linenumber="391">
2795
+
2796
+
2797
+ <code class="ruby"> end</code>
2798
+ </li>
2799
+
2800
+ <li class="never" data-hits="" data-linenumber="392">
2801
+
2802
+
2803
+ <code class="ruby"> end</code>
2804
+ </li>
2805
+
2806
+ <li class="never" data-hits="" data-linenumber="393">
2807
+
2808
+
2809
+ <code class="ruby"> end</code>
2810
+ </li>
2811
+
2812
+ <li class="never" data-hits="" data-linenumber="394">
2813
+
2814
+
2815
+ <code class="ruby"> end</code>
2816
+ </li>
2817
+
2818
+ <li class="never" data-hits="" data-linenumber="395">
2819
+
2820
+
2821
+ <code class="ruby"></code>
2822
+ </li>
2823
+
2824
+ <li class="missed" data-hits="0" data-linenumber="396">
2825
+
2826
+
2827
+ <code class="ruby"> find_and_fill_relations(value, relation_params, rels)</code>
2828
+ </li>
2829
+
2830
+ <li class="never" data-hits="" data-linenumber="397">
2831
+
2832
+
2833
+ <code class="ruby"> end</code>
2834
+ </li>
2835
+
2836
+ <li class="never" data-hits="" data-linenumber="398">
2837
+
2838
+
2839
+ <code class="ruby"> end</code>
2840
+ </li>
2841
+
2842
+ <li class="never" data-hits="" data-linenumber="399">
2843
+
2844
+
2845
+ <code class="ruby"> end</code>
2846
+ </li>
2847
+
2848
+ <li class="never" data-hits="" data-linenumber="400">
2849
+
2850
+
2851
+ <code class="ruby"> end</code>
2852
+ </li>
2853
+
2854
+ <li class="never" data-hits="" data-linenumber="401">
2855
+
2856
+
2857
+ <code class="ruby">end</code>
2858
+ </li>
2859
+
2860
+ </ol>
2861
+ </pre>
2862
+ </div>
2863
+
2864
+
2865
+ <div class="source_table" id="3846dec82cee306c736ccd6cc6381035e7a9b1cc">
2866
+ <div class="header">
2867
+ <h3>lib/storyblok/links.rb</h3>
2868
+ <h4><span class="red">27.27 %</span> covered</h4>
2869
+ <div>
2870
+ <b>22</b> relevant lines.
2871
+ <span class="green"><b>6</b> lines covered</span> and
2872
+ <span class="red"><b>16</b> lines missed.</span>
2873
+ </div>
2874
+ </div>
2875
+
2876
+ <pre>
2877
+ <ol>
2878
+
2879
+ <li class="covered" data-hits="1" data-linenumber="1">
2880
+ <span class="hits">1</span>
2881
+
2882
+ <code class="ruby">module Storyblok</code>
2883
+ </li>
2884
+
2885
+ <li class="covered" data-hits="1" data-linenumber="2">
2886
+ <span class="hits">1</span>
2887
+
2888
+ <code class="ruby"> class Links</code>
2889
+ </li>
2890
+
2891
+ <li class="covered" data-hits="1" data-linenumber="3">
2892
+ <span class="hits">1</span>
2893
+
2894
+ <code class="ruby"> def initialize(response_obj)</code>
2895
+ </li>
2896
+
2897
+ <li class="missed" data-hits="0" data-linenumber="4">
2898
+
2899
+
2900
+ <code class="ruby"> @links = response_obj[&quot;data&quot;][&quot;links&quot;]</code>
2901
+ </li>
2902
+
2903
+ <li class="never" data-hits="" data-linenumber="5">
2904
+
2905
+
2906
+ <code class="ruby"> end</code>
2907
+ </li>
2908
+
2909
+ <li class="never" data-hits="" data-linenumber="6">
2910
+
2911
+
2912
+ <code class="ruby"></code>
2913
+ </li>
2914
+
2915
+ <li class="covered" data-hits="1" data-linenumber="7">
2916
+ <span class="hits">1</span>
2917
+
2918
+ <code class="ruby"> def as_tree</code>
2919
+ </li>
2920
+
2921
+ <li class="missed" data-hits="0" data-linenumber="8">
2922
+
2923
+
2924
+ <code class="ruby"> tree = {}</code>
2925
+ </li>
2926
+
2927
+ <li class="never" data-hits="" data-linenumber="9">
2928
+
2929
+
2930
+ <code class="ruby"></code>
2931
+ </li>
2932
+
2933
+ <li class="missed" data-hits="0" data-linenumber="10">
2934
+
2935
+
2936
+ <code class="ruby"> @links.each do |key, item|</code>
2937
+ </li>
2938
+
2939
+ <li class="missed" data-hits="0" data-linenumber="11">
2940
+
2941
+
2942
+ <code class="ruby"> if tree[item[&quot;parent_id&quot;]].nil?</code>
2943
+ </li>
2944
+
2945
+ <li class="missed" data-hits="0" data-linenumber="12">
2946
+
2947
+
2948
+ <code class="ruby"> tree[item[&quot;parent_id&quot;]] = []</code>
2949
+ </li>
2950
+
2951
+ <li class="never" data-hits="" data-linenumber="13">
2952
+
2953
+
2954
+ <code class="ruby"> end</code>
2955
+ </li>
2956
+
2957
+ <li class="never" data-hits="" data-linenumber="14">
2958
+
2959
+
2960
+ <code class="ruby"></code>
2961
+ </li>
2962
+
2963
+ <li class="missed" data-hits="0" data-linenumber="15">
2964
+
2965
+
2966
+ <code class="ruby"> tree[item[&quot;parent_id&quot;]] &lt;&lt; item</code>
2967
+ </li>
2968
+
2969
+ <li class="never" data-hits="" data-linenumber="16">
2970
+
2971
+
2972
+ <code class="ruby"> end</code>
2973
+ </li>
2974
+
2975
+ <li class="never" data-hits="" data-linenumber="17">
2976
+
2977
+
2978
+ <code class="ruby"></code>
2979
+ </li>
2980
+
2981
+ <li class="missed" data-hits="0" data-linenumber="18">
2982
+
2983
+
2984
+ <code class="ruby"> generate_tree(0, tree)</code>
2985
+ </li>
2986
+
2987
+ <li class="never" data-hits="" data-linenumber="19">
2988
+
2989
+
2990
+ <code class="ruby"> end</code>
2991
+ </li>
2992
+
2993
+ <li class="never" data-hits="" data-linenumber="20">
2994
+
2995
+
2996
+ <code class="ruby"></code>
2997
+ </li>
2998
+
2999
+ <li class="covered" data-hits="1" data-linenumber="21">
3000
+ <span class="hits">1</span>
3001
+
3002
+ <code class="ruby"> private</code>
3003
+ </li>
3004
+
3005
+ <li class="covered" data-hits="1" data-linenumber="22">
3006
+ <span class="hits">1</span>
3007
+
3008
+ <code class="ruby"> def generate_tree(parent_id = 0, items)</code>
3009
+ </li>
3010
+
3011
+ <li class="missed" data-hits="0" data-linenumber="23">
3012
+
3013
+
3014
+ <code class="ruby"> tree = {}</code>
3015
+ </li>
3016
+
3017
+ <li class="never" data-hits="" data-linenumber="24">
3018
+
3019
+
3020
+ <code class="ruby"></code>
3021
+ </li>
3022
+
3023
+ <li class="missed" data-hits="0" data-linenumber="25">
3024
+
3025
+
3026
+ <code class="ruby"> if !items[parent_id].nil?</code>
3027
+ </li>
3028
+
3029
+ <li class="missed" data-hits="0" data-linenumber="26">
3030
+
3031
+
3032
+ <code class="ruby"> result = items[parent_id]</code>
3033
+ </li>
3034
+
3035
+ <li class="never" data-hits="" data-linenumber="27">
3036
+
3037
+
3038
+ <code class="ruby"></code>
3039
+ </li>
3040
+
3041
+ <li class="missed" data-hits="0" data-linenumber="28">
3042
+
3043
+
3044
+ <code class="ruby"> result.each do |item|</code>
3045
+ </li>
3046
+
3047
+ <li class="missed" data-hits="0" data-linenumber="29">
3048
+
3049
+
3050
+ <code class="ruby"> if tree[item[&quot;id&quot;]].nil?</code>
3051
+ </li>
3052
+
3053
+ <li class="missed" data-hits="0" data-linenumber="30">
3054
+
3055
+
3056
+ <code class="ruby"> tree[item[&quot;id&quot;]] = {}</code>
3057
+ </li>
3058
+
3059
+ <li class="never" data-hits="" data-linenumber="31">
3060
+
3061
+
3062
+ <code class="ruby"> end</code>
3063
+ </li>
3064
+
3065
+ <li class="never" data-hits="" data-linenumber="32">
3066
+
3067
+
3068
+ <code class="ruby"></code>
3069
+ </li>
3070
+
3071
+ <li class="missed" data-hits="0" data-linenumber="33">
3072
+
3073
+
3074
+ <code class="ruby"> tree[item[&quot;id&quot;]][&quot;item&quot;] = item</code>
3075
+ </li>
3076
+
3077
+ <li class="missed" data-hits="0" data-linenumber="34">
3078
+
3079
+
3080
+ <code class="ruby"> tree[item[&quot;id&quot;]][&quot;children&quot;] = generate_tree(item[&quot;id&quot;], items)</code>
3081
+ </li>
3082
+
3083
+ <li class="never" data-hits="" data-linenumber="35">
3084
+
3085
+
3086
+ <code class="ruby"> end</code>
3087
+ </li>
3088
+
3089
+ <li class="never" data-hits="" data-linenumber="36">
3090
+
3091
+
3092
+ <code class="ruby"> end</code>
3093
+ </li>
3094
+
3095
+ <li class="never" data-hits="" data-linenumber="37">
3096
+
3097
+
3098
+ <code class="ruby"></code>
3099
+ </li>
3100
+
3101
+ <li class="missed" data-hits="0" data-linenumber="38">
3102
+
3103
+
3104
+ <code class="ruby"> tree</code>
3105
+ </li>
3106
+
3107
+ <li class="never" data-hits="" data-linenumber="39">
3108
+
3109
+
3110
+ <code class="ruby"> end</code>
3111
+ </li>
3112
+
3113
+ <li class="never" data-hits="" data-linenumber="40">
3114
+
3115
+
3116
+ <code class="ruby"> end</code>
3117
+ </li>
3118
+
3119
+ <li class="never" data-hits="" data-linenumber="41">
3120
+
3121
+
3122
+ <code class="ruby">end</code>
3123
+ </li>
3124
+
3125
+ </ol>
3126
+ </pre>
3127
+ </div>
3128
+
3129
+
3130
+ <div class="source_table" id="70b299798924fab373f866c247e8f20b4f7c2747">
3131
+ <div class="header">
3132
+ <h3>lib/storyblok/request.rb</h3>
3133
+ <h4><span class="yellow">84.21 %</span> covered</h4>
3134
+ <div>
3135
+ <b>19</b> relevant lines.
3136
+ <span class="green"><b>16</b> lines covered</span> and
3137
+ <span class="red"><b>3</b> lines missed.</span>
3138
+ </div>
3139
+ </div>
3140
+
3141
+ <pre>
3142
+ <ol>
3143
+
3144
+ <li class="covered" data-hits="1" data-linenumber="1">
3145
+ <span class="hits">1</span>
3146
+
3147
+ <code class="ruby">module Storyblok</code>
3148
+ </li>
3149
+
3150
+ <li class="never" data-hits="" data-linenumber="2">
3151
+
3152
+
3153
+ <code class="ruby"> # This object represents a request that is to be made. It gets initialized by the client</code>
3154
+ </li>
3155
+
3156
+ <li class="never" data-hits="" data-linenumber="3">
3157
+
3158
+
3159
+ <code class="ruby"> # with domain specific logic. The client later uses the Request&#39;s #url and #query methods</code>
3160
+ </li>
3161
+
3162
+ <li class="never" data-hits="" data-linenumber="4">
3163
+
3164
+
3165
+ <code class="ruby"> # to execute the HTTP request.</code>
3166
+ </li>
3167
+
3168
+ <li class="covered" data-hits="1" data-linenumber="5">
3169
+ <span class="hits">1</span>
3170
+
3171
+ <code class="ruby"> class Request</code>
3172
+ </li>
3173
+
3174
+ <li class="covered" data-hits="1" data-linenumber="6">
3175
+ <span class="hits">1</span>
3176
+
3177
+ <code class="ruby"> attr_reader :client, :type, :query, :id, :endpoint</code>
3178
+ </li>
3179
+
3180
+ <li class="never" data-hits="" data-linenumber="7">
3181
+
3182
+
3183
+ <code class="ruby"></code>
3184
+ </li>
3185
+
3186
+ <li class="covered" data-hits="1" data-linenumber="8">
3187
+ <span class="hits">1</span>
3188
+
3189
+ <code class="ruby"> def initialize(client, endpoint, query = {}, id = nil, bypass_cache = false)</code>
3190
+ </li>
3191
+
3192
+ <li class="covered" data-hits="1" data-linenumber="9">
3193
+ <span class="hits">1</span>
3194
+
3195
+ <code class="ruby"> @client = client</code>
3196
+ </li>
3197
+
3198
+ <li class="covered" data-hits="1" data-linenumber="10">
3199
+ <span class="hits">1</span>
3200
+
3201
+ <code class="ruby"> @endpoint = endpoint</code>
3202
+ </li>
3203
+
3204
+ <li class="covered" data-hits="1" data-linenumber="11">
3205
+ <span class="hits">1</span>
3206
+
3207
+ <code class="ruby"> @query = query</code>
3208
+ </li>
3209
+
3210
+ <li class="covered" data-hits="1" data-linenumber="12">
3211
+ <span class="hits">1</span>
3212
+
3213
+ <code class="ruby"> @bypass_cache = bypass_cache</code>
3214
+ </li>
3215
+
3216
+ <li class="never" data-hits="" data-linenumber="13">
3217
+
3218
+
3219
+ <code class="ruby"></code>
3220
+ </li>
3221
+
3222
+ <li class="covered" data-hits="1" data-linenumber="14">
3223
+ <span class="hits">1</span>
3224
+
3225
+ <code class="ruby"> if id</code>
3226
+ </li>
3227
+
3228
+ <li class="missed" data-hits="0" data-linenumber="15">
3229
+
3230
+
3231
+ <code class="ruby"> @type = :single</code>
3232
+ </li>
3233
+
3234
+ <li class="missed" data-hits="0" data-linenumber="16">
3235
+
3236
+
3237
+ <code class="ruby"> @id = id</code>
3238
+ </li>
3239
+
3240
+ <li class="never" data-hits="" data-linenumber="17">
3241
+
3242
+
3243
+ <code class="ruby"> else</code>
3244
+ </li>
3245
+
3246
+ <li class="covered" data-hits="1" data-linenumber="18">
3247
+ <span class="hits">1</span>
3248
+
3249
+ <code class="ruby"> @type = :multi</code>
3250
+ </li>
3251
+
3252
+ <li class="covered" data-hits="1" data-linenumber="19">
3253
+ <span class="hits">1</span>
3254
+
3255
+ <code class="ruby"> @id = nil</code>
3256
+ </li>
3257
+
3258
+ <li class="never" data-hits="" data-linenumber="20">
3259
+
3260
+
3261
+ <code class="ruby"> end</code>
3262
+ </li>
3263
+
3264
+ <li class="never" data-hits="" data-linenumber="21">
3265
+
3266
+
3267
+ <code class="ruby"> end</code>
3268
+ </li>
3269
+
3270
+ <li class="never" data-hits="" data-linenumber="22">
3271
+
3272
+
3273
+ <code class="ruby"></code>
3274
+ </li>
3275
+
3276
+ <li class="never" data-hits="" data-linenumber="23">
3277
+
3278
+
3279
+ <code class="ruby"> # Returns the final URL, relative to a storyblok space</code>
3280
+ </li>
3281
+
3282
+ <li class="covered" data-hits="1" data-linenumber="24">
3283
+ <span class="hits">1</span>
3284
+
3285
+ <code class="ruby"> def url</code>
3286
+ </li>
3287
+
3288
+ <li class="covered" data-hits="1" data-linenumber="25">
3289
+ <span class="hits">1</span>
3290
+
3291
+ <code class="ruby"> &quot;#{@endpoint}#{@type == :single ? &quot;/#{id}&quot; : &#39;&#39;}&quot;</code>
3292
+ </li>
3293
+
3294
+ <li class="never" data-hits="" data-linenumber="26">
3295
+
3296
+
3297
+ <code class="ruby"> end</code>
3298
+ </li>
3299
+
3300
+ <li class="never" data-hits="" data-linenumber="27">
3301
+
3302
+
3303
+ <code class="ruby"></code>
3304
+ </li>
3305
+
3306
+ <li class="never" data-hits="" data-linenumber="28">
3307
+
3308
+
3309
+ <code class="ruby"> # Delegates the actual HTTP work to the client</code>
3310
+ </li>
3311
+
3312
+ <li class="covered" data-hits="1" data-linenumber="29">
3313
+ <span class="hits">1</span>
3314
+
3315
+ <code class="ruby"> def get</code>
3316
+ </li>
3317
+
3318
+ <li class="covered" data-hits="1" data-linenumber="30">
3319
+ <span class="hits">1</span>
3320
+
3321
+ <code class="ruby"> client.cached_get(self, @bypass_cache)</code>
3322
+ </li>
3323
+
3324
+ <li class="never" data-hits="" data-linenumber="31">
3325
+
3326
+
3327
+ <code class="ruby"> end</code>
3328
+ </li>
3329
+
3330
+ <li class="never" data-hits="" data-linenumber="32">
3331
+
3332
+
3333
+ <code class="ruby"></code>
3334
+ </li>
3335
+
3336
+ <li class="never" data-hits="" data-linenumber="33">
3337
+
3338
+
3339
+ <code class="ruby"> # Returns a new Request object with the same data</code>
3340
+ </li>
3341
+
3342
+ <li class="covered" data-hits="1" data-linenumber="34">
3343
+ <span class="hits">1</span>
3344
+
3345
+ <code class="ruby"> def copy</code>
3346
+ </li>
3347
+
3348
+ <li class="missed" data-hits="0" data-linenumber="35">
3349
+
3350
+
3351
+ <code class="ruby"> Marshal.load(Marshal.dump(self))</code>
3352
+ </li>
3353
+
3354
+ <li class="never" data-hits="" data-linenumber="36">
3355
+
3356
+
3357
+ <code class="ruby"> end</code>
3358
+ </li>
3359
+
3360
+ <li class="never" data-hits="" data-linenumber="37">
3361
+
3362
+
3363
+ <code class="ruby"> end</code>
3364
+ </li>
3365
+
3366
+ <li class="never" data-hits="" data-linenumber="38">
3367
+
3368
+
3369
+ <code class="ruby">end</code>
3370
+ </li>
3371
+
3372
+ </ol>
3373
+ </pre>
3374
+ </div>
3375
+
3376
+
3377
+ </div>
3378
+ </div>
3379
+ </body>
3380
+ </html>