coverage/index.html in contentful-2.11.1 vs coverage/index.html in contentful-2.12.0

- old
+ new

@@ -3,40 +3,40 @@ <head> <title>Code coverage for Delivery.rb</title> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <script src='./assets/0.10.2/application.js' type='text/javascript'></script> <link href='./assets/0.10.2/application.css' media='screen, projection, print' rel='stylesheet' type='text/css'> - <link rel="shortcut icon" type="image/png" href="./assets/0.10.2/favicon_yellow.png" /> + <link rel="shortcut icon" type="image/png" href="./assets/0.10.2/favicon_red.png" /> <link rel="icon" type="image/png" href="./assets/0.10.2/favicon.png" /> </head> <body> <div id="loading"> <img src="./assets/0.10.2/loading.gif" alt="loading"/> </div> <div id="wrapper" style="display:none;"> - <div class="timestamp">Generated <abbr class="timeago" title="2019-01-23T13:18:14+01:00">2019-01-23T13:18:14+01:00</abbr></div> + <div class="timestamp">Generated <abbr class="timeago" title="2019-04-09T10:57:02+02:00">2019-04-09T10:57:02+02:00</abbr></div> <ul class="group_tabs"></ul> <div id="content"> <div class="file_list_container" id="AllFiles"> <h2> <span class="group_name">All Files</span> - (<span class="covered_percent"><span class="yellow">82.92%</span></span> + (<span class="covered_percent"><span class="red">76.7%</span></span> covered at <span class="covered_strength"> <span class="green"> - 309.39 + 35.82 </span> </span> hits/line) </h2> <a name="AllFiles"></a> <div> - <b>30</b> files in total. - <b>972</b> relevant lines. - <span class="green"><b>806</b> lines covered</span> and - <span class="red"><b>166</b> lines missed </span> + <b>31</b> files in total. + <b>1030</b> relevant lines. + <span class="green"><b>790</b> lines covered</span> and + <span class="red"><b>240</b> lines missed </span> </div> <table class="file_list"> <thead> <tr> <th>File</th> @@ -65,81 +65,81 @@ <td class="red strong">52.94 %</td> <td>76</td> <td>34</td> <td>18</td> <td>16</td> - <td>12.7</td> + <td>1.4</td> </tr> <tr> <td class="strong"><a href="#bc50260d115630bb3b54a3ab26a820be409e35fe" class="src_link" title="lib/contentful/array_like.rb">lib/contentful/array_like.rb</a></td> - <td class="red strong">76.47 %</td> + <td class="red strong">70.59 %</td> <td>51</td> <td>17</td> - <td>13</td> - <td>4</td> - <td>5.1</td> + <td>12</td> + <td>5</td> + <td>1.0</td> </tr> <tr> <td class="strong"><a href="#167545c06de91266c75254299e80bf4aa23830c5" class="src_link" title="lib/contentful/asset.rb">lib/contentful/asset.rb</a></td> - <td class="green strong">92.5 %</td> + <td class="red strong">77.5 %</td> <td>103</td> <td>40</td> - <td>37</td> - <td>3</td> - <td>139.4</td> + <td>31</td> + <td>9</td> + <td>12.0</td> </tr> <tr> <td class="strong"><a href="#c9e25d4e0351ac49d13d793c5d0d6e10c428977b" class="src_link" title="lib/contentful/base_resource.rb">lib/contentful/base_resource.rb</a></td> - <td class="yellow strong">88.0 %</td> - <td>94</td> - <td>50</td> - <td>44</td> - <td>6</td> - <td>2105.7</td> + <td class="red strong">76.92 %</td> + <td>99</td> + <td>52</td> + <td>40</td> + <td>12</td> + <td>174.9</td> </tr> <tr> <td class="strong"><a href="#b0e31f234acd83c871a193ce29ed6b38e9adc98e" class="src_link" title="lib/contentful/client.rb">lib/contentful/client.rb</a></td> - <td class="yellow strong">82.12 %</td> - <td>436</td> - <td>151</td> - <td>124</td> - <td>27</td> - <td>36.1</td> + <td class="yellow strong">83.33 %</td> + <td>455</td> + <td>156</td> + <td>130</td> + <td>26</td> + <td>25.7</td> </tr> <tr> <td class="strong"><a href="#beb22ab5c60eaaa44a2cba4f526b8a2630d7a31a" class="src_link" title="lib/contentful/coercions.rb">lib/contentful/coercions.rb</a></td> - <td class="green strong">93.15 %</td> + <td class="red strong">57.53 %</td> <td>175</td> <td>73</td> - <td>68</td> - <td>5</td> - <td>32.1</td> + <td>42</td> + <td>31</td> + <td>13.7</td> </tr> <tr> <td class="strong"><a href="#14469a10a1dbe8c3a1825151ed33eb9240571afb" class="src_link" title="lib/contentful/content_type.rb">lib/contentful/content_type.rb</a></td> <td class="green strong">94.44 %</td> <td>33</td> <td>18</td> <td>17</td> <td>1</td> - <td>26.8</td> + <td>67.7</td> </tr> <tr> <td class="strong"><a href="#a46b40f2e6381b7f2ac84d26e7bc008d4e6985eb" class="src_link" title="lib/contentful/content_type_cache.rb">lib/contentful/content_type_cache.rb</a></td> - <td class="green strong">91.67 %</td> + <td class="green strong">100.0 %</td> <td>26</td> <td>12</td> - <td>11</td> - <td>1</td> - <td>233.3</td> + <td>12</td> + <td>0</td> + <td>21.1</td> </tr> <tr> <td class="strong"><a href="#1dea44e36966a52d67e8c4ee9f13f956e974f16f" class="src_link" title="lib/contentful/deleted_asset.rb">lib/contentful/deleted_asset.rb</a></td> <td class="green strong">100.0 %</td> @@ -160,56 +160,56 @@ <td>1.0</td> </tr> <tr> <td class="strong"><a href="#97df464094b50c0508a4a014acd1a9beace447a1" class="src_link" title="lib/contentful/entry.rb">lib/contentful/entry.rb</a></td> - <td class="green strong">94.74 %</td> + <td class="red strong">64.91 %</td> <td>126</td> <td>57</td> - <td>54</td> - <td>3</td> - <td>426.0</td> + <td>37</td> + <td>20</td> + <td>40.3</td> </tr> <tr> <td class="strong"><a href="#98433a4cac96676bcf6b420f480c3d946ae0d0cb" class="src_link" title="lib/contentful/error.rb">lib/contentful/error.rb</a></td> - <td class="red strong">69.79 %</td> + <td class="red strong">68.75 %</td> <td>211</td> <td>96</td> - <td>67</td> - <td>29</td> - <td>0.7</td> + <td>66</td> + <td>30</td> + <td>0.9</td> </tr> <tr> <td class="strong"><a href="#4f89ce6a6221e537edb751b920a159e36a286ebd" class="src_link" title="lib/contentful/field.rb">lib/contentful/field.rb</a></td> <td class="green strong">100.0 %</td> <td>47</td> <td>21</td> <td>21</td> <td>0</td> - <td>53.0</td> + <td>107.5</td> </tr> <tr> <td class="strong"><a href="#eecf0f806597fc4b233727ac4e855ef0a80b0ade" class="src_link" title="lib/contentful/fields_resource.rb">lib/contentful/fields_resource.rb</a></td> - <td class="green strong">100.0 %</td> - <td>143</td> + <td class="red strong">57.58 %</td> + <td>145</td> <td>66</td> - <td>66</td> - <td>0</td> - <td>554.1</td> + <td>38</td> + <td>28</td> + <td>37.9</td> </tr> <tr> <td class="strong"><a href="#5ed9fab05507df717ba26956cbb2b69097c50f41" class="src_link" title="lib/contentful/file.rb">lib/contentful/file.rb</a></td> <td class="green strong">100.0 %</td> <td>20</td> <td>10</td> <td>10</td> <td>0</td> - <td>348.3</td> + <td>29.3</td> </tr> <tr> <td class="strong"><a href="#f0b3585d50697809ca059b22b439d1c92b144124" class="src_link" title="lib/contentful/link.rb">lib/contentful/link.rb</a></td> <td class="red strong">66.67 %</td> @@ -240,46 +240,46 @@ <td>0.8</td> </tr> <tr> <td class="strong"><a href="#283a9b245e7a50ed1ed0ff2acf5bf3df054a6b05" class="src_link" title="lib/contentful/request.rb">lib/contentful/request.rb</a></td> - <td class="yellow strong">88.0 %</td> + <td class="green strong">96.0 %</td> <td>56</td> <td>25</td> - <td>22</td> - <td>3</td> - <td>36.2</td> + <td>24</td> + <td>1</td> + <td>8.1</td> </tr> <tr> <td class="strong"><a href="#ea1894a682921dc1a4b4d4255935538a0067cdfd" class="src_link" title="lib/contentful/resource_builder.rb">lib/contentful/resource_builder.rb</a></td> - <td class="green strong">94.57 %</td> + <td class="green strong">93.48 %</td> <td>166</td> <td>92</td> - <td>87</td> - <td>5</td> - <td>496.3</td> + <td>86</td> + <td>6</td> + <td>45.4</td> </tr> <tr> <td class="strong"><a href="#e5da896cf0ec7b470de392efaedd4669444f03b9" class="src_link" title="lib/contentful/resource_references.rb">lib/contentful/resource_references.rb</a></td> - <td class="green strong">100.0 %</td> + <td class="red strong">50.0 %</td> <td>18</td> <td>6</td> - <td>6</td> - <td>0</td> - <td>1.5</td> + <td>3</td> + <td>3</td> + <td>0.5</td> </tr> <tr> <td class="strong"><a href="#a54a8ab8e00230a5d92a5eb8a7e43f264a700db2" class="src_link" title="lib/contentful/response.rb">lib/contentful/response.rb</a></td> <td class="red strong">80.0 %</td> <td>107</td> <td>55</td> <td>44</td> <td>11</td> - <td>16.7</td> + <td>4.9</td> </tr> <tr> <td class="strong"><a href="#42827798fb56cb87d145e81d9ae46dfe97e9818b" class="src_link" title="lib/contentful/space.rb">lib/contentful/space.rb</a></td> <td class="red strong">58.33 %</td> @@ -291,25 +291,25 @@ </tr> <tr> <td class="strong"><a href="#a300a2b740de48d4aa41783c879260ce3e4785ba" class="src_link" title="lib/contentful/support.rb">lib/contentful/support.rb</a></td> <td class="green strong">96.0 %</td> - <td>85</td> + <td>87</td> <td>25</td> <td>24</td> <td>1</td> - <td>2603.5</td> + <td>337.0</td> </tr> <tr> <td class="strong"><a href="#84dd5a82215a9c45df06f943a5b88003a007c2e3" class="src_link" title="lib/contentful/sync.rb">lib/contentful/sync.rb</a></td> - <td class="red strong">44.74 %</td> + <td class="red strong">52.63 %</td> <td>85</td> <td>38</td> - <td>17</td> - <td>21</td> - <td>0.4</td> + <td>20</td> + <td>18</td> + <td>0.5</td> </tr> <tr> <td class="strong"><a href="#99e7ff3ec5cef4c1f8a70725a19da05567b157fd" class="src_link" title="lib/contentful/sync_page.rb">lib/contentful/sync_page.rb</a></td> <td class="red strong">57.89 %</td> @@ -319,37 +319,47 @@ <td>8</td> <td>0.6</td> </tr> <tr> + <td class="strong"><a href="#a5b449a98635efa082944faacae851b1dab9ab8c" class="src_link" title="spec/client_class_spec.rb">spec/client_class_spec.rb</a></td> + <td class="green strong">100.0 %</td> + <td>86</td> + <td>51</td> + <td>51</td> + <td>0</td> + <td>1.6</td> + </tr> + + <tr> <td class="strong"><a href="#5eb25a1b26ae65158e1a7386a20084d608b4951d" class="src_link" title="spec/support/client.rb">spec/support/client.rb</a></td> <td class="green strong">100.0 %</td> <td>6</td> <td>2</td> <td>2</td> <td>0</td> - <td>27.5</td> + <td>25.0</td> </tr> <tr> <td class="strong"><a href="#a4ba320676b73b8644cffc9dbb12bbe8e19a9934" class="src_link" title="spec/support/json_responses.rb">spec/support/json_responses.rb</a></td> - <td class="red strong">27.27 %</td> + <td class="green strong">90.91 %</td> <td>18</td> <td>11</td> - <td>3</td> - <td>8</td> - <td>0.3</td> + <td>10</td> + <td>1</td> + <td>3.9</td> </tr> <tr> <td class="strong"><a href="#027342a1ab3607ccd90fe9e5972948d26cbc8bed" class="src_link" title="spec/support/vcr.rb">spec/support/vcr.rb</a></td> - <td class="yellow strong">90.0 %</td> + <td class="green strong">100.0 %</td> <td>16</td> <td>10</td> - <td>9</td> - <td>1</td> - <td>6.2</td> + <td>10</td> + <td>0</td> + <td>2.6</td> </tr> </tbody> </table> </div> @@ -535,48 +545,48 @@ <code class="ruby"> endpoint = &#39;&#39;, *)</code> </li> - <li class="covered" data-hits="70" data-linenumber="21"> - <span class="hits">70</span> + <li class="covered" data-hits="6" data-linenumber="21"> + <span class="hits">6</span> <code class="ruby"> super(item, configuration)</code> </li> <li class="never" data-hits="" data-linenumber="22"> <code class="ruby"></code> </li> - <li class="covered" data-hits="70" data-linenumber="23"> - <span class="hits">70</span> + <li class="covered" data-hits="6" data-linenumber="23"> + <span class="hits">6</span> <code class="ruby"> @endpoint = endpoint</code> </li> - <li class="covered" data-hits="70" data-linenumber="24"> - <span class="hits">70</span> + <li class="covered" data-hits="6" data-linenumber="24"> + <span class="hits">6</span> <code class="ruby"> @total = item.fetch(&#39;total&#39;, nil)</code> </li> - <li class="covered" data-hits="70" data-linenumber="25"> - <span class="hits">70</span> + <li class="covered" data-hits="6" data-linenumber="25"> + <span class="hits">6</span> <code class="ruby"> @limit = item.fetch(&#39;limit&#39;, nil)</code> </li> - <li class="covered" data-hits="70" data-linenumber="26"> - <span class="hits">70</span> + <li class="covered" data-hits="6" data-linenumber="26"> + <span class="hits">6</span> <code class="ruby"> @skip = item.fetch(&#39;skip&#39;, nil)</code> </li> - <li class="covered" data-hits="70" data-linenumber="27"> - <span class="hits">70</span> + <li class="covered" data-hits="6" data-linenumber="27"> + <span class="hits">6</span> <code class="ruby"> @items = item.fetch(&#39;items&#39;, [])</code> </li> <li class="never" data-hits="" data-linenumber="28"> @@ -879,15 +889,15 @@ <div class="source_table" id="bc50260d115630bb3b54a3ab26a820be409e35fe"> <div class="header"> <h3>lib/contentful/array_like.rb</h3> - <h4><span class="red">76.47 %</span> covered</h4> + <h4><span class="red">70.59 %</span> covered</h4> <div> <b>17</b> relevant lines. - <span class="green"><b>13</b> lines covered</span> and - <span class="red"><b>4</b> lines missed.</span> + <span class="green"><b>12</b> lines covered</span> and + <span class="red"><b>5</b> lines missed.</span> </div> </div> <pre> <ol> @@ -992,12 +1002,12 @@ <span class="hits">1</span> <code class="ruby"> def each_item(&amp;block)</code> </li> - <li class="covered" data-hits="72" data-linenumber="18"> - <span class="hits">72</span> + <li class="covered" data-hits="6" data-linenumber="18"> + <span class="hits">6</span> <code class="ruby"> items.each(&amp;block)</code> </li> <li class="never" data-hits="" data-linenumber="19"> @@ -1040,13 +1050,13 @@ <span class="hits">1</span> <code class="ruby"> def empty?</code> </li> - <li class="covered" data-hits="3" data-linenumber="26"> - <span class="hits">3</span> + <li class="missed" data-hits="0" data-linenumber="26"> + <code class="ruby"> items.empty?</code> </li> <li class="never" data-hits="" data-linenumber="27"> @@ -1204,15 +1214,15 @@ <div class="source_table" id="167545c06de91266c75254299e80bf4aa23830c5"> <div class="header"> <h3>lib/contentful/asset.rb</h3> - <h4><span class="green">92.5 %</span> covered</h4> + <h4><span class="red">77.5 %</span> covered</h4> <div> <b>40</b> relevant lines. - <span class="green"><b>37</b> lines covered</span> and - <span class="red"><b>3</b> lines missed.</span> + <span class="green"><b>31</b> lines covered</span> and + <span class="red"><b>9</b> lines missed.</span> </div> </div> <pre> <ol> @@ -1287,13 +1297,13 @@ <span class="hits">1</span> <code class="ruby"> def marshal_dump</code> </li> - <li class="covered" data-hits="10" data-linenumber="13"> - <span class="hits">10</span> + <li class="missed" data-hits="0" data-linenumber="13"> + <code class="ruby"> {</code> </li> <li class="never" data-hits="" data-linenumber="14"> @@ -1335,25 +1345,25 @@ <span class="hits">1</span> <code class="ruby"> def marshal_load(raw_object)</code> </li> - <li class="covered" data-hits="10" data-linenumber="21"> - <span class="hits">10</span> + <li class="missed" data-hits="0" data-linenumber="21"> + <code class="ruby"> super(raw_object)</code> </li> - <li class="covered" data-hits="10" data-linenumber="22"> - <span class="hits">10</span> + <li class="missed" data-hits="0" data-linenumber="22"> + <code class="ruby"> create_files!</code> </li> - <li class="covered" data-hits="10" data-linenumber="23"> - <span class="hits">10</span> + <li class="missed" data-hits="0" data-linenumber="23"> + <code class="ruby"> define_asset_methods!</code> </li> <li class="never" data-hits="" data-linenumber="24"> @@ -1401,24 +1411,24 @@ <span class="hits">1</span> <code class="ruby"> def initialize(*)</code> </li> - <li class="covered" data-hits="485" data-linenumber="32"> - <span class="hits">485</span> + <li class="covered" data-hits="41" data-linenumber="32"> + <span class="hits">41</span> <code class="ruby"> super</code> </li> - <li class="covered" data-hits="485" data-linenumber="33"> - <span class="hits">485</span> + <li class="covered" data-hits="41" data-linenumber="33"> + <span class="hits">41</span> <code class="ruby"> create_files!</code> </li> - <li class="covered" data-hits="485" data-linenumber="34"> - <span class="hits">485</span> + <li class="covered" data-hits="41" data-linenumber="34"> + <span class="hits">41</span> <code class="ruby"> define_asset_methods!</code> </li> <li class="never" data-hits="" data-linenumber="35"> @@ -1521,30 +1531,30 @@ <span class="hits">1</span> <code class="ruby"> def image_url(options = {})</code> </li> - <li class="covered" data-hits="4" data-linenumber="52"> - <span class="hits">4</span> + <li class="covered" data-hits="1" data-linenumber="52"> + <span class="hits">1</span> <code class="ruby"> query = build_query(options)</code> </li> <li class="never" data-hits="" data-linenumber="53"> <code class="ruby"></code> </li> - <li class="covered" data-hits="4" data-linenumber="54"> - <span class="hits">4</span> + <li class="covered" data-hits="1" data-linenumber="54"> + <span class="hits">1</span> <code class="ruby"> if query.empty?</code> </li> - <li class="covered" data-hits="4" data-linenumber="55"> - <span class="hits">4</span> + <li class="covered" data-hits="1" data-linenumber="55"> + <span class="hits">1</span> <code class="ruby"> file.url</code> </li> <li class="never" data-hits="" data-linenumber="56"> @@ -1665,12 +1675,12 @@ <code class="ruby"> fl: options[:fl]</code> </li> - <li class="covered" data-hits="40" data-linenumber="76"> - <span class="hits">40</span> + <li class="covered" data-hits="10" data-linenumber="76"> + <span class="hits">10</span> <code class="ruby"> }.reject { |_k, v| v.nil? }</code> </li> <li class="never" data-hits="" data-linenumber="77"> @@ -1689,49 +1699,49 @@ <span class="hits">1</span> <code class="ruby"> def create_files!</code> </li> - <li class="covered" data-hits="495" data-linenumber="80"> - <span class="hits">495</span> + <li class="covered" data-hits="41" data-linenumber="80"> + <span class="hits">41</span> <code class="ruby"> file_json = raw.fetch(&#39;fields&#39;, {}).fetch(&#39;file&#39;, nil)</code> </li> - <li class="covered" data-hits="495" data-linenumber="81"> - <span class="hits">495</span> + <li class="covered" data-hits="41" data-linenumber="81"> + <span class="hits">41</span> <code class="ruby"> return if file_json.nil?</code> </li> <li class="never" data-hits="" data-linenumber="82"> <code class="ruby"></code> </li> - <li class="covered" data-hits="991" data-linenumber="83"> - <span class="hits">991</span> + <li class="covered" data-hits="82" data-linenumber="83"> + <span class="hits">82</span> <code class="ruby"> is_localized = file_json.keys.none? { |f| %w[fileName contentType details url].include? f }</code> </li> - <li class="covered" data-hits="495" data-linenumber="84"> - <span class="hits">495</span> + <li class="covered" data-hits="41" data-linenumber="84"> + <span class="hits">41</span> <code class="ruby"> if is_localized</code> </li> - <li class="covered" data-hits="46" data-linenumber="85"> - <span class="hits">46</span> + <li class="missed" data-hits="0" data-linenumber="85"> + <code class="ruby"> locales.each do |locale|</code> </li> - <li class="covered" data-hits="47" data-linenumber="86"> - <span class="hits">47</span> + <li class="missed" data-hits="0" data-linenumber="86"> + <code class="ruby"> @fields[locale][:file] = ::Contentful::File.new(file_json[locale.to_s] || {}, @configuration)</code> </li> <li class="never" data-hits="" data-linenumber="87"> @@ -1743,12 +1753,12 @@ <code class="ruby"> else</code> </li> - <li class="covered" data-hits="449" data-linenumber="89"> - <span class="hits">449</span> + <li class="covered" data-hits="41" data-linenumber="89"> + <span class="hits">41</span> <code class="ruby"> @fields[internal_resource_locale][:file] = ::Contentful::File.new(file_json, @configuration)</code> </li> <li class="never" data-hits="" data-linenumber="90"> @@ -1773,12 +1783,12 @@ <span class="hits">1</span> <code class="ruby"> def define_asset_methods!</code> </li> - <li class="covered" data-hits="495" data-linenumber="94"> - <span class="hits">495</span> + <li class="covered" data-hits="41" data-linenumber="94"> + <span class="hits">41</span> <code class="ruby"> define_singleton_method :description do</code> </li> <li class="missed" data-hits="0" data-linenumber="95"> @@ -1797,18 +1807,18 @@ <code class="ruby"></code> </li> - <li class="covered" data-hits="495" data-linenumber="98"> - <span class="hits">495</span> + <li class="covered" data-hits="41" data-linenumber="98"> + <span class="hits">41</span> <code class="ruby"> define_singleton_method :file do |wanted_locale = nil|</code> </li> - <li class="covered" data-hits="6" data-linenumber="99"> - <span class="hits">6</span> + <li class="covered" data-hits="1" data-linenumber="99"> + <span class="hits">1</span> <code class="ruby"> fields(wanted_locale)[:file]</code> </li> <li class="never" data-hits="" data-linenumber="100"> @@ -1841,25 +1851,25 @@ <div class="source_table" id="c9e25d4e0351ac49d13d793c5d0d6e10c428977b"> <div class="header"> <h3>lib/contentful/base_resource.rb</h3> - <h4><span class="yellow">88.0 %</span> covered</h4> + <h4><span class="red">76.92 %</span> covered</h4> <div> - <b>50</b> relevant lines. - <span class="green"><b>44</b> lines covered</span> and - <span class="red"><b>6</b> lines missed.</span> + <b>52</b> relevant lines. + <span class="green"><b>40</b> lines covered</span> and + <span class="red"><b>12</b> lines missed.</span> </div> </div> <pre> <ol> - <li class="covered" data-hits="1" data-linenumber="1"> - <span class="hits">1</span> + <li class="never" data-hits="" data-linenumber="1"> - <code class="ruby">require_relative &#39;support&#39;</code> + + <code class="ruby"># frozen_string_literal: true</code> </li> <li class="never" data-hits="" data-linenumber="2"> @@ -1867,554 +1877,584 @@ </li> <li class="covered" data-hits="1" data-linenumber="3"> <span class="hits">1</span> - <code class="ruby">module Contentful</code> + <code class="ruby">require_relative &#39;support&#39;</code> </li> <li class="never" data-hits="" data-linenumber="4"> - <code class="ruby"> # Base definition of a Contentful Resource containing Sys properties</code> + <code class="ruby"></code> </li> <li class="covered" data-hits="1" data-linenumber="5"> <span class="hits">1</span> + <code class="ruby">module Contentful</code> + </li> + + <li class="never" data-hits="" data-linenumber="6"> + + + <code class="ruby"> # Base definition of a Contentful Resource containing Sys properties</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="7"> + <span class="hits">1</span> + <code class="ruby"> class BaseResource</code> </li> - <li class="covered" data-hits="1" data-linenumber="6"> + <li class="covered" data-hits="1" data-linenumber="8"> <span class="hits">1</span> <code class="ruby"> attr_reader :raw, :default_locale, :sys</code> </li> - <li class="never" data-hits="" data-linenumber="7"> + <li class="never" data-hits="" data-linenumber="9"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="8"> + <li class="never" data-hits="" data-linenumber="10"> <code class="ruby"> # rubocop:disable Metrics/ParameterLists</code> </li> - <li class="covered" data-hits="1" data-linenumber="9"> + <li class="covered" data-hits="1" data-linenumber="11"> <span class="hits">1</span> <code class="ruby"> def initialize(item, configuration = {}, _localized = false, _includes = [], entries = {}, depth = 0, _errors = [])</code> </li> - <li class="covered" data-hits="3023" data-linenumber="10"> - <span class="hits">3023</span> + <li class="covered" data-hits="265" data-linenumber="12"> + <span class="hits">265</span> <code class="ruby"> entries[&quot;#{item[&#39;sys&#39;][&#39;type&#39;]}:#{item[&#39;sys&#39;][&#39;id&#39;]}&quot;] = self if entries &amp;&amp; item.key?(&#39;sys&#39;)</code> </li> - <li class="covered" data-hits="3023" data-linenumber="11"> - <span class="hits">3023</span> + <li class="covered" data-hits="265" data-linenumber="13"> + <span class="hits">265</span> <code class="ruby"> @raw = item</code> </li> - <li class="covered" data-hits="3023" data-linenumber="12"> - <span class="hits">3023</span> + <li class="covered" data-hits="265" data-linenumber="14"> + <span class="hits">265</span> <code class="ruby"> @default_locale = configuration[:default_locale]</code> </li> - <li class="covered" data-hits="3023" data-linenumber="13"> - <span class="hits">3023</span> + <li class="covered" data-hits="265" data-linenumber="15"> + <span class="hits">265</span> <code class="ruby"> @depth = depth</code> </li> - <li class="covered" data-hits="3023" data-linenumber="14"> - <span class="hits">3023</span> + <li class="covered" data-hits="265" data-linenumber="16"> + <span class="hits">265</span> <code class="ruby"> @configuration = configuration</code> </li> - <li class="covered" data-hits="3023" data-linenumber="15"> - <span class="hits">3023</span> + <li class="covered" data-hits="265" data-linenumber="17"> + <span class="hits">265</span> <code class="ruby"> @sys = hydrate_sys</code> </li> - <li class="never" data-hits="" data-linenumber="16"> + <li class="never" data-hits="" data-linenumber="18"> <code class="ruby"></code> </li> - <li class="covered" data-hits="3023" data-linenumber="17"> - <span class="hits">3023</span> + <li class="covered" data-hits="265" data-linenumber="19"> + <span class="hits">265</span> <code class="ruby"> define_sys_methods!</code> </li> - <li class="never" data-hits="" data-linenumber="18"> + <li class="never" data-hits="" data-linenumber="20"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="19"> + <li class="never" data-hits="" data-linenumber="21"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="20"> + <li class="never" data-hits="" data-linenumber="22"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="21"> + <li class="covered" data-hits="1" data-linenumber="23"> <span class="hits">1</span> <code class="ruby"> def inspect</code> </li> - <li class="missed" data-hits="0" data-linenumber="22"> + <li class="missed" data-hits="0" data-linenumber="24"> <code class="ruby"> &quot;&lt;#{repr_name} id=&#39;#{sys[:id]}&#39;&gt;&quot;</code> </li> - <li class="never" data-hits="" data-linenumber="23"> + <li class="never" data-hits="" data-linenumber="25"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="24"> + <li class="never" data-hits="" data-linenumber="26"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="25"> + <li class="never" data-hits="" data-linenumber="27"> <code class="ruby"> # Definition of equality</code> </li> - <li class="covered" data-hits="1" data-linenumber="26"> + <li class="covered" data-hits="1" data-linenumber="28"> <span class="hits">1</span> <code class="ruby"> def ==(other)</code> </li> - <li class="missed" data-hits="0" data-linenumber="27"> + <li class="missed" data-hits="0" data-linenumber="29"> <code class="ruby"> self.class == other.class &amp;&amp; sys[:id] == other.sys[:id]</code> </li> - <li class="never" data-hits="" data-linenumber="28"> + <li class="never" data-hits="" data-linenumber="30"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="29"> + <li class="never" data-hits="" data-linenumber="31"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="30"> + <li class="never" data-hits="" data-linenumber="32"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="31"> + <li class="covered" data-hits="1" data-linenumber="33"> <span class="hits">1</span> <code class="ruby"> def marshal_dump</code> </li> - <li class="missed" data-hits="0" data-linenumber="32"> + <li class="missed" data-hits="0" data-linenumber="34"> <code class="ruby"> {</code> </li> - <li class="never" data-hits="" data-linenumber="33"> + <li class="never" data-hits="" data-linenumber="35"> <code class="ruby"> configuration: @configuration,</code> </li> - <li class="never" data-hits="" data-linenumber="34"> + <li class="never" data-hits="" data-linenumber="36"> <code class="ruby"> raw: raw</code> </li> - <li class="never" data-hits="" data-linenumber="35"> + <li class="never" data-hits="" data-linenumber="37"> <code class="ruby"> }</code> </li> - <li class="never" data-hits="" data-linenumber="36"> + <li class="never" data-hits="" data-linenumber="38"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="37"> + <li class="never" data-hits="" data-linenumber="39"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="38"> + <li class="never" data-hits="" data-linenumber="40"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="39"> + <li class="covered" data-hits="1" data-linenumber="41"> <span class="hits">1</span> <code class="ruby"> def marshal_load(raw_object)</code> </li> - <li class="covered" data-hits="34" data-linenumber="40"> - <span class="hits">34</span> + <li class="missed" data-hits="0" data-linenumber="42"> + <code class="ruby"> @raw = raw_object[:raw]</code> </li> - <li class="covered" data-hits="34" data-linenumber="41"> - <span class="hits">34</span> + <li class="missed" data-hits="0" data-linenumber="43"> + <code class="ruby"> @configuration = raw_object[:configuration]</code> </li> - <li class="covered" data-hits="34" data-linenumber="42"> - <span class="hits">34</span> + <li class="missed" data-hits="0" data-linenumber="44"> + <code class="ruby"> @default_locale = @configuration[:default_locale]</code> </li> - <li class="covered" data-hits="34" data-linenumber="43"> - <span class="hits">34</span> + <li class="missed" data-hits="0" data-linenumber="45"> + <code class="ruby"> @sys = hydrate_sys</code> </li> - <li class="covered" data-hits="34" data-linenumber="44"> - <span class="hits">34</span> + <li class="missed" data-hits="0" data-linenumber="46"> + <code class="ruby"> @depth = 0</code> </li> - <li class="covered" data-hits="34" data-linenumber="45"> - <span class="hits">34</span> + <li class="missed" data-hits="0" data-linenumber="47"> + <code class="ruby"> define_sys_methods!</code> </li> - <li class="never" data-hits="" data-linenumber="46"> + <li class="never" data-hits="" data-linenumber="48"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="47"> + <li class="never" data-hits="" data-linenumber="49"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="48"> + <li class="never" data-hits="" data-linenumber="50"> <code class="ruby"> # Issues the request that was made to fetch this response again.</code> </li> - <li class="never" data-hits="" data-linenumber="49"> + <li class="never" data-hits="" data-linenumber="51"> <code class="ruby"> # Only works for Entry, Asset, ContentType and Space</code> </li> - <li class="covered" data-hits="1" data-linenumber="50"> + <li class="covered" data-hits="1" data-linenumber="52"> <span class="hits">1</span> <code class="ruby"> def reload(client = nil)</code> </li> - <li class="missed" data-hits="0" data-linenumber="51"> + <li class="missed" data-hits="0" data-linenumber="53"> <code class="ruby"> return client.send(Support.snakify(self.class.name.split(&#39;::&#39;).last), id) unless client.nil?</code> </li> - <li class="never" data-hits="" data-linenumber="52"> + <li class="never" data-hits="" data-linenumber="54"> <code class="ruby"></code> </li> - <li class="missed" data-hits="0" data-linenumber="53"> + <li class="missed" data-hits="0" data-linenumber="55"> <code class="ruby"> false</code> </li> - <li class="never" data-hits="" data-linenumber="54"> + <li class="never" data-hits="" data-linenumber="56"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="55"> + <li class="never" data-hits="" data-linenumber="57"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="56"> + <li class="covered" data-hits="1" data-linenumber="58"> <span class="hits">1</span> <code class="ruby"> private</code> </li> - <li class="never" data-hits="" data-linenumber="57"> + <li class="never" data-hits="" data-linenumber="59"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="58"> + <li class="covered" data-hits="1" data-linenumber="60"> <span class="hits">1</span> <code class="ruby"> def define_sys_methods!</code> </li> - <li class="covered" data-hits="3057" data-linenumber="59"> - <span class="hits">3057</span> + <li class="covered" data-hits="265" data-linenumber="61"> + <span class="hits">265</span> <code class="ruby"> @sys.each do |k, v|</code> </li> - <li class="covered" data-hits="14082" data-linenumber="60"> - <span class="hits">14082</span> + <li class="covered" data-hits="1228" data-linenumber="62"> + <span class="hits">1228</span> <code class="ruby"> define_singleton_method k do</code> </li> - <li class="covered" data-hits="6481" data-linenumber="61"> - <span class="hits">6481</span> + <li class="covered" data-hits="522" data-linenumber="63"> + <span class="hits">522</span> <code class="ruby"> v</code> </li> - <li class="never" data-hits="" data-linenumber="62"> + <li class="never" data-hits="" data-linenumber="64"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="63"> + <li class="never" data-hits="" data-linenumber="65"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="64"> + <li class="never" data-hits="" data-linenumber="66"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="65"> + <li class="never" data-hits="" data-linenumber="67"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="66"> + <li class="covered" data-hits="1" data-linenumber="68"> <span class="hits">1</span> + <code class="ruby"> LINKS = %w[space contentType environment].freeze</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="69"> + <span class="hits">1</span> + + <code class="ruby"> TIMESTAMPS = %w[createdAt updatedAt deletedAt].freeze</code> + </li> + + <li class="never" data-hits="" data-linenumber="70"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="71"> + <span class="hits">1</span> + <code class="ruby"> def hydrate_sys</code> </li> - <li class="covered" data-hits="3057" data-linenumber="67"> - <span class="hits">3057</span> + <li class="covered" data-hits="265" data-linenumber="72"> + <span class="hits">265</span> <code class="ruby"> result = {}</code> </li> - <li class="covered" data-hits="3057" data-linenumber="68"> - <span class="hits">3057</span> + <li class="covered" data-hits="265" data-linenumber="73"> + <span class="hits">265</span> <code class="ruby"> raw.fetch(&#39;sys&#39;, {}).each do |k, v|</code> </li> - <li class="covered" data-hits="14082" data-linenumber="69"> - <span class="hits">14082</span> + <li class="covered" data-hits="1228" data-linenumber="74"> + <span class="hits">1228</span> - <code class="ruby"> if %w[space contentType environment].include?(k)</code> + <code class="ruby"> if LINKS.include?(k)</code> </li> - <li class="covered" data-hits="1783" data-linenumber="70"> - <span class="hits">1783</span> + <li class="covered" data-hits="149" data-linenumber="75"> + <span class="hits">149</span> <code class="ruby"> v = build_link(v)</code> </li> - <li class="covered" data-hits="12299" data-linenumber="71"> - <span class="hits">12299</span> + <li class="covered" data-hits="1079" data-linenumber="76"> + <span class="hits">1079</span> - <code class="ruby"> elsif %w[createdAt updatedAt deletedAt].include?(k)</code> + <code class="ruby"> elsif TIMESTAMPS.include?(k)</code> </li> - <li class="covered" data-hits="2268" data-linenumber="72"> - <span class="hits">2268</span> + <li class="covered" data-hits="212" data-linenumber="77"> + <span class="hits">212</span> <code class="ruby"> v = DateTime.parse(v)</code> </li> - <li class="never" data-hits="" data-linenumber="73"> + <li class="never" data-hits="" data-linenumber="78"> <code class="ruby"> end</code> </li> - <li class="covered" data-hits="14082" data-linenumber="74"> - <span class="hits">14082</span> + <li class="covered" data-hits="1228" data-linenumber="79"> + <span class="hits">1228</span> <code class="ruby"> result[Support.snakify(k, @configuration[:use_camel_case]).to_sym] = v</code> </li> - <li class="never" data-hits="" data-linenumber="75"> + <li class="never" data-hits="" data-linenumber="80"> <code class="ruby"> end</code> </li> - <li class="covered" data-hits="3057" data-linenumber="76"> - <span class="hits">3057</span> + <li class="covered" data-hits="265" data-linenumber="81"> + <span class="hits">265</span> <code class="ruby"> result</code> </li> - <li class="never" data-hits="" data-linenumber="77"> + <li class="never" data-hits="" data-linenumber="82"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="78"> + <li class="never" data-hits="" data-linenumber="83"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="79"> + <li class="covered" data-hits="1" data-linenumber="84"> <span class="hits">1</span> <code class="ruby"> protected</code> </li> - <li class="never" data-hits="" data-linenumber="80"> + <li class="never" data-hits="" data-linenumber="85"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="81"> + <li class="covered" data-hits="1" data-linenumber="86"> <span class="hits">1</span> <code class="ruby"> def repr_name</code> </li> - <li class="missed" data-hits="0" data-linenumber="82"> + <li class="missed" data-hits="0" data-linenumber="87"> <code class="ruby"> self.class</code> </li> - <li class="never" data-hits="" data-linenumber="83"> + <li class="never" data-hits="" data-linenumber="88"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="84"> + <li class="never" data-hits="" data-linenumber="89"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="85"> + <li class="covered" data-hits="1" data-linenumber="90"> <span class="hits">1</span> <code class="ruby"> def internal_resource_locale</code> </li> - <li class="covered" data-hits="2903" data-linenumber="86"> - <span class="hits">2903</span> + <li class="covered" data-hits="210" data-linenumber="91"> + <span class="hits">210</span> <code class="ruby"> sys.fetch(:locale, nil) || default_locale</code> </li> - <li class="never" data-hits="" data-linenumber="87"> + <li class="never" data-hits="" data-linenumber="92"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="88"> + <li class="never" data-hits="" data-linenumber="93"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="89"> + <li class="covered" data-hits="1" data-linenumber="94"> <span class="hits">1</span> <code class="ruby"> def build_link(item)</code> </li> - <li class="covered" data-hits="1848" data-linenumber="90"> - <span class="hits">1848</span> + <li class="covered" data-hits="153" data-linenumber="95"> + <span class="hits">153</span> <code class="ruby"> require_relative &#39;link&#39;</code> </li> - <li class="covered" data-hits="1848" data-linenumber="91"> - <span class="hits">1848</span> + <li class="covered" data-hits="153" data-linenumber="96"> + <span class="hits">153</span> <code class="ruby"> ::Contentful::Link.new(item, @configuration)</code> </li> - <li class="never" data-hits="" data-linenumber="92"> + <li class="never" data-hits="" data-linenumber="97"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="93"> + <li class="never" data-hits="" data-linenumber="98"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="94"> + <li class="never" data-hits="" data-linenumber="99"> <code class="ruby">end</code> </li> @@ -2424,15 +2464,15 @@ <div class="source_table" id="b0e31f234acd83c871a193ce29ed6b38e9adc98e"> <div class="header"> <h3>lib/contentful/client.rb</h3> - <h4><span class="yellow">82.12 %</span> covered</h4> + <h4><span class="yellow">83.33 %</span> covered</h4> <div> - <b>151</b> relevant lines. - <span class="green"><b>124</b> lines covered</span> and - <span class="red"><b>27</b> lines missed.</span> + <b>156</b> relevant lines. + <span class="green"><b>130</b> lines covered</span> and + <span class="red"><b>26</b> lines missed.</span> </div> </div> <pre> <ol> @@ -2660,2396 +2700,2510 @@ </li> <li class="never" data-hits="" data-linenumber="38"> - <code class="ruby"> max_rate_limit_retries: 1,</code> + <code class="ruby"> timeout_connect: nil,</code> </li> <li class="never" data-hits="" data-linenumber="39"> - <code class="ruby"> max_rate_limit_wait: 60,</code> + <code class="ruby"> timeout_read: nil,</code> </li> <li class="never" data-hits="" data-linenumber="40"> - <code class="ruby"> max_include_resolution_depth: 20,</code> + <code class="ruby"> timeout_write: nil,</code> </li> <li class="never" data-hits="" data-linenumber="41"> - <code class="ruby"> use_camel_case: false,</code> + <code class="ruby"> max_rate_limit_retries: 1,</code> </li> <li class="never" data-hits="" data-linenumber="42"> - <code class="ruby"> application_name: nil,</code> + <code class="ruby"> max_rate_limit_wait: 60,</code> </li> <li class="never" data-hits="" data-linenumber="43"> - <code class="ruby"> application_version: nil,</code> + <code class="ruby"> max_include_resolution_depth: 20,</code> </li> <li class="never" data-hits="" data-linenumber="44"> - <code class="ruby"> integration_name: nil,</code> + <code class="ruby"> use_camel_case: false,</code> </li> <li class="never" data-hits="" data-linenumber="45"> - <code class="ruby"> integration_version: nil</code> + <code class="ruby"> application_name: nil,</code> </li> <li class="never" data-hits="" data-linenumber="46"> - <code class="ruby"> }</code> + <code class="ruby"> application_version: nil,</code> </li> <li class="never" data-hits="" data-linenumber="47"> + <code class="ruby"> integration_name: nil,</code> + </li> + + <li class="never" data-hits="" data-linenumber="48"> + + + <code class="ruby"> integration_version: nil</code> + </li> + + <li class="never" data-hits="" data-linenumber="49"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="50"> + + <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="48"> + <li class="covered" data-hits="1" data-linenumber="51"> <span class="hits">1</span> <code class="ruby"> attr_reader :configuration, :logger, :proxy</code> </li> - <li class="never" data-hits="" data-linenumber="49"> + <li class="never" data-hits="" data-linenumber="52"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="50"> + <li class="never" data-hits="" data-linenumber="53"> <code class="ruby"> # Wraps the actual HTTP request via proxy</code> </li> - <li class="never" data-hits="" data-linenumber="51"> + <li class="never" data-hits="" data-linenumber="54"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="52"> + <li class="covered" data-hits="1" data-linenumber="55"> <span class="hits">1</span> - <code class="ruby"> def self.get_http(url, query, headers = {}, proxy = {})</code> + <code class="ruby"> def self.get_http(url, query, headers = {}, proxy = {}, timeout = {})</code> </li> - <li class="covered" data-hits="72" data-linenumber="53"> - <span class="hits">72</span> + <li class="covered" data-hits="16" data-linenumber="56"> + <span class="hits">16</span> + <code class="ruby"> http = HTTP[headers]</code> + </li> + + <li class="covered" data-hits="16" data-linenumber="57"> + <span class="hits">16</span> + + <code class="ruby"> http = http.timeout(timeout) if timeout.any?</code> + </li> + + <li class="covered" data-hits="16" data-linenumber="58"> + <span class="hits">16</span> + <code class="ruby"> if proxy[:host]</code> </li> - <li class="missed" data-hits="0" data-linenumber="54"> + <li class="missed" data-hits="0" data-linenumber="59"> - <code class="ruby"> HTTP[headers].via(proxy[:host], proxy[:port], proxy[:username], proxy[:password]).get(url, params: query)</code> + <code class="ruby"> http.via(proxy[:host], proxy[:port], proxy[:username], proxy[:password]).get(url, params: query)</code> </li> - <li class="never" data-hits="" data-linenumber="55"> + <li class="never" data-hits="" data-linenumber="60"> <code class="ruby"> else</code> </li> - <li class="covered" data-hits="72" data-linenumber="56"> - <span class="hits">72</span> + <li class="covered" data-hits="16" data-linenumber="61"> + <span class="hits">16</span> - <code class="ruby"> HTTP[headers].get(url, params: query)</code> + <code class="ruby"> http.get(url, params: query)</code> </li> - <li class="never" data-hits="" data-linenumber="57"> + <li class="never" data-hits="" data-linenumber="62"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="58"> + <li class="never" data-hits="" data-linenumber="63"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="59"> + <li class="never" data-hits="" data-linenumber="64"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="60"> + <li class="never" data-hits="" data-linenumber="65"> <code class="ruby"> # @see _ https://github.com/contentful/contentful.rb#client-configuration-options</code> </li> - <li class="never" data-hits="" data-linenumber="61"> + <li class="never" data-hits="" data-linenumber="66"> <code class="ruby"> # @param [Hash] given_configuration</code> </li> - <li class="never" data-hits="" data-linenumber="62"> + <li class="never" data-hits="" data-linenumber="67"> <code class="ruby"> # @option given_configuration [String] :space Required</code> </li> - <li class="never" data-hits="" data-linenumber="63"> + <li class="never" data-hits="" data-linenumber="68"> <code class="ruby"> # @option given_configuration [String] :access_token Required</code> </li> - <li class="never" data-hits="" data-linenumber="64"> + <li class="never" data-hits="" data-linenumber="69"> <code class="ruby"> # @option given_configuration [String] :api_url Modifying this to &#39;preview.contentful.com&#39; gives you access to our Preview API</code> </li> - <li class="never" data-hits="" data-linenumber="65"> + <li class="never" data-hits="" data-linenumber="70"> <code class="ruby"> # @option given_configuration [String] :api_version</code> </li> - <li class="never" data-hits="" data-linenumber="66"> + <li class="never" data-hits="" data-linenumber="71"> <code class="ruby"> # @option given_configuration [String] :default_locale</code> </li> - <li class="never" data-hits="" data-linenumber="67"> + <li class="never" data-hits="" data-linenumber="72"> <code class="ruby"> # @option given_configuration [String] :proxy_host</code> </li> - <li class="never" data-hits="" data-linenumber="68"> + <li class="never" data-hits="" data-linenumber="73"> <code class="ruby"> # @option given_configuration [String] :proxy_username</code> </li> - <li class="never" data-hits="" data-linenumber="69"> + <li class="never" data-hits="" data-linenumber="74"> <code class="ruby"> # @option given_configuration [String] :proxy_password</code> </li> - <li class="never" data-hits="" data-linenumber="70"> + <li class="never" data-hits="" data-linenumber="75"> <code class="ruby"> # @option given_configuration [Number] :proxy_port</code> </li> - <li class="never" data-hits="" data-linenumber="71"> + <li class="never" data-hits="" data-linenumber="76"> + <code class="ruby"> # @option given_configuration [Number] :timeout_read</code> + </li> + + <li class="never" data-hits="" data-linenumber="77"> + + + <code class="ruby"> # @option given_configuration [Number] :timeout_write</code> + </li> + + <li class="never" data-hits="" data-linenumber="78"> + + + <code class="ruby"> # @option given_configuration [Number] :timeout_connect</code> + </li> + + <li class="never" data-hits="" data-linenumber="79"> + + <code class="ruby"> # @option given_configuration [Number] :max_rate_limit_retries</code> </li> - <li class="never" data-hits="" data-linenumber="72"> + <li class="never" data-hits="" data-linenumber="80"> <code class="ruby"> # @option given_configuration [Number] :max_rate_limit_wait</code> </li> - <li class="never" data-hits="" data-linenumber="73"> + <li class="never" data-hits="" data-linenumber="81"> <code class="ruby"> # @option given_configuration [Number] :max_include_resolution_depth</code> </li> - <li class="never" data-hits="" data-linenumber="74"> + <li class="never" data-hits="" data-linenumber="82"> <code class="ruby"> # @option given_configuration [Boolean] :use_camel_case</code> </li> - <li class="never" data-hits="" data-linenumber="75"> + <li class="never" data-hits="" data-linenumber="83"> <code class="ruby"> # @option given_configuration [Boolean] :gzip_encoded</code> </li> - <li class="never" data-hits="" data-linenumber="76"> + <li class="never" data-hits="" data-linenumber="84"> <code class="ruby"> # @option given_configuration [Boolean] :raw_mode</code> </li> - <li class="never" data-hits="" data-linenumber="77"> + <li class="never" data-hits="" data-linenumber="85"> <code class="ruby"> # @option given_configuration [false, ::Logger] :logger</code> </li> - <li class="never" data-hits="" data-linenumber="78"> + <li class="never" data-hits="" data-linenumber="86"> <code class="ruby"> # @option given_configuration [::Logger::DEBUG, ::Logger::INFO, ::Logger::WARN, ::Logger::ERROR] :log_level</code> </li> - <li class="never" data-hits="" data-linenumber="79"> + <li class="never" data-hits="" data-linenumber="87"> <code class="ruby"> # @option given_configuration [Boolean] :raise_errors</code> </li> - <li class="never" data-hits="" data-linenumber="80"> + <li class="never" data-hits="" data-linenumber="88"> <code class="ruby"> # @option given_configuration [Boolean] :raise_for_empty_fields</code> </li> - <li class="never" data-hits="" data-linenumber="81"> + <li class="never" data-hits="" data-linenumber="89"> <code class="ruby"> # @option given_configuration [::Array&lt;String&gt;] :dynamic_entries</code> </li> - <li class="never" data-hits="" data-linenumber="82"> + <li class="never" data-hits="" data-linenumber="90"> <code class="ruby"> # @option given_configuration [::Hash&lt;String, Contentful::Resource&gt;] :resource_mapping</code> </li> - <li class="never" data-hits="" data-linenumber="83"> + <li class="never" data-hits="" data-linenumber="91"> <code class="ruby"> # @option given_configuration [::Hash&lt;String, Contentful::Resource&gt;] :entry_mapping</code> </li> - <li class="never" data-hits="" data-linenumber="84"> + <li class="never" data-hits="" data-linenumber="92"> <code class="ruby"> # @option given_configuration [String] :application_name</code> </li> - <li class="never" data-hits="" data-linenumber="85"> + <li class="never" data-hits="" data-linenumber="93"> <code class="ruby"> # @option given_configuration [String] :application_version</code> </li> - <li class="never" data-hits="" data-linenumber="86"> + <li class="never" data-hits="" data-linenumber="94"> <code class="ruby"> # @option given_configuration [String] :integration_name</code> </li> - <li class="never" data-hits="" data-linenumber="87"> + <li class="never" data-hits="" data-linenumber="95"> <code class="ruby"> # @option given_configuration [String] :integration_version</code> </li> - <li class="covered" data-hits="1" data-linenumber="88"> + <li class="covered" data-hits="1" data-linenumber="96"> <span class="hits">1</span> <code class="ruby"> def initialize(given_configuration = {})</code> </li> - <li class="covered" data-hits="54" data-linenumber="89"> - <span class="hits">54</span> + <li class="covered" data-hits="51" data-linenumber="97"> + <span class="hits">51</span> <code class="ruby"> @configuration = default_configuration.merge(given_configuration)</code> </li> - <li class="covered" data-hits="54" data-linenumber="90"> - <span class="hits">54</span> + <li class="covered" data-hits="51" data-linenumber="98"> + <span class="hits">51</span> <code class="ruby"> normalize_configuration!</code> </li> - <li class="covered" data-hits="54" data-linenumber="91"> - <span class="hits">54</span> + <li class="covered" data-hits="51" data-linenumber="99"> + <span class="hits">51</span> <code class="ruby"> validate_configuration!</code> </li> - <li class="covered" data-hits="54" data-linenumber="92"> - <span class="hits">54</span> + <li class="covered" data-hits="43" data-linenumber="100"> + <span class="hits">43</span> <code class="ruby"> setup_logger</code> </li> - <li class="never" data-hits="" data-linenumber="93"> + <li class="never" data-hits="" data-linenumber="101"> <code class="ruby"></code> </li> - <li class="covered" data-hits="54" data-linenumber="94"> - <span class="hits">54</span> + <li class="covered" data-hits="43" data-linenumber="102"> + <span class="hits">43</span> <code class="ruby"> update_dynamic_entry_cache! if configuration[:dynamic_entries] == :auto</code> </li> - <li class="never" data-hits="" data-linenumber="95"> + <li class="never" data-hits="" data-linenumber="103"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="96"> + <li class="never" data-hits="" data-linenumber="104"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="97"> + <li class="never" data-hits="" data-linenumber="105"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="98"> + <li class="covered" data-hits="1" data-linenumber="106"> <span class="hits">1</span> <code class="ruby"> def setup_logger</code> </li> - <li class="covered" data-hits="54" data-linenumber="99"> - <span class="hits">54</span> + <li class="covered" data-hits="43" data-linenumber="107"> + <span class="hits">43</span> <code class="ruby"> @logger = configuration[:logger]</code> </li> - <li class="covered" data-hits="54" data-linenumber="100"> - <span class="hits">54</span> + <li class="covered" data-hits="43" data-linenumber="108"> + <span class="hits">43</span> <code class="ruby"> logger.level = configuration[:log_level] if logger</code> </li> - <li class="never" data-hits="" data-linenumber="101"> + <li class="never" data-hits="" data-linenumber="109"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="102"> + <li class="never" data-hits="" data-linenumber="110"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="103"> + <li class="never" data-hits="" data-linenumber="111"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="104"> + <li class="covered" data-hits="1" data-linenumber="112"> <span class="hits">1</span> <code class="ruby"> def proxy_params</code> </li> - <li class="covered" data-hits="72" data-linenumber="105"> - <span class="hits">72</span> + <li class="covered" data-hits="26" data-linenumber="113"> + <span class="hits">26</span> <code class="ruby"> {</code> </li> - <li class="never" data-hits="" data-linenumber="106"> + <li class="never" data-hits="" data-linenumber="114"> <code class="ruby"> host: configuration[:proxy_host],</code> </li> - <li class="never" data-hits="" data-linenumber="107"> + <li class="never" data-hits="" data-linenumber="115"> <code class="ruby"> port: configuration[:proxy_port],</code> </li> - <li class="never" data-hits="" data-linenumber="108"> + <li class="never" data-hits="" data-linenumber="116"> <code class="ruby"> username: configuration[:proxy_username],</code> </li> - <li class="never" data-hits="" data-linenumber="109"> + <li class="never" data-hits="" data-linenumber="117"> <code class="ruby"> password: configuration[:proxy_password]</code> </li> - <li class="never" data-hits="" data-linenumber="110"> + <li class="never" data-hits="" data-linenumber="118"> <code class="ruby"> }</code> </li> - <li class="never" data-hits="" data-linenumber="111"> + <li class="never" data-hits="" data-linenumber="119"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="112"> + <li class="never" data-hits="" data-linenumber="120"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="113"> + <li class="never" data-hits="" data-linenumber="121"> + <code class="ruby"> # @private</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="122"> + <span class="hits">1</span> + + <code class="ruby"> def timeout_params</code> + </li> + + <li class="never" data-hits="" data-linenumber="123"> + + + <code class="ruby"> {</code> + </li> + + <li class="never" data-hits="" data-linenumber="124"> + + + <code class="ruby"> connect: configuration[:timeout_connect],</code> + </li> + + <li class="never" data-hits="" data-linenumber="125"> + + + <code class="ruby"> read: configuration[:timeout_read],</code> + </li> + + <li class="never" data-hits="" data-linenumber="126"> + + + <code class="ruby"> write: configuration[:timeout_write]</code> + </li> + + <li class="covered" data-hits="340" data-linenumber="127"> + <span class="hits">340</span> + + <code class="ruby"> }.reject { |_, value| value.nil? }</code> + </li> + + <li class="never" data-hits="" data-linenumber="128"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="129"> + + + <code class="ruby"></code> + </li> + + <li class="never" data-hits="" data-linenumber="130"> + + <code class="ruby"> # Returns the default configuration</code> </li> - <li class="never" data-hits="" data-linenumber="114"> + <li class="never" data-hits="" data-linenumber="131"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="115"> + <li class="covered" data-hits="1" data-linenumber="132"> <span class="hits">1</span> <code class="ruby"> def default_configuration</code> </li> - <li class="covered" data-hits="54" data-linenumber="116"> - <span class="hits">54</span> + <li class="covered" data-hits="51" data-linenumber="133"> + <span class="hits">51</span> <code class="ruby"> DEFAULT_CONFIGURATION.dup</code> </li> - <li class="never" data-hits="" data-linenumber="117"> + <li class="never" data-hits="" data-linenumber="134"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="118"> + <li class="never" data-hits="" data-linenumber="135"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="119"> + <li class="never" data-hits="" data-linenumber="136"> <code class="ruby"> # Gets the client&#39;s space</code> </li> - <li class="never" data-hits="" data-linenumber="120"> + <li class="never" data-hits="" data-linenumber="137"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="121"> + <li class="never" data-hits="" data-linenumber="138"> <code class="ruby"> # @param [Hash] query</code> </li> - <li class="never" data-hits="" data-linenumber="122"> + <li class="never" data-hits="" data-linenumber="139"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="123"> + <li class="never" data-hits="" data-linenumber="140"> <code class="ruby"> # @return [Contentful::Space]</code> </li> - <li class="covered" data-hits="1" data-linenumber="124"> + <li class="covered" data-hits="1" data-linenumber="141"> <span class="hits">1</span> <code class="ruby"> def space(query = {})</code> </li> - <li class="missed" data-hits="0" data-linenumber="125"> + <li class="missed" data-hits="0" data-linenumber="142"> <code class="ruby"> Request.new(self, &#39;&#39;, query).get</code> </li> - <li class="never" data-hits="" data-linenumber="126"> + <li class="never" data-hits="" data-linenumber="143"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="127"> + <li class="never" data-hits="" data-linenumber="144"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="128"> + <li class="never" data-hits="" data-linenumber="145"> <code class="ruby"> # Gets a specific content type</code> </li> - <li class="never" data-hits="" data-linenumber="129"> + <li class="never" data-hits="" data-linenumber="146"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="130"> + <li class="never" data-hits="" data-linenumber="147"> <code class="ruby"> # @param [String] id</code> </li> - <li class="never" data-hits="" data-linenumber="131"> + <li class="never" data-hits="" data-linenumber="148"> <code class="ruby"> # @param [Hash] query</code> </li> - <li class="never" data-hits="" data-linenumber="132"> + <li class="never" data-hits="" data-linenumber="149"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="133"> + <li class="never" data-hits="" data-linenumber="150"> <code class="ruby"> # @return [Contentful::ContentType]</code> </li> - <li class="covered" data-hits="1" data-linenumber="134"> + <li class="covered" data-hits="1" data-linenumber="151"> <span class="hits">1</span> <code class="ruby"> def content_type(id, query = {})</code> </li> - <li class="missed" data-hits="0" data-linenumber="135"> + <li class="covered" data-hits="3" data-linenumber="152"> + <span class="hits">3</span> - <code class="ruby"> Request.new(self, environment_url(&#39;/content_types&#39;), query, id).get</code> </li> - <li class="never" data-hits="" data-linenumber="136"> + <li class="never" data-hits="" data-linenumber="153"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="137"> + <li class="never" data-hits="" data-linenumber="154"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="138"> + <li class="never" data-hits="" data-linenumber="155"> <code class="ruby"> # Gets a collection of content types</code> </li> - <li class="never" data-hits="" data-linenumber="139"> + <li class="never" data-hits="" data-linenumber="156"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="140"> + <li class="never" data-hits="" data-linenumber="157"> <code class="ruby"> # @param [Hash] query</code> </li> - <li class="never" data-hits="" data-linenumber="141"> + <li class="never" data-hits="" data-linenumber="158"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="142"> + <li class="never" data-hits="" data-linenumber="159"> <code class="ruby"> # @return [Contentful::Array&lt;Contentful::ContentType&gt;]</code> </li> - <li class="covered" data-hits="1" data-linenumber="143"> + <li class="covered" data-hits="1" data-linenumber="160"> <span class="hits">1</span> <code class="ruby"> def content_types(query = {})</code> </li> - <li class="covered" data-hits="18" data-linenumber="144"> - <span class="hits">18</span> + <li class="covered" data-hits="3" data-linenumber="161"> + <span class="hits">3</span> <code class="ruby"> Request.new(self, environment_url(&#39;/content_types&#39;), query).get</code> </li> - <li class="never" data-hits="" data-linenumber="145"> + <li class="never" data-hits="" data-linenumber="162"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="146"> + <li class="never" data-hits="" data-linenumber="163"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="147"> + <li class="never" data-hits="" data-linenumber="164"> <code class="ruby"> # Gets a specific entry</code> </li> - <li class="never" data-hits="" data-linenumber="148"> + <li class="never" data-hits="" data-linenumber="165"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="149"> + <li class="never" data-hits="" data-linenumber="166"> <code class="ruby"> # @param [String] id</code> </li> - <li class="never" data-hits="" data-linenumber="150"> + <li class="never" data-hits="" data-linenumber="167"> <code class="ruby"> # @param [Hash] query</code> </li> - <li class="never" data-hits="" data-linenumber="151"> + <li class="never" data-hits="" data-linenumber="168"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="152"> + <li class="never" data-hits="" data-linenumber="169"> <code class="ruby"> # @return [Contentful::Entry]</code> </li> - <li class="covered" data-hits="1" data-linenumber="153"> + <li class="covered" data-hits="1" data-linenumber="170"> <span class="hits">1</span> <code class="ruby"> def entry(id, query = {})</code> </li> - <li class="covered" data-hits="36" data-linenumber="154"> - <span class="hits">36</span> + <li class="covered" data-hits="3" data-linenumber="171"> + <span class="hits">3</span> <code class="ruby"> normalize_select!(query)</code> </li> - <li class="covered" data-hits="36" data-linenumber="155"> - <span class="hits">36</span> + <li class="covered" data-hits="3" data-linenumber="172"> + <span class="hits">3</span> <code class="ruby"> query[&#39;sys.id&#39;] = id</code> </li> - <li class="covered" data-hits="36" data-linenumber="156"> - <span class="hits">36</span> + <li class="covered" data-hits="3" data-linenumber="173"> + <span class="hits">3</span> <code class="ruby"> entries = Request.new(self, environment_url(&#39;/entries&#39;), query).get</code> </li> - <li class="never" data-hits="" data-linenumber="157"> + <li class="never" data-hits="" data-linenumber="174"> <code class="ruby"></code> </li> - <li class="covered" data-hits="36" data-linenumber="158"> - <span class="hits">36</span> + <li class="covered" data-hits="3" data-linenumber="175"> + <span class="hits">3</span> <code class="ruby"> return entries if configuration[:raw_mode]</code> </li> - <li class="never" data-hits="" data-linenumber="159"> + <li class="never" data-hits="" data-linenumber="176"> <code class="ruby"></code> </li> - <li class="covered" data-hits="35" data-linenumber="160"> - <span class="hits">35</span> + <li class="covered" data-hits="3" data-linenumber="177"> + <span class="hits">3</span> <code class="ruby"> entries.first</code> </li> - <li class="never" data-hits="" data-linenumber="161"> + <li class="never" data-hits="" data-linenumber="178"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="162"> + <li class="never" data-hits="" data-linenumber="179"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="163"> + <li class="never" data-hits="" data-linenumber="180"> <code class="ruby"> # Gets a collection of entries</code> </li> - <li class="never" data-hits="" data-linenumber="164"> + <li class="never" data-hits="" data-linenumber="181"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="165"> + <li class="never" data-hits="" data-linenumber="182"> <code class="ruby"> # @param [Hash] query</code> </li> - <li class="never" data-hits="" data-linenumber="166"> + <li class="never" data-hits="" data-linenumber="183"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="167"> + <li class="never" data-hits="" data-linenumber="184"> <code class="ruby"> # @return [Contentful::Array&lt;Contentful::Entry&gt;]</code> </li> - <li class="covered" data-hits="1" data-linenumber="168"> + <li class="covered" data-hits="1" data-linenumber="185"> <span class="hits">1</span> <code class="ruby"> def entries(query = {})</code> </li> - <li class="covered" data-hits="18" data-linenumber="169"> - <span class="hits">18</span> + <li class="missed" data-hits="0" data-linenumber="186"> + <code class="ruby"> normalize_select!(query)</code> </li> - <li class="covered" data-hits="18" data-linenumber="170"> - <span class="hits">18</span> + <li class="missed" data-hits="0" data-linenumber="187"> + <code class="ruby"> Request.new(self, environment_url(&#39;/entries&#39;), query).get</code> </li> - <li class="never" data-hits="" data-linenumber="171"> + <li class="never" data-hits="" data-linenumber="188"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="172"> + <li class="never" data-hits="" data-linenumber="189"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="173"> + <li class="never" data-hits="" data-linenumber="190"> <code class="ruby"> # Gets a specific asset</code> </li> - <li class="never" data-hits="" data-linenumber="174"> + <li class="never" data-hits="" data-linenumber="191"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="175"> + <li class="never" data-hits="" data-linenumber="192"> <code class="ruby"> # @param [String] id</code> </li> - <li class="never" data-hits="" data-linenumber="176"> + <li class="never" data-hits="" data-linenumber="193"> <code class="ruby"> # @param [Hash] query</code> </li> - <li class="never" data-hits="" data-linenumber="177"> + <li class="never" data-hits="" data-linenumber="194"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="178"> + <li class="never" data-hits="" data-linenumber="195"> <code class="ruby"> # @return [Contentful::Asset]</code> </li> - <li class="covered" data-hits="1" data-linenumber="179"> + <li class="covered" data-hits="1" data-linenumber="196"> <span class="hits">1</span> <code class="ruby"> def asset(id, query = {})</code> </li> - <li class="missed" data-hits="0" data-linenumber="180"> + <li class="covered" data-hits="1" data-linenumber="197"> + <span class="hits">1</span> - <code class="ruby"> Request.new(self, environment_url(&#39;/assets&#39;), query, id).get</code> </li> - <li class="never" data-hits="" data-linenumber="181"> + <li class="never" data-hits="" data-linenumber="198"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="182"> + <li class="never" data-hits="" data-linenumber="199"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="183"> + <li class="never" data-hits="" data-linenumber="200"> <code class="ruby"> # Gets a collection of assets</code> </li> - <li class="never" data-hits="" data-linenumber="184"> + <li class="never" data-hits="" data-linenumber="201"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="185"> + <li class="never" data-hits="" data-linenumber="202"> <code class="ruby"> # @param [Hash] query</code> </li> - <li class="never" data-hits="" data-linenumber="186"> + <li class="never" data-hits="" data-linenumber="203"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="187"> + <li class="never" data-hits="" data-linenumber="204"> <code class="ruby"> # @return [Contentful::Array&lt;Contentful::Asset&gt;]</code> </li> - <li class="covered" data-hits="1" data-linenumber="188"> + <li class="covered" data-hits="1" data-linenumber="205"> <span class="hits">1</span> <code class="ruby"> def assets(query = {})</code> </li> - <li class="missed" data-hits="0" data-linenumber="189"> + <li class="missed" data-hits="0" data-linenumber="206"> <code class="ruby"> normalize_select!(query)</code> </li> - <li class="missed" data-hits="0" data-linenumber="190"> + <li class="missed" data-hits="0" data-linenumber="207"> <code class="ruby"> Request.new(self, environment_url(&#39;/assets&#39;), query).get</code> </li> - <li class="never" data-hits="" data-linenumber="191"> + <li class="never" data-hits="" data-linenumber="208"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="192"> + <li class="never" data-hits="" data-linenumber="209"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="193"> + <li class="never" data-hits="" data-linenumber="210"> <code class="ruby"> # Gets a collection of locales for the current environment</code> </li> - <li class="never" data-hits="" data-linenumber="194"> + <li class="never" data-hits="" data-linenumber="211"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="195"> + <li class="never" data-hits="" data-linenumber="212"> <code class="ruby"> # @param [Hash] query</code> </li> - <li class="never" data-hits="" data-linenumber="196"> + <li class="never" data-hits="" data-linenumber="213"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="197"> + <li class="never" data-hits="" data-linenumber="214"> <code class="ruby"> # @return [Contentful::Array&lt;Contentful::Locale&gt;]</code> </li> - <li class="covered" data-hits="1" data-linenumber="198"> + <li class="covered" data-hits="1" data-linenumber="215"> <span class="hits">1</span> <code class="ruby"> def locales(query = {})</code> </li> - <li class="missed" data-hits="0" data-linenumber="199"> + <li class="missed" data-hits="0" data-linenumber="216"> <code class="ruby"> Request.new(self, environment_url(&#39;/locales&#39;), query).get</code> </li> - <li class="never" data-hits="" data-linenumber="200"> + <li class="never" data-hits="" data-linenumber="217"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="201"> + <li class="never" data-hits="" data-linenumber="218"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="202"> + <li class="never" data-hits="" data-linenumber="219"> <code class="ruby"> # Returns the base url for all of the client&#39;s requests</code> </li> - <li class="never" data-hits="" data-linenumber="203"> + <li class="never" data-hits="" data-linenumber="220"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="204"> + <li class="covered" data-hits="1" data-linenumber="221"> <span class="hits">1</span> <code class="ruby"> def base_url</code> </li> - <li class="covered" data-hits="72" data-linenumber="205"> - <span class="hits">72</span> + <li class="covered" data-hits="27" data-linenumber="222"> + <span class="hits">27</span> <code class="ruby"> &quot;http#{configuration[:secure] ? &#39;s&#39; : &#39;&#39;}://#{configuration[:api_url]}/spaces/#{configuration[:space]}&quot;</code> </li> - <li class="never" data-hits="" data-linenumber="206"> + <li class="never" data-hits="" data-linenumber="223"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="207"> + <li class="never" data-hits="" data-linenumber="224"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="208"> + <li class="never" data-hits="" data-linenumber="225"> <code class="ruby"> # Returns the url aware of the currently selected environment</code> </li> - <li class="never" data-hits="" data-linenumber="209"> + <li class="never" data-hits="" data-linenumber="226"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="210"> + <li class="covered" data-hits="1" data-linenumber="227"> <span class="hits">1</span> <code class="ruby"> def environment_url(path)</code> </li> - <li class="covered" data-hits="72" data-linenumber="211"> - <span class="hits">72</span> + <li class="covered" data-hits="20" data-linenumber="228"> + <span class="hits">20</span> <code class="ruby"> &quot;/environments/#{configuration[:environment]}#{path}&quot;</code> </li> - <li class="never" data-hits="" data-linenumber="212"> + <li class="never" data-hits="" data-linenumber="229"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="213"> + <li class="never" data-hits="" data-linenumber="230"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="214"> + <li class="never" data-hits="" data-linenumber="231"> <code class="ruby"> # Returns the formatted part of the X-Contentful-User-Agent header</code> </li> - <li class="never" data-hits="" data-linenumber="215"> + <li class="never" data-hits="" data-linenumber="232"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="216"> + <li class="covered" data-hits="1" data-linenumber="233"> <span class="hits">1</span> <code class="ruby"> def format_user_agent_header(key, values)</code> </li> - <li class="covered" data-hits="216" data-linenumber="217"> - <span class="hits">216</span> + <li class="covered" data-hits="222" data-linenumber="234"> + <span class="hits">222</span> <code class="ruby"> header = &quot;#{key} #{values[:name]}&quot;</code> </li> - <li class="covered" data-hits="216" data-linenumber="218"> - <span class="hits">216</span> + <li class="covered" data-hits="222" data-linenumber="235"> + <span class="hits">222</span> <code class="ruby"> header = &quot;#{header}/#{values[:version]}&quot; if values[:version]</code> </li> - <li class="covered" data-hits="216" data-linenumber="219"> - <span class="hits">216</span> + <li class="covered" data-hits="222" data-linenumber="236"> + <span class="hits">222</span> <code class="ruby"> &quot;#{header};&quot;</code> </li> - <li class="never" data-hits="" data-linenumber="220"> + <li class="never" data-hits="" data-linenumber="237"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="221"> + <li class="never" data-hits="" data-linenumber="238"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="222"> + <li class="never" data-hits="" data-linenumber="239"> <code class="ruby"> # Returns the X-Contentful-User-Agent sdk data</code> </li> - <li class="never" data-hits="" data-linenumber="223"> + <li class="never" data-hits="" data-linenumber="240"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="224"> + <li class="covered" data-hits="1" data-linenumber="241"> <span class="hits">1</span> <code class="ruby"> def sdk_info</code> </li> - <li class="covered" data-hits="72" data-linenumber="225"> - <span class="hits">72</span> + <li class="covered" data-hits="64" data-linenumber="242"> + <span class="hits">64</span> <code class="ruby"> { name: &#39;contentful.rb&#39;, version: ::Contentful::VERSION }</code> </li> - <li class="never" data-hits="" data-linenumber="226"> + <li class="never" data-hits="" data-linenumber="243"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="227"> + <li class="never" data-hits="" data-linenumber="244"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="228"> + <li class="never" data-hits="" data-linenumber="245"> <code class="ruby"> # Returns the X-Contentful-User-Agent app data</code> </li> - <li class="never" data-hits="" data-linenumber="229"> + <li class="never" data-hits="" data-linenumber="246"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="230"> + <li class="covered" data-hits="1" data-linenumber="247"> <span class="hits">1</span> <code class="ruby"> def app_info</code> </li> - <li class="covered" data-hits="72" data-linenumber="231"> - <span class="hits">72</span> + <li class="covered" data-hits="64" data-linenumber="248"> + <span class="hits">64</span> <code class="ruby"> { name: configuration[:application_name], version: configuration[:application_version] }</code> </li> - <li class="never" data-hits="" data-linenumber="232"> + <li class="never" data-hits="" data-linenumber="249"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="233"> + <li class="never" data-hits="" data-linenumber="250"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="234"> + <li class="never" data-hits="" data-linenumber="251"> <code class="ruby"> # Returns the X-Contentful-User-Agent integration data</code> </li> - <li class="never" data-hits="" data-linenumber="235"> + <li class="never" data-hits="" data-linenumber="252"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="236"> + <li class="covered" data-hits="1" data-linenumber="253"> <span class="hits">1</span> <code class="ruby"> def integration_info</code> </li> - <li class="covered" data-hits="72" data-linenumber="237"> - <span class="hits">72</span> + <li class="covered" data-hits="64" data-linenumber="254"> + <span class="hits">64</span> <code class="ruby"> { name: configuration[:integration_name], version: configuration[:integration_version] }</code> </li> - <li class="never" data-hits="" data-linenumber="238"> + <li class="never" data-hits="" data-linenumber="255"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="239"> + <li class="never" data-hits="" data-linenumber="256"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="240"> + <li class="never" data-hits="" data-linenumber="257"> <code class="ruby"> # Returns the X-Contentful-User-Agent platform data</code> </li> - <li class="never" data-hits="" data-linenumber="241"> + <li class="never" data-hits="" data-linenumber="258"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="242"> + <li class="covered" data-hits="1" data-linenumber="259"> <span class="hits">1</span> <code class="ruby"> def platform_info</code> </li> - <li class="covered" data-hits="72" data-linenumber="243"> - <span class="hits">72</span> + <li class="covered" data-hits="64" data-linenumber="260"> + <span class="hits">64</span> <code class="ruby"> { name: &#39;ruby&#39;, version: RUBY_VERSION }</code> </li> - <li class="never" data-hits="" data-linenumber="244"> + <li class="never" data-hits="" data-linenumber="261"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="245"> + <li class="never" data-hits="" data-linenumber="262"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="246"> + <li class="never" data-hits="" data-linenumber="263"> <code class="ruby"> # Returns the X-Contentful-User-Agent os data</code> </li> - <li class="never" data-hits="" data-linenumber="247"> + <li class="never" data-hits="" data-linenumber="264"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="248"> + <li class="covered" data-hits="1" data-linenumber="265"> <span class="hits">1</span> <code class="ruby"> def os_info</code> </li> - <li class="covered" data-hits="72" data-linenumber="249"> - <span class="hits">72</span> + <li class="covered" data-hits="64" data-linenumber="266"> + <span class="hits">64</span> <code class="ruby"> os_name = case ::RbConfig::CONFIG[&#39;host_os&#39;]</code> </li> - <li class="missed" data-hits="0" data-linenumber="250"> + <li class="missed" data-hits="0" data-linenumber="267"> <code class="ruby"> when /(cygwin|mingw|mswin|windows)/i then &#39;Windows&#39;</code> </li> - <li class="covered" data-hits="72" data-linenumber="251"> - <span class="hits">72</span> + <li class="covered" data-hits="64" data-linenumber="268"> + <span class="hits">64</span> <code class="ruby"> when /(darwin|macruby|mac os)/i then &#39;macOS&#39;</code> </li> - <li class="missed" data-hits="0" data-linenumber="252"> + <li class="missed" data-hits="0" data-linenumber="269"> <code class="ruby"> when /(linux|bsd|aix|solarix)/i then &#39;Linux&#39;</code> </li> - <li class="never" data-hits="" data-linenumber="253"> + <li class="never" data-hits="" data-linenumber="270"> <code class="ruby"> end</code> </li> - <li class="covered" data-hits="72" data-linenumber="254"> - <span class="hits">72</span> + <li class="covered" data-hits="64" data-linenumber="271"> + <span class="hits">64</span> <code class="ruby"> { name: os_name, version: Gem::Platform.local.version }</code> </li> - <li class="never" data-hits="" data-linenumber="255"> + <li class="never" data-hits="" data-linenumber="272"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="256"> + <li class="never" data-hits="" data-linenumber="273"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="257"> + <li class="never" data-hits="" data-linenumber="274"> <code class="ruby"> # Returns the X-Contentful-User-Agent</code> </li> - <li class="never" data-hits="" data-linenumber="258"> + <li class="never" data-hits="" data-linenumber="275"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="259"> + <li class="covered" data-hits="1" data-linenumber="276"> <span class="hits">1</span> <code class="ruby"> def contentful_user_agent</code> </li> - <li class="covered" data-hits="72" data-linenumber="260"> - <span class="hits">72</span> + <li class="covered" data-hits="64" data-linenumber="277"> + <span class="hits">64</span> <code class="ruby"> header = {</code> </li> - <li class="never" data-hits="" data-linenumber="261"> + <li class="never" data-hits="" data-linenumber="278"> <code class="ruby"> &#39;sdk&#39; =&gt; sdk_info,</code> </li> - <li class="never" data-hits="" data-linenumber="262"> + <li class="never" data-hits="" data-linenumber="279"> <code class="ruby"> &#39;app&#39; =&gt; app_info,</code> </li> - <li class="never" data-hits="" data-linenumber="263"> + <li class="never" data-hits="" data-linenumber="280"> <code class="ruby"> &#39;integration&#39; =&gt; integration_info,</code> </li> - <li class="never" data-hits="" data-linenumber="264"> + <li class="never" data-hits="" data-linenumber="281"> <code class="ruby"> &#39;platform&#39; =&gt; platform_info,</code> </li> - <li class="never" data-hits="" data-linenumber="265"> + <li class="never" data-hits="" data-linenumber="282"> <code class="ruby"> &#39;os&#39; =&gt; os_info</code> </li> - <li class="never" data-hits="" data-linenumber="266"> + <li class="never" data-hits="" data-linenumber="283"> <code class="ruby"> }</code> </li> - <li class="never" data-hits="" data-linenumber="267"> + <li class="never" data-hits="" data-linenumber="284"> <code class="ruby"></code> </li> - <li class="covered" data-hits="72" data-linenumber="268"> - <span class="hits">72</span> + <li class="covered" data-hits="64" data-linenumber="285"> + <span class="hits">64</span> <code class="ruby"> result = []</code> </li> - <li class="covered" data-hits="72" data-linenumber="269"> - <span class="hits">72</span> + <li class="covered" data-hits="64" data-linenumber="286"> + <span class="hits">64</span> <code class="ruby"> header.each do |key, values|</code> </li> - <li class="covered" data-hits="360" data-linenumber="270"> - <span class="hits">360</span> + <li class="covered" data-hits="320" data-linenumber="287"> + <span class="hits">320</span> <code class="ruby"> next unless values[:name]</code> </li> - <li class="covered" data-hits="216" data-linenumber="271"> - <span class="hits">216</span> + <li class="covered" data-hits="222" data-linenumber="288"> + <span class="hits">222</span> <code class="ruby"> result &lt;&lt; format_user_agent_header(key, values)</code> </li> - <li class="never" data-hits="" data-linenumber="272"> + <li class="never" data-hits="" data-linenumber="289"> <code class="ruby"> end</code> </li> - <li class="covered" data-hits="72" data-linenumber="273"> - <span class="hits">72</span> + <li class="covered" data-hits="64" data-linenumber="290"> + <span class="hits">64</span> <code class="ruby"> result.join(&#39; &#39;)</code> </li> - <li class="never" data-hits="" data-linenumber="274"> + <li class="never" data-hits="" data-linenumber="291"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="275"> + <li class="never" data-hits="" data-linenumber="292"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="276"> + <li class="never" data-hits="" data-linenumber="293"> <code class="ruby"> # Returns the headers used for the HTTP requests</code> </li> - <li class="never" data-hits="" data-linenumber="277"> + <li class="never" data-hits="" data-linenumber="294"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="278"> + <li class="covered" data-hits="1" data-linenumber="295"> <span class="hits">1</span> <code class="ruby"> def request_headers</code> </li> - <li class="covered" data-hits="72" data-linenumber="279"> - <span class="hits">72</span> + <li class="covered" data-hits="28" data-linenumber="296"> + <span class="hits">28</span> <code class="ruby"> headers = { &#39;X-Contentful-User-Agent&#39; =&gt; contentful_user_agent }</code> </li> - <li class="covered" data-hits="72" data-linenumber="280"> - <span class="hits">72</span> + <li class="covered" data-hits="28" data-linenumber="297"> + <span class="hits">28</span> <code class="ruby"> headers[&#39;Authorization&#39;] = &quot;Bearer #{configuration[:access_token]}&quot; if configuration[:authentication_mechanism] == :header</code> </li> - <li class="covered" data-hits="72" data-linenumber="281"> - <span class="hits">72</span> + <li class="covered" data-hits="28" data-linenumber="298"> + <span class="hits">28</span> <code class="ruby"> headers[&#39;Content-Type&#39;] = &quot;application/vnd.contentful.delivery.v#{configuration[:api_version].to_i}+json&quot; if configuration[:api_version]</code> </li> - <li class="covered" data-hits="72" data-linenumber="282"> - <span class="hits">72</span> + <li class="covered" data-hits="28" data-linenumber="299"> + <span class="hits">28</span> <code class="ruby"> headers[&#39;Accept-Encoding&#39;] = &#39;gzip&#39; if configuration[:gzip_encoded]</code> </li> - <li class="covered" data-hits="72" data-linenumber="283"> - <span class="hits">72</span> + <li class="covered" data-hits="28" data-linenumber="300"> + <span class="hits">28</span> <code class="ruby"> headers</code> </li> - <li class="never" data-hits="" data-linenumber="284"> + <li class="never" data-hits="" data-linenumber="301"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="285"> + <li class="never" data-hits="" data-linenumber="302"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="286"> + <li class="never" data-hits="" data-linenumber="303"> <code class="ruby"> # Patches a query hash with the client configurations for queries</code> </li> - <li class="never" data-hits="" data-linenumber="287"> + <li class="never" data-hits="" data-linenumber="304"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="288"> + <li class="covered" data-hits="1" data-linenumber="305"> <span class="hits">1</span> <code class="ruby"> def request_query(query)</code> </li> - <li class="covered" data-hits="72" data-linenumber="289"> - <span class="hits">72</span> + <li class="covered" data-hits="22" data-linenumber="306"> + <span class="hits">22</span> <code class="ruby"> if configuration[:authentication_mechanism] == :query_string</code> </li> - <li class="missed" data-hits="0" data-linenumber="290"> + <li class="covered" data-hits="1" data-linenumber="307"> + <span class="hits">1</span> - <code class="ruby"> query[&#39;access_token&#39;] = configuration[:access_token]</code> </li> - <li class="never" data-hits="" data-linenumber="291"> + <li class="never" data-hits="" data-linenumber="308"> <code class="ruby"> end</code> </li> - <li class="covered" data-hits="72" data-linenumber="292"> - <span class="hits">72</span> + <li class="covered" data-hits="22" data-linenumber="309"> + <span class="hits">22</span> <code class="ruby"> query</code> </li> - <li class="never" data-hits="" data-linenumber="293"> + <li class="never" data-hits="" data-linenumber="310"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="294"> + <li class="never" data-hits="" data-linenumber="311"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="295"> + <li class="never" data-hits="" data-linenumber="312"> <code class="ruby"> # Get a Contentful::Request object</code> </li> - <li class="never" data-hits="" data-linenumber="296"> + <li class="never" data-hits="" data-linenumber="313"> <code class="ruby"> # Set second parameter to false to deactivate Resource building and</code> </li> - <li class="never" data-hits="" data-linenumber="297"> + <li class="never" data-hits="" data-linenumber="314"> <code class="ruby"> # return Response objects instead</code> </li> - <li class="never" data-hits="" data-linenumber="298"> + <li class="never" data-hits="" data-linenumber="315"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="299"> + <li class="never" data-hits="" data-linenumber="316"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="300"> + <li class="covered" data-hits="1" data-linenumber="317"> <span class="hits">1</span> <code class="ruby"> def get(request, build_resource = true)</code> </li> - <li class="covered" data-hits="72" data-linenumber="301"> - <span class="hits">72</span> + <li class="covered" data-hits="20" data-linenumber="318"> + <span class="hits">20</span> <code class="ruby"> retries_left = configuration[:max_rate_limit_retries]</code> </li> - <li class="covered" data-hits="72" data-linenumber="302"> - <span class="hits">72</span> + <li class="covered" data-hits="20" data-linenumber="319"> + <span class="hits">20</span> <code class="ruby"> result = nil</code> </li> - <li class="covered" data-hits="72" data-linenumber="303"> - <span class="hits">72</span> + <li class="covered" data-hits="20" data-linenumber="320"> + <span class="hits">20</span> <code class="ruby"> begin</code> </li> - <li class="covered" data-hits="72" data-linenumber="304"> - <span class="hits">72</span> + <li class="covered" data-hits="20" data-linenumber="321"> + <span class="hits">20</span> <code class="ruby"> response = run_request(request)</code> </li> - <li class="never" data-hits="" data-linenumber="305"> + <li class="never" data-hits="" data-linenumber="322"> <code class="ruby"></code> </li> - <li class="covered" data-hits="72" data-linenumber="306"> - <span class="hits">72</span> + <li class="covered" data-hits="20" data-linenumber="323"> + <span class="hits">20</span> <code class="ruby"> return response if !build_resource || configuration[:raw_mode]</code> </li> - <li class="never" data-hits="" data-linenumber="307"> + <li class="never" data-hits="" data-linenumber="324"> <code class="ruby"></code> </li> - <li class="covered" data-hits="71" data-linenumber="308"> - <span class="hits">71</span> + <li class="covered" data-hits="19" data-linenumber="325"> + <span class="hits">19</span> <code class="ruby"> return fail_response(response) if response.status != :ok</code> </li> - <li class="never" data-hits="" data-linenumber="309"> + <li class="never" data-hits="" data-linenumber="326"> <code class="ruby"></code> </li> - <li class="covered" data-hits="70" data-linenumber="310"> - <span class="hits">70</span> + <li class="covered" data-hits="17" data-linenumber="327"> + <span class="hits">17</span> <code class="ruby"> result = do_build_resource(response)</code> </li> - <li class="never" data-hits="" data-linenumber="311"> + <li class="never" data-hits="" data-linenumber="328"> <code class="ruby"> rescue UnparsableResource =&gt; error</code> </li> - <li class="missed" data-hits="0" data-linenumber="312"> + <li class="missed" data-hits="0" data-linenumber="329"> <code class="ruby"> raise error if configuration[:raise_errors]</code> </li> - <li class="missed" data-hits="0" data-linenumber="313"> + <li class="missed" data-hits="0" data-linenumber="330"> <code class="ruby"> return error</code> </li> - <li class="never" data-hits="" data-linenumber="314"> + <li class="never" data-hits="" data-linenumber="331"> <code class="ruby"> rescue Contentful::RateLimitExceeded =&gt; rate_limit_error</code> </li> - <li class="missed" data-hits="0" data-linenumber="315"> + <li class="missed" data-hits="0" data-linenumber="332"> <code class="ruby"> reset_time = rate_limit_error.reset_time.to_i</code> </li> - <li class="missed" data-hits="0" data-linenumber="316"> + <li class="missed" data-hits="0" data-linenumber="333"> <code class="ruby"> if should_retry(retries_left, reset_time, configuration[:max_rate_limit_wait])</code> </li> - <li class="missed" data-hits="0" data-linenumber="317"> + <li class="missed" data-hits="0" data-linenumber="334"> <code class="ruby"> retries_left -= 1</code> </li> - <li class="missed" data-hits="0" data-linenumber="318"> + <li class="missed" data-hits="0" data-linenumber="335"> <code class="ruby"> logger.info(retry_message(retries_left, reset_time)) if logger</code> </li> - <li class="missed" data-hits="0" data-linenumber="319"> + <li class="missed" data-hits="0" data-linenumber="336"> <code class="ruby"> sleep(reset_time * Random.new.rand(1.0..1.2))</code> </li> - <li class="missed" data-hits="0" data-linenumber="320"> + <li class="missed" data-hits="0" data-linenumber="337"> <code class="ruby"> retry</code> </li> - <li class="never" data-hits="" data-linenumber="321"> + <li class="never" data-hits="" data-linenumber="338"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="322"> + <li class="never" data-hits="" data-linenumber="339"> <code class="ruby"></code> </li> - <li class="missed" data-hits="0" data-linenumber="323"> + <li class="missed" data-hits="0" data-linenumber="340"> <code class="ruby"> raise</code> </li> - <li class="never" data-hits="" data-linenumber="324"> + <li class="never" data-hits="" data-linenumber="341"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="325"> + <li class="never" data-hits="" data-linenumber="342"> <code class="ruby"></code> </li> - <li class="covered" data-hits="70" data-linenumber="326"> - <span class="hits">70</span> + <li class="covered" data-hits="17" data-linenumber="343"> + <span class="hits">17</span> <code class="ruby"> result</code> </li> - <li class="never" data-hits="" data-linenumber="327"> + <li class="never" data-hits="" data-linenumber="344"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="328"> + <li class="never" data-hits="" data-linenumber="345"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="329"> + <li class="never" data-hits="" data-linenumber="346"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="330"> + <li class="covered" data-hits="1" data-linenumber="347"> <span class="hits">1</span> <code class="ruby"> def retry_message(retries_left, reset_time)</code> </li> - <li class="missed" data-hits="0" data-linenumber="331"> + <li class="missed" data-hits="0" data-linenumber="348"> <code class="ruby"> message = &#39;Contentful API Rate Limit Hit! &#39;</code> </li> - <li class="missed" data-hits="0" data-linenumber="332"> + <li class="missed" data-hits="0" data-linenumber="349"> <code class="ruby"> message += &quot;Retrying - Retries left: #{retries_left}&quot;</code> </li> - <li class="missed" data-hits="0" data-linenumber="333"> + <li class="missed" data-hits="0" data-linenumber="350"> <code class="ruby"> message += &quot;- Time until reset (seconds): #{reset_time}&quot;</code> </li> - <li class="missed" data-hits="0" data-linenumber="334"> + <li class="missed" data-hits="0" data-linenumber="351"> <code class="ruby"> message</code> </li> - <li class="never" data-hits="" data-linenumber="335"> + <li class="never" data-hits="" data-linenumber="352"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="336"> + <li class="never" data-hits="" data-linenumber="353"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="337"> + <li class="never" data-hits="" data-linenumber="354"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="338"> + <li class="covered" data-hits="1" data-linenumber="355"> <span class="hits">1</span> <code class="ruby"> def fail_response(response)</code> </li> - <li class="covered" data-hits="1" data-linenumber="339"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="356"> + <span class="hits">2</span> <code class="ruby"> fail response.object if configuration[:raise_errors]</code> </li> - <li class="missed" data-hits="0" data-linenumber="340"> + <li class="covered" data-hits="1" data-linenumber="357"> + <span class="hits">1</span> - <code class="ruby"> response.object</code> </li> - <li class="never" data-hits="" data-linenumber="341"> + <li class="never" data-hits="" data-linenumber="358"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="342"> + <li class="never" data-hits="" data-linenumber="359"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="343"> + <li class="never" data-hits="" data-linenumber="360"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="344"> + <li class="covered" data-hits="1" data-linenumber="361"> <span class="hits">1</span> <code class="ruby"> def should_retry(retries_left, reset_time, max_wait)</code> </li> - <li class="missed" data-hits="0" data-linenumber="345"> + <li class="missed" data-hits="0" data-linenumber="362"> <code class="ruby"> retries_left &gt; 0 &amp;&amp; max_wait &gt; reset_time</code> </li> - <li class="never" data-hits="" data-linenumber="346"> + <li class="never" data-hits="" data-linenumber="363"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="347"> + <li class="never" data-hits="" data-linenumber="364"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="348"> + <li class="never" data-hits="" data-linenumber="365"> <code class="ruby"> # Runs request and parses Response</code> </li> - <li class="never" data-hits="" data-linenumber="349"> + <li class="never" data-hits="" data-linenumber="366"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="350"> + <li class="covered" data-hits="1" data-linenumber="367"> <span class="hits">1</span> <code class="ruby"> def run_request(request)</code> </li> - <li class="covered" data-hits="72" data-linenumber="351"> - <span class="hits">72</span> + <li class="covered" data-hits="20" data-linenumber="368"> + <span class="hits">20</span> <code class="ruby"> url = request.absolute? ? request.url : base_url + request.url</code> </li> - <li class="covered" data-hits="72" data-linenumber="352"> - <span class="hits">72</span> + <li class="covered" data-hits="20" data-linenumber="369"> + <span class="hits">20</span> <code class="ruby"> logger.info(request: { url: url, query: request.query, header: request_headers }) if logger</code> </li> - <li class="covered" data-hits="72" data-linenumber="353"> - <span class="hits">72</span> + <li class="covered" data-hits="20" data-linenumber="370"> + <span class="hits">20</span> <code class="ruby"> Response.new(</code> </li> - <li class="never" data-hits="" data-linenumber="354"> + <li class="never" data-hits="" data-linenumber="371"> <code class="ruby"> self.class.get_http(</code> </li> - <li class="never" data-hits="" data-linenumber="355"> + <li class="never" data-hits="" data-linenumber="372"> <code class="ruby"> url,</code> </li> - <li class="never" data-hits="" data-linenumber="356"> + <li class="never" data-hits="" data-linenumber="373"> <code class="ruby"> request_query(request.query),</code> </li> - <li class="never" data-hits="" data-linenumber="357"> + <li class="never" data-hits="" data-linenumber="374"> <code class="ruby"> request_headers,</code> </li> - <li class="never" data-hits="" data-linenumber="358"> + <li class="never" data-hits="" data-linenumber="375"> - <code class="ruby"> proxy_params</code> + <code class="ruby"> proxy_params,</code> </li> - <li class="never" data-hits="" data-linenumber="359"> + <li class="never" data-hits="" data-linenumber="376"> + <code class="ruby"> timeout_params</code> + </li> + + <li class="never" data-hits="" data-linenumber="377"> + + <code class="ruby"> ), request</code> </li> - <li class="never" data-hits="" data-linenumber="360"> + <li class="never" data-hits="" data-linenumber="378"> <code class="ruby"> )</code> </li> - <li class="never" data-hits="" data-linenumber="361"> + <li class="never" data-hits="" data-linenumber="379"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="362"> + <li class="never" data-hits="" data-linenumber="380"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="363"> + <li class="never" data-hits="" data-linenumber="381"> <code class="ruby"> # Runs Resource Builder</code> </li> - <li class="never" data-hits="" data-linenumber="364"> + <li class="never" data-hits="" data-linenumber="382"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="365"> + <li class="covered" data-hits="1" data-linenumber="383"> <span class="hits">1</span> <code class="ruby"> def do_build_resource(response)</code> </li> - <li class="covered" data-hits="70" data-linenumber="366"> - <span class="hits">70</span> + <li class="covered" data-hits="17" data-linenumber="384"> + <span class="hits">17</span> <code class="ruby"> logger.debug(response: response) if logger</code> </li> - <li class="never" data-hits="" data-linenumber="367"> + <li class="never" data-hits="" data-linenumber="385"> <code class="ruby"> configuration[:resource_builder].new(</code> </li> - <li class="never" data-hits="" data-linenumber="368"> + <li class="never" data-hits="" data-linenumber="386"> <code class="ruby"> response.object,</code> </li> - <li class="never" data-hits="" data-linenumber="369"> + <li class="never" data-hits="" data-linenumber="387"> <code class="ruby"> configuration.merge(endpoint: response.request.endpoint),</code> </li> - <li class="covered" data-hits="70" data-linenumber="370"> - <span class="hits">70</span> + <li class="covered" data-hits="17" data-linenumber="388"> + <span class="hits">17</span> <code class="ruby"> (response.request.query || {}).fetch(:locale, nil) == &#39;*&#39;,</code> </li> - <li class="never" data-hits="" data-linenumber="371"> + <li class="never" data-hits="" data-linenumber="389"> <code class="ruby"> 0</code> </li> - <li class="covered" data-hits="70" data-linenumber="372"> - <span class="hits">70</span> + <li class="covered" data-hits="17" data-linenumber="390"> + <span class="hits">17</span> <code class="ruby"> ).run</code> </li> - <li class="never" data-hits="" data-linenumber="373"> + <li class="never" data-hits="" data-linenumber="391"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="374"> + <li class="never" data-hits="" data-linenumber="392"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="375"> + <li class="never" data-hits="" data-linenumber="393"> <code class="ruby"> # Use this method together with the client&#39;s :dynamic_entries configuration.</code> </li> - <li class="never" data-hits="" data-linenumber="376"> + <li class="never" data-hits="" data-linenumber="394"> <code class="ruby"> # See README for details.</code> </li> - <li class="never" data-hits="" data-linenumber="377"> + <li class="never" data-hits="" data-linenumber="395"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="378"> + <li class="covered" data-hits="1" data-linenumber="396"> <span class="hits">1</span> <code class="ruby"> def update_dynamic_entry_cache!</code> </li> - <li class="covered" data-hits="18" data-linenumber="379"> - <span class="hits">18</span> + <li class="covered" data-hits="4" data-linenumber="397"> + <span class="hits">4</span> <code class="ruby"> return if configuration[:raw_mode]</code> </li> - <li class="covered" data-hits="18" data-linenumber="380"> - <span class="hits">18</span> + <li class="covered" data-hits="4" data-linenumber="398"> + <span class="hits">4</span> <code class="ruby"> content_types(limit: 1000).map do |ct|</code> </li> - <li class="covered" data-hits="40" data-linenumber="381"> - <span class="hits">40</span> + <li class="covered" data-hits="12" data-linenumber="399"> + <span class="hits">12</span> <code class="ruby"> ContentTypeCache.cache_set(configuration[:space], ct.id, ct)</code> </li> - <li class="never" data-hits="" data-linenumber="382"> + <li class="never" data-hits="" data-linenumber="400"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="383"> + <li class="never" data-hits="" data-linenumber="401"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="384"> + <li class="never" data-hits="" data-linenumber="402"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="385"> + <li class="never" data-hits="" data-linenumber="403"> <code class="ruby"> # Use this method to manually register a dynamic entry</code> </li> - <li class="never" data-hits="" data-linenumber="386"> + <li class="never" data-hits="" data-linenumber="404"> <code class="ruby"> # See examples/dynamic_entries.rb</code> </li> - <li class="never" data-hits="" data-linenumber="387"> + <li class="never" data-hits="" data-linenumber="405"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="388"> + <li class="covered" data-hits="1" data-linenumber="406"> <span class="hits">1</span> <code class="ruby"> def register_dynamic_entry(key, klass)</code> </li> - <li class="missed" data-hits="0" data-linenumber="389"> + <li class="covered" data-hits="1" data-linenumber="407"> + <span class="hits">1</span> - <code class="ruby"> ContentTypeCache.cache_set(configuration[:space], key, klass)</code> </li> - <li class="never" data-hits="" data-linenumber="390"> + <li class="never" data-hits="" data-linenumber="408"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="391"> + <li class="never" data-hits="" data-linenumber="409"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="392"> + <li class="never" data-hits="" data-linenumber="410"> <code class="ruby"> # Create a new synchronisation object</code> </li> - <li class="never" data-hits="" data-linenumber="393"> + <li class="never" data-hits="" data-linenumber="411"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="394"> + <li class="never" data-hits="" data-linenumber="412"> <code class="ruby"> # @param [Hash, String] options Options or Sync URL</code> </li> - <li class="never" data-hits="" data-linenumber="395"> + <li class="never" data-hits="" data-linenumber="413"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="396"> + <li class="never" data-hits="" data-linenumber="414"> <code class="ruby"> # @note You will need to call #each_page or #first_page on it</code> </li> - <li class="never" data-hits="" data-linenumber="397"> + <li class="never" data-hits="" data-linenumber="415"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="398"> + <li class="never" data-hits="" data-linenumber="416"> <code class="ruby"> # @return [Contentful::Sync]</code> </li> - <li class="covered" data-hits="1" data-linenumber="399"> + <li class="covered" data-hits="1" data-linenumber="417"> <span class="hits">1</span> <code class="ruby"> def sync(options = { initial: true })</code> </li> - <li class="missed" data-hits="0" data-linenumber="400"> + <li class="covered" data-hits="1" data-linenumber="418"> + <span class="hits">1</span> - <code class="ruby"> Sync.new(self, options)</code> </li> - <li class="never" data-hits="" data-linenumber="401"> + <li class="never" data-hits="" data-linenumber="419"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="402"> + <li class="never" data-hits="" data-linenumber="420"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="403"> + <li class="covered" data-hits="1" data-linenumber="421"> <span class="hits">1</span> <code class="ruby"> private</code> </li> - <li class="never" data-hits="" data-linenumber="404"> + <li class="never" data-hits="" data-linenumber="422"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="405"> + <li class="never" data-hits="" data-linenumber="423"> <code class="ruby"> # If the query contains the :select operator, we enforce :sys properties.</code> </li> - <li class="never" data-hits="" data-linenumber="406"> + <li class="never" data-hits="" data-linenumber="424"> <code class="ruby"> # The SDK requires sys.type to function properly, but as other of our SDKs</code> </li> - <li class="never" data-hits="" data-linenumber="407"> + <li class="never" data-hits="" data-linenumber="425"> <code class="ruby"> # require more parts of the :sys properties, we decided that every SDK should</code> </li> - <li class="never" data-hits="" data-linenumber="408"> + <li class="never" data-hits="" data-linenumber="426"> <code class="ruby"> # include the complete :sys block to provide consistency accross our SDKs.</code> </li> - <li class="covered" data-hits="1" data-linenumber="409"> + <li class="covered" data-hits="1" data-linenumber="427"> <span class="hits">1</span> <code class="ruby"> def normalize_select!(query)</code> </li> - <li class="covered" data-hits="54" data-linenumber="410"> - <span class="hits">54</span> + <li class="covered" data-hits="3" data-linenumber="428"> + <span class="hits">3</span> <code class="ruby"> return unless query.key?(:select)</code> </li> - <li class="never" data-hits="" data-linenumber="411"> + <li class="never" data-hits="" data-linenumber="429"> <code class="ruby"></code> </li> - <li class="covered" data-hits="6" data-linenumber="412"> - <span class="hits">6</span> + <li class="missed" data-hits="0" data-linenumber="430"> + <code class="ruby"> query[:select] = query[:select].split(&#39;,&#39;).map(&amp;:strip) if query[:select].is_a? String</code> </li> - <li class="covered" data-hits="13" data-linenumber="413"> - <span class="hits">13</span> + <li class="missed" data-hits="0" data-linenumber="431"> + <code class="ruby"> query[:select] = query[:select].reject { |p| p.start_with?(&#39;sys.&#39;) }</code> </li> - <li class="covered" data-hits="6" data-linenumber="414"> - <span class="hits">6</span> + <li class="missed" data-hits="0" data-linenumber="432"> + <code class="ruby"> query[:select] &lt;&lt; &#39;sys&#39; unless query[:select].include?(&#39;sys&#39;)</code> </li> - <li class="never" data-hits="" data-linenumber="415"> + <li class="never" data-hits="" data-linenumber="433"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="416"> + <li class="never" data-hits="" data-linenumber="434"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="417"> + <li class="covered" data-hits="1" data-linenumber="435"> <span class="hits">1</span> <code class="ruby"> def normalize_configuration!</code> </li> - <li class="covered" data-hits="270" data-linenumber="418"> - <span class="hits">270</span> + <li class="covered" data-hits="255" data-linenumber="436"> + <span class="hits">255</span> <code class="ruby"> %i[space access_token api_url default_locale].each { |s| configuration[s] = configuration[s].to_s }</code> </li> - <li class="covered" data-hits="54" data-linenumber="419"> - <span class="hits">54</span> + <li class="covered" data-hits="51" data-linenumber="437"> + <span class="hits">51</span> <code class="ruby"> configuration[:authentication_mechanism] = configuration[:authentication_mechanism].to_sym</code> </li> - <li class="never" data-hits="" data-linenumber="420"> + <li class="never" data-hits="" data-linenumber="438"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="421"> + <li class="never" data-hits="" data-linenumber="439"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="422"> + <li class="covered" data-hits="1" data-linenumber="440"> <span class="hits">1</span> <code class="ruby"> def validate_configuration!</code> </li> - <li class="covered" data-hits="54" data-linenumber="423"> - <span class="hits">54</span> + <li class="covered" data-hits="51" data-linenumber="441"> + <span class="hits">51</span> <code class="ruby"> fail ArgumentError, &#39;You will need to initialize a client with a :space&#39; if configuration[:space].empty?</code> </li> - <li class="covered" data-hits="54" data-linenumber="424"> - <span class="hits">54</span> + <li class="covered" data-hits="50" data-linenumber="442"> + <span class="hits">50</span> <code class="ruby"> fail ArgumentError, &#39;You will need to initialize a client with an :access_token&#39; if configuration[:access_token].empty?</code> </li> - <li class="covered" data-hits="54" data-linenumber="425"> - <span class="hits">54</span> + <li class="covered" data-hits="49" data-linenumber="443"> + <span class="hits">49</span> <code class="ruby"> fail ArgumentError, &#39;The client configuration needs to contain an :api_url&#39; if configuration[:api_url].empty?</code> </li> - <li class="covered" data-hits="54" data-linenumber="426"> - <span class="hits">54</span> + <li class="covered" data-hits="49" data-linenumber="444"> + <span class="hits">49</span> <code class="ruby"> fail ArgumentError, &#39;The client configuration needs to contain a :default_locale&#39; if configuration[:default_locale].empty?</code> </li> - <li class="covered" data-hits="54" data-linenumber="427"> - <span class="hits">54</span> + <li class="covered" data-hits="49" data-linenumber="445"> + <span class="hits">49</span> <code class="ruby"> fail ArgumentError, &#39;The :api_version must be a positive number or nil&#39; unless configuration[:api_version].to_i &gt;= 0</code> </li> - <li class="covered" data-hits="54" data-linenumber="428"> - <span class="hits">54</span> + <li class="covered" data-hits="49" data-linenumber="446"> + <span class="hits">49</span> <code class="ruby"> fail ArgumentError, &#39;The authentication mechanism must be :header or :query_string&#39; unless %i[header query_string].include?(</code> </li> - <li class="never" data-hits="" data-linenumber="429"> + <li class="never" data-hits="" data-linenumber="447"> <code class="ruby"> configuration[:authentication_mechanism]</code> </li> - <li class="never" data-hits="" data-linenumber="430"> + <li class="never" data-hits="" data-linenumber="448"> <code class="ruby"> )</code> </li> - <li class="covered" data-hits="54" data-linenumber="431"> - <span class="hits">54</span> + <li class="covered" data-hits="49" data-linenumber="449"> + <span class="hits">49</span> <code class="ruby"> fail ArgumentError, &#39;The :dynamic_entries mode must be :auto or :manual&#39; unless %i[auto manual].include?(</code> </li> - <li class="never" data-hits="" data-linenumber="432"> + <li class="never" data-hits="" data-linenumber="450"> <code class="ruby"> configuration[:dynamic_entries]</code> </li> - <li class="never" data-hits="" data-linenumber="433"> + <li class="never" data-hits="" data-linenumber="451"> <code class="ruby"> )</code> </li> - <li class="never" data-hits="" data-linenumber="434"> + <li class="covered" data-hits="49" data-linenumber="452"> + <span class="hits">49</span> + <code class="ruby"> fail ArgumentError, &#39;Timeout parameters must be all omitted or all present&#39; unless timeout_params.empty? || timeout_params.length == 3</code> + </li> + + <li class="never" data-hits="" data-linenumber="453"> + <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="435"> + <li class="never" data-hits="" data-linenumber="454"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="436"> + <li class="never" data-hits="" data-linenumber="455"> <code class="ruby">end</code> </li> @@ -5059,15 +5213,15 @@ <div class="source_table" id="beb22ab5c60eaaa44a2cba4f526b8a2630d7a31a"> <div class="header"> <h3>lib/contentful/coercions.rb</h3> - <h4><span class="green">93.15 %</span> covered</h4> + <h4><span class="red">57.53 %</span> covered</h4> <div> <b>73</b> relevant lines. - <span class="green"><b>68</b> lines covered</span> and - <span class="red"><b>5</b> lines missed.</span> + <span class="green"><b>42</b> lines covered</span> and + <span class="red"><b>31</b> lines missed.</span> </div> </div> <pre> <ol> @@ -5118,18 +5272,18 @@ <span class="hits">1</span> <code class="ruby"> def initialize(value, options = {})</code> </li> - <li class="covered" data-hits="61" data-linenumber="9"> - <span class="hits">61</span> + <li class="covered" data-hits="274" data-linenumber="9"> + <span class="hits">274</span> <code class="ruby"> @value = value</code> </li> - <li class="covered" data-hits="61" data-linenumber="10"> - <span class="hits">61</span> + <li class="covered" data-hits="274" data-linenumber="10"> + <span class="hits">274</span> <code class="ruby"> @options = options</code> </li> <li class="never" data-hits="" data-linenumber="11"> @@ -5154,13 +5308,13 @@ <span class="hits">1</span> <code class="ruby"> def coerce(*)</code> </li> - <li class="covered" data-hits="5" data-linenumber="15"> - <span class="hits">5</span> + <li class="missed" data-hits="0" data-linenumber="15"> + <code class="ruby"> value</code> </li> <li class="never" data-hits="" data-linenumber="16"> @@ -5202,12 +5356,12 @@ <span class="hits">1</span> <code class="ruby"> def coerce(*)</code> </li> - <li class="covered" data-hits="43" data-linenumber="23"> - <span class="hits">43</span> + <li class="covered" data-hits="148" data-linenumber="23"> + <span class="hits">148</span> <code class="ruby"> value.to_s</code> </li> <li class="never" data-hits="" data-linenumber="24"> @@ -5286,12 +5440,12 @@ <span class="hits">1</span> <code class="ruby"> def coerce(*)</code> </li> - <li class="covered" data-hits="1" data-linenumber="37"> - <span class="hits">1</span> + <li class="covered" data-hits="42" data-linenumber="37"> + <span class="hits">42</span> <code class="ruby"> value.to_i</code> </li> <li class="never" data-hits="" data-linenumber="38"> @@ -5334,13 +5488,13 @@ <span class="hits">1</span> <code class="ruby"> def coerce(*)</code> </li> - <li class="covered" data-hits="1" data-linenumber="45"> - <span class="hits">1</span> + <li class="missed" data-hits="0" data-linenumber="45"> + <code class="ruby"> value.to_f</code> </li> <li class="never" data-hits="" data-linenumber="46"> @@ -5442,31 +5596,31 @@ <span class="hits">1</span> <code class="ruby"> def coerce(*)</code> </li> - <li class="missed" data-hits="0" data-linenumber="63"> + <li class="covered" data-hits="42" data-linenumber="63"> + <span class="hits">42</span> - <code class="ruby"> return nil if value.nil?</code> </li> - <li class="missed" data-hits="0" data-linenumber="64"> + <li class="covered" data-hits="42" data-linenumber="64"> + <span class="hits">42</span> - <code class="ruby"> return value if value.is_a?(Date)</code> </li> <li class="never" data-hits="" data-linenumber="65"> <code class="ruby"></code> </li> - <li class="missed" data-hits="0" data-linenumber="66"> + <li class="covered" data-hits="42" data-linenumber="66"> + <span class="hits">42</span> - <code class="ruby"> DateTime.parse(value)</code> </li> <li class="never" data-hits="" data-linenumber="67"> @@ -5556,13 +5710,13 @@ <span class="hits">1</span> <code class="ruby"> def coerce(*)</code> </li> - <li class="covered" data-hits="2" data-linenumber="82"> - <span class="hits">2</span> + <li class="missed" data-hits="0" data-linenumber="82"> + <code class="ruby"> JSON.parse(JSON.dump(value), symbolize_names: true)</code> </li> <li class="never" data-hits="" data-linenumber="83"> @@ -5640,18 +5794,18 @@ <span class="hits">1</span> <code class="ruby"> def coerce(*)</code> </li> - <li class="covered" data-hits="2" data-linenumber="96"> - <span class="hits">2</span> + <li class="covered" data-hits="42" data-linenumber="96"> + <span class="hits">42</span> <code class="ruby"> value.map do |e|</code> </li> - <li class="covered" data-hits="3" data-linenumber="97"> - <span class="hits">3</span> + <li class="covered" data-hits="64" data-linenumber="97"> + <span class="hits">64</span> <code class="ruby"> options[:coercion_class].new(e).coerce</code> </li> <li class="never" data-hits="" data-linenumber="98"> @@ -5700,13 +5854,13 @@ <span class="hits">1</span> <code class="ruby"> def coerce(configuration)</code> </li> - <li class="covered" data-hits="7" data-linenumber="106"> - <span class="hits">7</span> + <li class="missed" data-hits="0" data-linenumber="106"> + <code class="ruby"> coerce_block(value, configuration)</code> </li> <li class="never" data-hits="" data-linenumber="107"> @@ -5736,13 +5890,13 @@ <span class="hits">1</span> <code class="ruby"> def link?(node)</code> </li> - <li class="covered" data-hits="226" data-linenumber="112"> - <span class="hits">226</span> + <li class="missed" data-hits="0" data-linenumber="112"> + <code class="ruby"> !node[&#39;data&#39;].is_a?(::Contentful::Entry) &amp;&amp;</code> </li> <li class="never" data-hits="" data-linenumber="113"> @@ -5772,13 +5926,13 @@ <span class="hits">1</span> <code class="ruby"> def content_block?(node)</code> </li> - <li class="covered" data-hits="211" data-linenumber="118"> - <span class="hits">211</span> + <li class="missed" data-hits="0" data-linenumber="118"> + <code class="ruby"> !node.fetch(&#39;content&#39;, []).empty?</code> </li> <li class="never" data-hits="" data-linenumber="119"> @@ -5796,97 +5950,97 @@ <span class="hits">1</span> <code class="ruby"> def coerce_block(block, configuration)</code> </li> - <li class="covered" data-hits="125" data-linenumber="122"> - <span class="hits">125</span> + <li class="missed" data-hits="0" data-linenumber="122"> + <code class="ruby"> return block unless block.is_a?(Hash) &amp;&amp; block.key?(&#39;content&#39;)</code> </li> <li class="never" data-hits="" data-linenumber="123"> <code class="ruby"></code> </li> - <li class="covered" data-hits="125" data-linenumber="124"> - <span class="hits">125</span> + <li class="missed" data-hits="0" data-linenumber="124"> + <code class="ruby"> invalid_nodes = []</code> </li> - <li class="covered" data-hits="125" data-linenumber="125"> - <span class="hits">125</span> + <li class="missed" data-hits="0" data-linenumber="125"> + <code class="ruby"> coerced_nodes = {}</code> </li> - <li class="covered" data-hits="125" data-linenumber="126"> - <span class="hits">125</span> + <li class="missed" data-hits="0" data-linenumber="126"> + <code class="ruby"> block[&#39;content&#39;].each_with_index do |node, index|</code> </li> - <li class="covered" data-hits="226" data-linenumber="127"> - <span class="hits">226</span> + <li class="missed" data-hits="0" data-linenumber="127"> + <code class="ruby"> if link?(node)</code> </li> - <li class="covered" data-hits="15" data-linenumber="128"> - <span class="hits">15</span> + <li class="missed" data-hits="0" data-linenumber="128"> + <code class="ruby"> link = coerce_link(node, configuration)</code> </li> <li class="never" data-hits="" data-linenumber="129"> <code class="ruby"></code> </li> - <li class="covered" data-hits="15" data-linenumber="130"> - <span class="hits">15</span> + <li class="missed" data-hits="0" data-linenumber="130"> + <code class="ruby"> if !link.nil?</code> </li> - <li class="covered" data-hits="14" data-linenumber="131"> - <span class="hits">14</span> + <li class="missed" data-hits="0" data-linenumber="131"> + <code class="ruby"> node[&#39;data&#39;][&#39;target&#39;] = link</code> </li> <li class="never" data-hits="" data-linenumber="132"> <code class="ruby"> else</code> </li> - <li class="covered" data-hits="1" data-linenumber="133"> - <span class="hits">1</span> + <li class="missed" data-hits="0" data-linenumber="133"> + <code class="ruby"> invalid_nodes &lt;&lt; index</code> </li> <li class="never" data-hits="" data-linenumber="134"> <code class="ruby"> end</code> </li> - <li class="covered" data-hits="211" data-linenumber="135"> - <span class="hits">211</span> + <li class="missed" data-hits="0" data-linenumber="135"> + <code class="ruby"> elsif content_block?(node)</code> </li> - <li class="covered" data-hits="118" data-linenumber="136"> - <span class="hits">118</span> + <li class="missed" data-hits="0" data-linenumber="136"> + <code class="ruby"> coerced_nodes[index] = coerce_block(node, configuration)</code> </li> <li class="never" data-hits="" data-linenumber="137"> @@ -5904,19 +6058,19 @@ <code class="ruby"></code> </li> - <li class="covered" data-hits="125" data-linenumber="140"> - <span class="hits">125</span> + <li class="missed" data-hits="0" data-linenumber="140"> + <code class="ruby"> coerced_nodes.each do |index, coerced_node|</code> </li> - <li class="covered" data-hits="118" data-linenumber="141"> - <span class="hits">118</span> + <li class="missed" data-hits="0" data-linenumber="141"> + <code class="ruby"> block[&#39;content&#39;][index] = coerced_node</code> </li> <li class="never" data-hits="" data-linenumber="142"> @@ -5928,19 +6082,19 @@ <code class="ruby"></code> </li> - <li class="covered" data-hits="125" data-linenumber="144"> - <span class="hits">125</span> + <li class="missed" data-hits="0" data-linenumber="144"> + <code class="ruby"> invalid_nodes.each do |index|</code> </li> - <li class="covered" data-hits="1" data-linenumber="145"> - <span class="hits">1</span> + <li class="missed" data-hits="0" data-linenumber="145"> + <code class="ruby"> block[&#39;content&#39;].delete_at(index)</code> </li> <li class="never" data-hits="" data-linenumber="146"> @@ -5952,13 +6106,13 @@ <code class="ruby"></code> </li> - <li class="covered" data-hits="125" data-linenumber="148"> - <span class="hits">125</span> + <li class="missed" data-hits="0" data-linenumber="148"> + <code class="ruby"> block</code> </li> <li class="never" data-hits="" data-linenumber="149"> @@ -5976,49 +6130,49 @@ <span class="hits">1</span> <code class="ruby"> def coerce_link(node, configuration)</code> </li> - <li class="covered" data-hits="15" data-linenumber="152"> - <span class="hits">15</span> + <li class="missed" data-hits="0" data-linenumber="152"> + <code class="ruby"> return node unless node.key?(&#39;data&#39;) &amp;&amp; node[&#39;data&#39;].key?(&#39;target&#39;)</code> </li> - <li class="covered" data-hits="15" data-linenumber="153"> - <span class="hits">15</span> + <li class="missed" data-hits="0" data-linenumber="153"> + <code class="ruby"> return node[&#39;data&#39;][&#39;target&#39;] unless node[&#39;data&#39;][&#39;target&#39;].is_a?(::Hash)</code> </li> - <li class="covered" data-hits="14" data-linenumber="154"> - <span class="hits">14</span> + <li class="missed" data-hits="0" data-linenumber="154"> + <code class="ruby"> return node unless node[&#39;data&#39;][&#39;target&#39;][&#39;sys&#39;][&#39;type&#39;] == &#39;Link&#39;</code> </li> <li class="never" data-hits="" data-linenumber="155"> <code class="ruby"></code> </li> - <li class="covered" data-hits="14" data-linenumber="156"> - <span class="hits">14</span> + <li class="missed" data-hits="0" data-linenumber="156"> + <code class="ruby"> return nil if Support.unresolvable?(node[&#39;data&#39;][&#39;target&#39;], configuration[:errors])</code> </li> <li class="never" data-hits="" data-linenumber="157"> <code class="ruby"></code> </li> - <li class="covered" data-hits="13" data-linenumber="158"> - <span class="hits">13</span> + <li class="missed" data-hits="0" data-linenumber="158"> + <code class="ruby"> resource = Support.resource_for_link(</code> </li> <li class="never" data-hits="" data-linenumber="159"> @@ -6048,13 +6202,13 @@ <code class="ruby"> # Resource is valid but unreachable</code> </li> - <li class="covered" data-hits="13" data-linenumber="164"> - <span class="hits">13</span> + <li class="missed" data-hits="0" data-linenumber="164"> + <code class="ruby"> return Link.new(node[&#39;data&#39;][&#39;target&#39;], configuration) if resource.nil?</code> </li> <li class="never" data-hits="" data-linenumber="165"> @@ -6096,13 +6250,13 @@ <code class="ruby"> configuration[:errors]</code> </li> - <li class="covered" data-hits="8" data-linenumber="172"> - <span class="hits">8</span> + <li class="missed" data-hits="0" data-linenumber="172"> + <code class="ruby"> ).run</code> </li> <li class="never" data-hits="" data-linenumber="173"> @@ -6205,42 +6359,42 @@ <span class="hits">1</span> <code class="ruby"> def initialize(item, *)</code> </li> - <li class="covered" data-hits="40" data-linenumber="12"> - <span class="hits">40</span> + <li class="covered" data-hits="22" data-linenumber="12"> + <span class="hits">22</span> <code class="ruby"> super</code> </li> <li class="never" data-hits="" data-linenumber="13"> <code class="ruby"></code> </li> - <li class="covered" data-hits="40" data-linenumber="14"> - <span class="hits">40</span> + <li class="covered" data-hits="22" data-linenumber="14"> + <span class="hits">22</span> <code class="ruby"> @name = item.fetch(&#39;name&#39;, nil)</code> </li> - <li class="covered" data-hits="40" data-linenumber="15"> - <span class="hits">40</span> + <li class="covered" data-hits="22" data-linenumber="15"> + <span class="hits">22</span> <code class="ruby"> @description = item.fetch(&#39;description&#39;, nil)</code> </li> - <li class="covered" data-hits="130" data-linenumber="16"> - <span class="hits">130</span> + <li class="covered" data-hits="153" data-linenumber="16"> + <span class="hits">153</span> <code class="ruby"> @fields = item.fetch(&#39;fields&#39;, []).map { |field| Field.new(field) }</code> </li> - <li class="covered" data-hits="40" data-linenumber="17"> - <span class="hits">40</span> + <li class="covered" data-hits="22" data-linenumber="17"> + <span class="hits">22</span> <code class="ruby"> @display_field = item.fetch(&#39;displayField&#39;, nil)</code> </li> <li class="never" data-hits="" data-linenumber="18"> @@ -6265,12 +6419,12 @@ <span class="hits">1</span> <code class="ruby"> def field_for(field_id)</code> </li> - <li class="covered" data-hits="181" data-linenumber="22"> - <span class="hits">181</span> + <li class="covered" data-hits="966" data-linenumber="22"> + <span class="hits">966</span> <code class="ruby"> fields.detect { |f| Support.snakify(f.id) == Support.snakify(field_id) }</code> </li> <li class="never" data-hits="" data-linenumber="23"> @@ -6345,15 +6499,15 @@ <div class="source_table" id="a46b40f2e6381b7f2ac84d26e7bc008d4e6985eb"> <div class="header"> <h3>lib/contentful/content_type_cache.rb</h3> - <h4><span class="green">91.67 %</span> covered</h4> + <h4><span class="green">100.0 %</span> covered</h4> <div> <b>12</b> relevant lines. - <span class="green"><b>11</b> lines covered</span> and - <span class="red"><b>1</b> lines missed.</span> + <span class="green"><b>12</b> lines covered</span> and + <span class="red"><b>0</b> lines missed.</span> </div> </div> <pre> <ol> @@ -6422,13 +6576,13 @@ <span class="hits">1</span> <code class="ruby"> def self.clear!</code> </li> - <li class="missed" data-hits="0" data-linenumber="12"> + <li class="covered" data-hits="6" data-linenumber="12"> + <span class="hits">6</span> - <code class="ruby"> @cache = {}</code> </li> <li class="never" data-hits="" data-linenumber="13"> @@ -6452,12 +6606,12 @@ <span class="hits">1</span> <code class="ruby"> def self.cache_get(space_id, content_type_id)</code> </li> - <li class="covered" data-hits="2711" data-linenumber="17"> - <span class="hits">2711</span> + <li class="covered" data-hits="213" data-linenumber="17"> + <span class="hits">213</span> <code class="ruby"> @cache.fetch(space_id, {}).fetch(content_type_id.to_sym, nil)</code> </li> <li class="never" data-hits="" data-linenumber="18"> @@ -6482,18 +6636,18 @@ <span class="hits">1</span> <code class="ruby"> def self.cache_set(space_id, content_type_id, klass)</code> </li> - <li class="covered" data-hits="40" data-linenumber="22"> - <span class="hits">40</span> + <li class="covered" data-hits="13" data-linenumber="22"> + <span class="hits">13</span> <code class="ruby"> @cache[space_id] ||= {}</code> </li> - <li class="covered" data-hits="40" data-linenumber="23"> - <span class="hits">40</span> + <li class="covered" data-hits="13" data-linenumber="23"> + <span class="hits">13</span> <code class="ruby"> @cache[space_id][content_type_id.to_sym] = klass</code> </li> <li class="never" data-hits="" data-linenumber="24"> @@ -6642,15 +6796,15 @@ <div class="source_table" id="97df464094b50c0508a4a014acd1a9beace447a1"> <div class="header"> <h3>lib/contentful/entry.rb</h3> - <h4><span class="green">94.74 %</span> covered</h4> + <h4><span class="red">64.91 %</span> covered</h4> <div> <b>57</b> relevant lines. - <span class="green"><b>54</b> lines covered</span> and - <span class="red"><b>3</b> lines missed.</span> + <span class="green"><b>37</b> lines covered</span> and + <span class="red"><b>20</b> lines missed.</span> </div> </div> <pre> <ol> @@ -6731,13 +6885,13 @@ <span class="hits">1</span> <code class="ruby"> def entry?</code> </li> - <li class="covered" data-hits="4" data-linenumber="14"> - <span class="hits">4</span> + <li class="missed" data-hits="0" data-linenumber="14"> + <code class="ruby"> true</code> </li> <li class="never" data-hits="" data-linenumber="15"> @@ -6767,72 +6921,72 @@ <span class="hits">1</span> <code class="ruby"> def coerce(field_id, value, includes, errors, entries = {})</code> </li> - <li class="covered" data-hits="3765" data-linenumber="20"> - <span class="hits">3765</span> + <li class="covered" data-hits="297" data-linenumber="20"> + <span class="hits">297</span> <code class="ruby"> if Support.link?(value) &amp;&amp; !Support.unresolvable?(value, errors)</code> </li> - <li class="covered" data-hits="1039" data-linenumber="21"> - <span class="hits">1039</span> + <li class="covered" data-hits="84" data-linenumber="21"> + <span class="hits">84</span> <code class="ruby"> return build_nested_resource(value, includes, entries, errors)</code> </li> <li class="never" data-hits="" data-linenumber="22"> <code class="ruby"> end</code> </li> - <li class="covered" data-hits="2726" data-linenumber="23"> - <span class="hits">2726</span> + <li class="covered" data-hits="213" data-linenumber="23"> + <span class="hits">213</span> <code class="ruby"> return coerce_link_array(value, includes, errors, entries) if Support.link_array?(value)</code> </li> <li class="never" data-hits="" data-linenumber="24"> <code class="ruby"></code> </li> - <li class="covered" data-hits="2708" data-linenumber="25"> - <span class="hits">2708</span> + <li class="covered" data-hits="213" data-linenumber="25"> + <span class="hits">213</span> <code class="ruby"> content_type_key = Support.snakify(&#39;contentType&#39;, @configuration[:use_camel_case])</code> </li> - <li class="covered" data-hits="2708" data-linenumber="26"> - <span class="hits">2708</span> + <li class="covered" data-hits="213" data-linenumber="26"> + <span class="hits">213</span> <code class="ruby"> content_type = ContentTypeCache.cache_get(sys[:space].id, sys[content_type_key.to_sym].id)</code> </li> <li class="never" data-hits="" data-linenumber="27"> <code class="ruby"></code> </li> - <li class="covered" data-hits="2708" data-linenumber="28"> - <span class="hits">2708</span> + <li class="covered" data-hits="213" data-linenumber="28"> + <span class="hits">213</span> <code class="ruby"> unless content_type.nil?</code> </li> - <li class="covered" data-hits="58" data-linenumber="29"> - <span class="hits">58</span> + <li class="covered" data-hits="210" data-linenumber="29"> + <span class="hits">210</span> <code class="ruby"> content_type_field = content_type.field_for(field_id)</code> </li> - <li class="covered" data-hits="58" data-linenumber="30"> - <span class="hits">58</span> + <li class="covered" data-hits="210" data-linenumber="30"> + <span class="hits">210</span> <code class="ruby"> coercion_configuration = @configuration.merge(</code> </li> <li class="never" data-hits="" data-linenumber="31"> @@ -6875,12 +7029,12 @@ <code class="ruby"> )</code> </li> - <li class="covered" data-hits="58" data-linenumber="38"> - <span class="hits">58</span> + <li class="covered" data-hits="210" data-linenumber="38"> + <span class="hits">210</span> <code class="ruby"> return content_type_field.coerce(value, coercion_configuration) unless content_type_field.nil?</code> </li> <li class="never" data-hits="" data-linenumber="39"> @@ -6893,12 +7047,12 @@ <code class="ruby"></code> </li> - <li class="covered" data-hits="2650" data-linenumber="41"> - <span class="hits">2650</span> + <li class="covered" data-hits="3" data-linenumber="41"> + <span class="hits">3</span> <code class="ruby"> super(field_id, value, includes, errors, entries)</code> </li> <li class="never" data-hits="" data-linenumber="42"> @@ -6917,31 +7071,31 @@ <span class="hits">1</span> <code class="ruby"> def coerce_link_array(value, includes, errors, entries)</code> </li> - <li class="covered" data-hits="18" data-linenumber="45"> - <span class="hits">18</span> + <li class="missed" data-hits="0" data-linenumber="45"> + <code class="ruby"> items = []</code> </li> - <li class="covered" data-hits="18" data-linenumber="46"> - <span class="hits">18</span> + <li class="missed" data-hits="0" data-linenumber="46"> + <code class="ruby"> value.each do |link|</code> </li> - <li class="covered" data-hits="32" data-linenumber="47"> - <span class="hits">32</span> + <li class="missed" data-hits="0" data-linenumber="47"> + <code class="ruby"> nested_resource = build_nested_resource(link, includes, entries, errors) unless Support.unresolvable?(link, errors)</code> </li> - <li class="covered" data-hits="32" data-linenumber="48"> - <span class="hits">32</span> + <li class="missed" data-hits="0" data-linenumber="48"> + <code class="ruby"> items &lt;&lt; nested_resource unless nested_resource.nil?</code> </li> <li class="never" data-hits="" data-linenumber="49"> @@ -6953,13 +7107,13 @@ <code class="ruby"></code> </li> - <li class="covered" data-hits="18" data-linenumber="51"> - <span class="hits">18</span> + <li class="missed" data-hits="0" data-linenumber="51"> + <code class="ruby"> items</code> </li> <li class="never" data-hits="" data-linenumber="52"> @@ -7001,24 +7155,24 @@ <span class="hits">1</span> <code class="ruby"> def build_nested_resource(value, includes, entries, errors)</code> </li> - <li class="covered" data-hits="1067" data-linenumber="59"> - <span class="hits">1067</span> + <li class="covered" data-hits="84" data-linenumber="59"> + <span class="hits">84</span> <code class="ruby"> if @depth &lt; @configuration.fetch(:max_include_resolution_depth, 20)</code> </li> - <li class="covered" data-hits="1002" data-linenumber="60"> - <span class="hits">1002</span> + <li class="covered" data-hits="80" data-linenumber="60"> + <span class="hits">80</span> <code class="ruby"> resource = Support.resource_for_link(value, includes)</code> </li> - <li class="covered" data-hits="1002" data-linenumber="61"> - <span class="hits">1002</span> + <li class="covered" data-hits="80" data-linenumber="61"> + <span class="hits">80</span> <code class="ruby"> return resolve_include(resource, includes, entries, errors) unless resource.nil?</code> </li> <li class="never" data-hits="" data-linenumber="62"> @@ -7031,12 +7185,12 @@ <code class="ruby"></code> </li> - <li class="covered" data-hits="65" data-linenumber="64"> - <span class="hits">65</span> + <li class="covered" data-hits="4" data-linenumber="64"> + <span class="hits">4</span> <code class="ruby"> build_link(value)</code> </li> <li class="never" data-hits="" data-linenumber="65"> @@ -7055,12 +7209,12 @@ <span class="hits">1</span> <code class="ruby"> def resolve_include(resource, includes, entries, errors)</code> </li> - <li class="covered" data-hits="1002" data-linenumber="68"> - <span class="hits">1002</span> + <li class="covered" data-hits="80" data-linenumber="68"> + <span class="hits">80</span> <code class="ruby"> require_relative &#39;resource_builder&#39;</code> </li> <li class="never" data-hits="" data-linenumber="69"> @@ -7127,12 +7281,12 @@ <code class="ruby"> errors</code> </li> - <li class="covered" data-hits="1002" data-linenumber="80"> - <span class="hits">1002</span> + <li class="covered" data-hits="80" data-linenumber="80"> + <span class="hits">80</span> <code class="ruby"> ).run</code> </li> <li class="never" data-hits="" data-linenumber="81"> @@ -7151,25 +7305,25 @@ <span class="hits">1</span> <code class="ruby"> def known_link?(name)</code> </li> - <li class="covered" data-hits="113" data-linenumber="84"> - <span class="hits">113</span> + <li class="missed" data-hits="0" data-linenumber="84"> + <code class="ruby"> field_name = name.to_sym</code> </li> - <li class="covered" data-hits="113" data-linenumber="85"> - <span class="hits">113</span> + <li class="missed" data-hits="0" data-linenumber="85"> + <code class="ruby"> return true if known_contentful_object?(fields[field_name])</code> </li> - <li class="covered" data-hits="130" data-linenumber="86"> - <span class="hits">130</span> + <li class="missed" data-hits="0" data-linenumber="86"> + <code class="ruby"> fields[field_name].is_a?(Enumerable) &amp;&amp; fields[field_name].any? { |object| known_contentful_object?(object) }</code> </li> <li class="never" data-hits="" data-linenumber="87"> @@ -7187,13 +7341,13 @@ <span class="hits">1</span> <code class="ruby"> def known_contentful_object?(object)</code> </li> - <li class="covered" data-hits="150" data-linenumber="90"> - <span class="hits">150</span> + <li class="missed" data-hits="0" data-linenumber="90"> + <code class="ruby"> (object.is_a?(Contentful::Entry) || object.is_a?(Contentful::Asset))</code> </li> <li class="never" data-hits="" data-linenumber="91"> @@ -7211,25 +7365,25 @@ <span class="hits">1</span> <code class="ruby"> def method_missing(name, *args, &amp;block)</code> </li> - <li class="covered" data-hits="3" data-linenumber="94"> - <span class="hits">3</span> + <li class="missed" data-hits="0" data-linenumber="94"> + <code class="ruby"> return empty_field_error(name) if content_type_field?(name)</code> </li> <li class="never" data-hits="" data-linenumber="95"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="96"> - <span class="hits">1</span> + <li class="missed" data-hits="0" data-linenumber="96"> + <code class="ruby"> super</code> </li> <li class="never" data-hits="" data-linenumber="97"> @@ -7283,13 +7437,13 @@ <span class="hits">1</span> <code class="ruby"> def content_type_field?(name)</code> </li> - <li class="covered" data-hits="3" data-linenumber="106"> - <span class="hits">3</span> + <li class="missed" data-hits="0" data-linenumber="106"> + <code class="ruby"> content_type = ContentTypeCache.cache_get(</code> </li> <li class="never" data-hits="" data-linenumber="107"> @@ -7313,25 +7467,25 @@ <code class="ruby"></code> </li> - <li class="covered" data-hits="3" data-linenumber="111"> - <span class="hits">3</span> + <li class="missed" data-hits="0" data-linenumber="111"> + <code class="ruby"> return false if content_type.nil?</code> </li> <li class="never" data-hits="" data-linenumber="112"> <code class="ruby"></code> </li> - <li class="covered" data-hits="3" data-linenumber="113"> - <span class="hits">3</span> + <li class="missed" data-hits="0" data-linenumber="113"> + <code class="ruby"> !content_type.field_for(name).nil?</code> </li> <li class="never" data-hits="" data-linenumber="114"> @@ -7349,19 +7503,19 @@ <span class="hits">1</span> <code class="ruby"> def empty_field_error(name)</code> </li> - <li class="covered" data-hits="2" data-linenumber="117"> - <span class="hits">2</span> + <li class="missed" data-hits="0" data-linenumber="117"> + <code class="ruby"> return nil unless @configuration[:raise_for_empty_fields]</code> </li> - <li class="covered" data-hits="1" data-linenumber="118"> - <span class="hits">1</span> + <li class="missed" data-hits="0" data-linenumber="118"> + <code class="ruby"> fail EmptyFieldError, name</code> </li> <li class="never" data-hits="" data-linenumber="119"> @@ -7417,15 +7571,15 @@ <div class="source_table" id="98433a4cac96676bcf6b420f480c3d946ae0d0cb"> <div class="header"> <h3>lib/contentful/error.rb</h3> - <h4><span class="red">69.79 %</span> covered</h4> + <h4><span class="red">68.75 %</span> covered</h4> <div> <b>96</b> relevant lines. - <span class="green"><b>67</b> lines covered</span> and - <span class="red"><b>29</b> lines missed.</span> + <span class="green"><b>66</b> lines covered</span> and + <span class="red"><b>30</b> lines missed.</span> </div> </div> <pre> <ol> @@ -7470,18 +7624,18 @@ <span class="hits">1</span> <code class="ruby"> def initialize(response)</code> </li> - <li class="covered" data-hits="1" data-linenumber="8"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="8"> + <span class="hits">2</span> <code class="ruby"> @response = response</code> </li> - <li class="covered" data-hits="1" data-linenumber="9"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="9"> + <span class="hits">2</span> <code class="ruby"> super best_available_message</code> </li> <li class="never" data-hits="" data-linenumber="10"> @@ -7512,12 +7666,12 @@ <span class="hits">1</span> <code class="ruby"> def self.[](error_status_code)</code> </li> - <li class="covered" data-hits="1" data-linenumber="15"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="15"> + <span class="hits">2</span> <code class="ruby"> errors = {</code> </li> <li class="never" data-hits="" data-linenumber="16"> @@ -7578,12 +7732,12 @@ <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="26"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="26"> + <span class="hits">2</span> <code class="ruby"> errors.key?(error_status_code) ? errors[error_status_code] : Error</code> </li> <li class="never" data-hits="" data-linenumber="27"> @@ -7662,12 +7816,12 @@ <span class="hits">1</span> <code class="ruby"> def additional_info?</code> </li> - <li class="covered" data-hits="1" data-linenumber="40"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="40"> + <span class="hits">2</span> <code class="ruby"> false</code> </li> <li class="never" data-hits="" data-linenumber="41"> @@ -7710,12 +7864,12 @@ <span class="hits">1</span> <code class="ruby"> def best_available_message</code> </li> - <li class="covered" data-hits="1" data-linenumber="48"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="48"> + <span class="hits">2</span> <code class="ruby"> error_message = [</code> </li> <li class="never" data-hits="" data-linenumber="49"> @@ -7734,60 +7888,60 @@ <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="52"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="52"> + <span class="hits">2</span> <code class="ruby"> begin</code> </li> - <li class="covered" data-hits="1" data-linenumber="53"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="53"> + <span class="hits">2</span> <code class="ruby"> response_json = @response.load_json</code> </li> - <li class="covered" data-hits="1" data-linenumber="54"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="54"> + <span class="hits">2</span> <code class="ruby"> message = response_json.fetch(&#39;message&#39;, default_error_message)</code> </li> - <li class="covered" data-hits="1" data-linenumber="55"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="55"> + <span class="hits">2</span> <code class="ruby"> details = response_json.fetch(&#39;details&#39;, nil)</code> </li> - <li class="covered" data-hits="1" data-linenumber="56"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="56"> + <span class="hits">2</span> <code class="ruby"> request_id = response_json.fetch(&#39;requestId&#39;, nil)</code> </li> <li class="never" data-hits="" data-linenumber="57"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="58"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="58"> + <span class="hits">2</span> <code class="ruby"> error_message &lt;&lt; &quot;Message: #{message}&quot;</code> </li> - <li class="covered" data-hits="1" data-linenumber="59"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="59"> + <span class="hits">2</span> <code class="ruby"> error_message &lt;&lt; &quot;Details: #{handle_details(details)}&quot; if details</code> </li> - <li class="covered" data-hits="1" data-linenumber="60"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="60"> + <span class="hits">2</span> <code class="ruby"> error_message &lt;&lt; &quot;Request ID: #{request_id}&quot; if request_id</code> </li> <li class="never" data-hits="" data-linenumber="61"> @@ -7812,24 +7966,24 @@ <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="65"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="65"> + <span class="hits">2</span> <code class="ruby"> error_message &lt;&lt; additional_info if additional_info?</code> </li> <li class="never" data-hits="" data-linenumber="66"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="67"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="67"> + <span class="hits">2</span> <code class="ruby"> error_message.join(&quot;\n&quot;)</code> </li> <li class="never" data-hits="" data-linenumber="68"> @@ -7878,13 +8032,13 @@ <span class="hits">1</span> <code class="ruby"> def default_error_message</code> </li> - <li class="covered" data-hits="1" data-linenumber="76"> - <span class="hits">1</span> + <li class="missed" data-hits="0" data-linenumber="76"> + <code class="ruby"> &#39;The request was malformed or missing a required parameter.&#39;</code> </li> <li class="never" data-hits="" data-linenumber="77"> @@ -8136,13 +8290,13 @@ <span class="hits">1</span> <code class="ruby"> def default_error_message</code> </li> - <li class="missed" data-hits="0" data-linenumber="119"> + <li class="covered" data-hits="2" data-linenumber="119"> + <span class="hits">2</span> - <code class="ruby"> &#39;The requested resource or endpoint could not be found.&#39;</code> </li> <li class="never" data-hits="" data-linenumber="120"> @@ -8670,13 +8824,13 @@ <span class="hits">1</span> <code class="ruby"> def initialize(name)</code> </li> - <li class="covered" data-hits="1" data-linenumber="208"> - <span class="hits">1</span> + <li class="missed" data-hits="0" data-linenumber="208"> + <code class="ruby"> super(&quot;The field &#39;#{name}&#39; is empty and unavailable in the response&quot;)</code> </li> <li class="never" data-hits="" data-linenumber="209"> @@ -8869,54 +9023,54 @@ <span class="hits">1</span> <code class="ruby"> def initialize(json)</code> </li> - <li class="covered" data-hits="102" data-linenumber="27"> - <span class="hits">102</span> + <li class="covered" data-hits="150" data-linenumber="27"> + <span class="hits">150</span> <code class="ruby"> @raw = json</code> </li> - <li class="covered" data-hits="102" data-linenumber="28"> - <span class="hits">102</span> + <li class="covered" data-hits="150" data-linenumber="28"> + <span class="hits">150</span> <code class="ruby"> @id = json.fetch(&#39;id&#39;, nil)</code> </li> - <li class="covered" data-hits="102" data-linenumber="29"> - <span class="hits">102</span> + <li class="covered" data-hits="150" data-linenumber="29"> + <span class="hits">150</span> <code class="ruby"> @name = json.fetch(&#39;name&#39;, nil)</code> </li> - <li class="covered" data-hits="102" data-linenumber="30"> - <span class="hits">102</span> + <li class="covered" data-hits="150" data-linenumber="30"> + <span class="hits">150</span> <code class="ruby"> @type = json.fetch(&#39;type&#39;, nil)</code> </li> - <li class="covered" data-hits="102" data-linenumber="31"> - <span class="hits">102</span> + <li class="covered" data-hits="150" data-linenumber="31"> + <span class="hits">150</span> <code class="ruby"> @link_type = json.fetch(&#39;linkType&#39;, nil)</code> </li> - <li class="covered" data-hits="102" data-linenumber="32"> - <span class="hits">102</span> + <li class="covered" data-hits="150" data-linenumber="32"> + <span class="hits">150</span> <code class="ruby"> @items = json.key?(&#39;items&#39;) ? Field.new(json.fetch(&#39;items&#39;, {})) : nil</code> </li> - <li class="covered" data-hits="102" data-linenumber="33"> - <span class="hits">102</span> + <li class="covered" data-hits="150" data-linenumber="33"> + <span class="hits">150</span> <code class="ruby"> @required = json.fetch(&#39;required&#39;, false)</code> </li> - <li class="covered" data-hits="102" data-linenumber="34"> - <span class="hits">102</span> + <li class="covered" data-hits="150" data-linenumber="34"> + <span class="hits">150</span> <code class="ruby"> @localized = json.fetch(&#39;localized&#39;, false)</code> </li> <li class="never" data-hits="" data-linenumber="35"> @@ -8941,42 +9095,42 @@ <span class="hits">1</span> <code class="ruby"> def coerce(value, configuration)</code> </li> - <li class="covered" data-hits="58" data-linenumber="39"> - <span class="hits">58</span> + <li class="covered" data-hits="210" data-linenumber="39"> + <span class="hits">210</span> <code class="ruby"> return value if type.nil?</code> </li> - <li class="covered" data-hits="58" data-linenumber="40"> - <span class="hits">58</span> + <li class="covered" data-hits="210" data-linenumber="40"> + <span class="hits">210</span> <code class="ruby"> return value if value.nil?</code> </li> <li class="never" data-hits="" data-linenumber="41"> <code class="ruby"></code> </li> - <li class="covered" data-hits="58" data-linenumber="42"> - <span class="hits">58</span> + <li class="covered" data-hits="210" data-linenumber="42"> + <span class="hits">210</span> <code class="ruby"> options = {}</code> </li> - <li class="covered" data-hits="58" data-linenumber="43"> - <span class="hits">58</span> + <li class="covered" data-hits="210" data-linenumber="43"> + <span class="hits">210</span> <code class="ruby"> options[:coercion_class] = KNOWN_TYPES[items.type] unless items.nil?</code> </li> - <li class="covered" data-hits="58" data-linenumber="44"> - <span class="hits">58</span> + <li class="covered" data-hits="210" data-linenumber="44"> + <span class="hits">210</span> <code class="ruby"> KNOWN_TYPES[type].new(value, options).coerce(configuration)</code> </li> <li class="never" data-hits="" data-linenumber="45"> @@ -9003,874 +9157,886 @@ <div class="source_table" id="eecf0f806597fc4b233727ac4e855ef0a80b0ade"> <div class="header"> <h3>lib/contentful/fields_resource.rb</h3> - <h4><span class="green">100.0 %</span> covered</h4> + <h4><span class="red">57.58 %</span> covered</h4> <div> <b>66</b> relevant lines. - <span class="green"><b>66</b> lines covered</span> and - <span class="red"><b>0</b> lines missed.</span> + <span class="green"><b>38</b> lines covered</span> and + <span class="red"><b>28</b> lines missed.</span> </div> </div> <pre> <ol> - <li class="covered" data-hits="1" data-linenumber="1"> + <li class="never" data-hits="" data-linenumber="1"> + + + <code class="ruby"># frozen_string_literal: true</code> + </li> + + <li class="never" data-hits="" data-linenumber="2"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="3"> <span class="hits">1</span> <code class="ruby">require_relative &#39;support&#39;</code> </li> - <li class="covered" data-hits="1" data-linenumber="2"> + <li class="covered" data-hits="1" data-linenumber="4"> <span class="hits">1</span> <code class="ruby">require_relative &#39;base_resource&#39;</code> </li> - <li class="never" data-hits="" data-linenumber="3"> + <li class="never" data-hits="" data-linenumber="5"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="4"> + <li class="covered" data-hits="1" data-linenumber="6"> <span class="hits">1</span> <code class="ruby">module Contentful</code> </li> - <li class="never" data-hits="" data-linenumber="5"> + <li class="never" data-hits="" data-linenumber="7"> <code class="ruby"> # Base definition of a Contentful Resource containing Field properties</code> </li> - <li class="covered" data-hits="1" data-linenumber="6"> + <li class="covered" data-hits="1" data-linenumber="8"> <span class="hits">1</span> <code class="ruby"> class FieldsResource &lt; BaseResource</code> </li> - <li class="covered" data-hits="1" data-linenumber="7"> + <li class="covered" data-hits="1" data-linenumber="9"> <span class="hits">1</span> <code class="ruby"> attr_reader :localized</code> </li> - <li class="never" data-hits="" data-linenumber="8"> + <li class="never" data-hits="" data-linenumber="10"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="9"> + <li class="never" data-hits="" data-linenumber="11"> <code class="ruby"> # rubocop:disable Metrics/ParameterLists</code> </li> - <li class="covered" data-hits="1" data-linenumber="10"> + <li class="covered" data-hits="1" data-linenumber="12"> <span class="hits">1</span> <code class="ruby"> def initialize(item, _configuration, localized = false, includes = [], entries = {}, depth = 0, errors = [])</code> </li> - <li class="covered" data-hits="1060" data-linenumber="11"> - <span class="hits">1060</span> + <li class="covered" data-hits="84" data-linenumber="13"> + <span class="hits">84</span> <code class="ruby"> super</code> </li> - <li class="never" data-hits="" data-linenumber="12"> + <li class="never" data-hits="" data-linenumber="14"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1060" data-linenumber="13"> - <span class="hits">1060</span> + <li class="covered" data-hits="84" data-linenumber="15"> + <span class="hits">84</span> <code class="ruby"> @configuration[:errors] = errors</code> </li> - <li class="covered" data-hits="1060" data-linenumber="14"> - <span class="hits">1060</span> + <li class="covered" data-hits="84" data-linenumber="16"> + <span class="hits">84</span> <code class="ruby"> @localized = localized</code> </li> - <li class="covered" data-hits="1060" data-linenumber="15"> - <span class="hits">1060</span> + <li class="covered" data-hits="84" data-linenumber="17"> + <span class="hits">84</span> <code class="ruby"> @fields = hydrate_fields(includes, entries, errors)</code> </li> - <li class="covered" data-hits="1060" data-linenumber="16"> - <span class="hits">1060</span> + <li class="covered" data-hits="84" data-linenumber="18"> + <span class="hits">84</span> <code class="ruby"> define_fields_methods!</code> </li> - <li class="never" data-hits="" data-linenumber="17"> + <li class="never" data-hits="" data-linenumber="19"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="18"> + <li class="never" data-hits="" data-linenumber="20"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="19"> + <li class="never" data-hits="" data-linenumber="21"> <code class="ruby"> # Returns all fields of the asset</code> </li> - <li class="never" data-hits="" data-linenumber="20"> + <li class="never" data-hits="" data-linenumber="22"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="21"> + <li class="never" data-hits="" data-linenumber="23"> <code class="ruby"> # @return [Hash] fields for Resource on selected locale</code> </li> - <li class="covered" data-hits="1" data-linenumber="22"> + <li class="covered" data-hits="1" data-linenumber="24"> <span class="hits">1</span> <code class="ruby"> def fields(wanted_locale = nil)</code> </li> - <li class="covered" data-hits="1382" data-linenumber="23"> - <span class="hits">1382</span> + <li class="covered" data-hits="85" data-linenumber="25"> + <span class="hits">85</span> <code class="ruby"> wanted_locale = internal_resource_locale if wanted_locale.nil?</code> </li> - <li class="covered" data-hits="1382" data-linenumber="24"> - <span class="hits">1382</span> + <li class="covered" data-hits="85" data-linenumber="26"> + <span class="hits">85</span> <code class="ruby"> @fields.fetch(wanted_locale.to_s, {})</code> </li> - <li class="never" data-hits="" data-linenumber="25"> + <li class="never" data-hits="" data-linenumber="27"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="26"> + <li class="never" data-hits="" data-linenumber="28"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="27"> + <li class="never" data-hits="" data-linenumber="29"> <code class="ruby"> # Returns all fields of the asset with locales nested by field</code> </li> - <li class="never" data-hits="" data-linenumber="28"> + <li class="never" data-hits="" data-linenumber="30"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="29"> + <li class="never" data-hits="" data-linenumber="31"> <code class="ruby"> # @return [Hash] fields for Resource grouped by field name</code> </li> - <li class="covered" data-hits="1" data-linenumber="30"> + <li class="covered" data-hits="1" data-linenumber="32"> <span class="hits">1</span> <code class="ruby"> def fields_with_locales</code> </li> - <li class="covered" data-hits="5" data-linenumber="31"> - <span class="hits">5</span> + <li class="missed" data-hits="0" data-linenumber="33"> + <code class="ruby"> remapped_fields = {}</code> </li> - <li class="covered" data-hits="5" data-linenumber="32"> - <span class="hits">5</span> + <li class="missed" data-hits="0" data-linenumber="34"> + <code class="ruby"> locales.each do |locale|</code> </li> - <li class="covered" data-hits="8" data-linenumber="33"> - <span class="hits">8</span> + <li class="missed" data-hits="0" data-linenumber="35"> + <code class="ruby"> fields(locale).each do |name, value|</code> </li> - <li class="covered" data-hits="38" data-linenumber="34"> - <span class="hits">38</span> + <li class="missed" data-hits="0" data-linenumber="36"> + <code class="ruby"> remapped_fields[name] ||= {}</code> </li> - <li class="covered" data-hits="38" data-linenumber="35"> - <span class="hits">38</span> + <li class="missed" data-hits="0" data-linenumber="37"> + <code class="ruby"> remapped_fields[name][locale.to_sym] = value</code> </li> - <li class="never" data-hits="" data-linenumber="36"> + <li class="never" data-hits="" data-linenumber="38"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="37"> + <li class="never" data-hits="" data-linenumber="39"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="38"> + <li class="never" data-hits="" data-linenumber="40"> <code class="ruby"></code> </li> - <li class="covered" data-hits="5" data-linenumber="39"> - <span class="hits">5</span> + <li class="missed" data-hits="0" data-linenumber="41"> + <code class="ruby"> remapped_fields</code> </li> - <li class="never" data-hits="" data-linenumber="40"> + <li class="never" data-hits="" data-linenumber="42"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="41"> + <li class="never" data-hits="" data-linenumber="43"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="42"> + <li class="never" data-hits="" data-linenumber="44"> <code class="ruby"> # Provides a list of the available locales for a Resource</code> </li> - <li class="covered" data-hits="1" data-linenumber="43"> + <li class="covered" data-hits="1" data-linenumber="45"> <span class="hits">1</span> <code class="ruby"> def locales</code> </li> - <li class="covered" data-hits="52" data-linenumber="44"> - <span class="hits">52</span> + <li class="missed" data-hits="0" data-linenumber="46"> + <code class="ruby"> @fields.keys</code> </li> - <li class="never" data-hits="" data-linenumber="45"> + <li class="never" data-hits="" data-linenumber="47"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="46"> + <li class="never" data-hits="" data-linenumber="48"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="47"> + <li class="never" data-hits="" data-linenumber="49"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="48"> + <li class="covered" data-hits="1" data-linenumber="50"> <span class="hits">1</span> <code class="ruby"> def marshal_dump</code> </li> - <li class="covered" data-hits="24" data-linenumber="49"> - <span class="hits">24</span> + <li class="missed" data-hits="0" data-linenumber="51"> + <code class="ruby"> {</code> </li> - <li class="never" data-hits="" data-linenumber="50"> + <li class="never" data-hits="" data-linenumber="52"> <code class="ruby"> configuration: @configuration,</code> </li> - <li class="never" data-hits="" data-linenumber="51"> + <li class="never" data-hits="" data-linenumber="53"> <code class="ruby"> raw: raw_with_links,</code> </li> - <li class="never" data-hits="" data-linenumber="52"> + <li class="never" data-hits="" data-linenumber="54"> <code class="ruby"> localized: localized</code> </li> - <li class="never" data-hits="" data-linenumber="53"> + <li class="never" data-hits="" data-linenumber="55"> <code class="ruby"> }</code> </li> - <li class="never" data-hits="" data-linenumber="54"> + <li class="never" data-hits="" data-linenumber="56"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="55"> + <li class="never" data-hits="" data-linenumber="57"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="56"> + <li class="never" data-hits="" data-linenumber="58"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="57"> + <li class="covered" data-hits="1" data-linenumber="59"> <span class="hits">1</span> <code class="ruby"> def marshal_load(raw_object)</code> </li> - <li class="covered" data-hits="34" data-linenumber="58"> - <span class="hits">34</span> + <li class="missed" data-hits="0" data-linenumber="60"> + <code class="ruby"> super(raw_object)</code> </li> - <li class="covered" data-hits="34" data-linenumber="59"> - <span class="hits">34</span> + <li class="missed" data-hits="0" data-linenumber="61"> + <code class="ruby"> @localized = raw_object[:localized]</code> </li> - <li class="covered" data-hits="34" data-linenumber="60"> - <span class="hits">34</span> + <li class="missed" data-hits="0" data-linenumber="62"> + <code class="ruby"> @fields = hydrate_fields(</code> </li> - <li class="never" data-hits="" data-linenumber="61"> + <li class="never" data-hits="" data-linenumber="63"> <code class="ruby"> raw_object[:configuration].fetch(:includes_for_single, []),</code> </li> - <li class="never" data-hits="" data-linenumber="62"> + <li class="never" data-hits="" data-linenumber="64"> <code class="ruby"> {},</code> </li> - <li class="never" data-hits="" data-linenumber="63"> + <li class="never" data-hits="" data-linenumber="65"> <code class="ruby"> raw_object[:configuration].fetch(:errors, [])</code> </li> - <li class="never" data-hits="" data-linenumber="64"> + <li class="never" data-hits="" data-linenumber="66"> <code class="ruby"> )</code> </li> - <li class="covered" data-hits="34" data-linenumber="65"> - <span class="hits">34</span> + <li class="missed" data-hits="0" data-linenumber="67"> + <code class="ruby"> define_fields_methods!</code> </li> - <li class="never" data-hits="" data-linenumber="66"> + <li class="never" data-hits="" data-linenumber="68"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="67"> + <li class="never" data-hits="" data-linenumber="69"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="68"> + <li class="never" data-hits="" data-linenumber="70"> <code class="ruby"> # @private</code> </li> - <li class="covered" data-hits="1" data-linenumber="69"> + <li class="covered" data-hits="1" data-linenumber="71"> <span class="hits">1</span> <code class="ruby"> def raw_with_links</code> </li> - <li class="covered" data-hits="137" data-linenumber="70"> - <span class="hits">137</span> + <li class="missed" data-hits="0" data-linenumber="72"> + <code class="ruby"> links = fields.keys.select { |property| known_link?(property) }</code> </li> - <li class="covered" data-hits="24" data-linenumber="71"> - <span class="hits">24</span> + <li class="missed" data-hits="0" data-linenumber="73"> + <code class="ruby"> processed_raw = raw.clone</code> </li> - <li class="covered" data-hits="24" data-linenumber="72"> - <span class="hits">24</span> + <li class="missed" data-hits="0" data-linenumber="74"> + <code class="ruby"> raw[&#39;fields&#39;].each do |k, v|</code> </li> - <li class="covered" data-hits="127" data-linenumber="73"> - <span class="hits">127</span> + <li class="missed" data-hits="0" data-linenumber="75"> + <code class="ruby"> links_key = Support.snakify(k, @configuration[:use_camel_case])</code> </li> - <li class="covered" data-hits="127" data-linenumber="74"> - <span class="hits">127</span> + <li class="missed" data-hits="0" data-linenumber="76"> + <code class="ruby"> processed_raw[&#39;fields&#39;][k] = links.include?(links_key.to_sym) ? send(links_key) : v</code> </li> - <li class="never" data-hits="" data-linenumber="75"> + <li class="never" data-hits="" data-linenumber="77"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="76"> + <li class="never" data-hits="" data-linenumber="78"> <code class="ruby"></code> </li> - <li class="covered" data-hits="24" data-linenumber="77"> - <span class="hits">24</span> + <li class="missed" data-hits="0" data-linenumber="79"> + <code class="ruby"> processed_raw</code> </li> - <li class="never" data-hits="" data-linenumber="78"> + <li class="never" data-hits="" data-linenumber="80"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="79"> + <li class="never" data-hits="" data-linenumber="81"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="80"> + <li class="covered" data-hits="1" data-linenumber="82"> <span class="hits">1</span> <code class="ruby"> private</code> </li> - <li class="never" data-hits="" data-linenumber="81"> + <li class="never" data-hits="" data-linenumber="83"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="82"> + <li class="covered" data-hits="1" data-linenumber="84"> <span class="hits">1</span> <code class="ruby"> def define_fields_methods!</code> </li> - <li class="covered" data-hits="1094" data-linenumber="83"> - <span class="hits">1094</span> + <li class="covered" data-hits="84" data-linenumber="85"> + <span class="hits">84</span> <code class="ruby"> fields.each do |k, v|</code> </li> - <li class="covered" data-hits="4709" data-linenumber="84"> - <span class="hits">4709</span> + <li class="covered" data-hits="379" data-linenumber="86"> + <span class="hits">379</span> <code class="ruby"> define_singleton_method k do</code> </li> - <li class="covered" data-hits="274" data-linenumber="85"> - <span class="hits">274</span> + <li class="missed" data-hits="0" data-linenumber="87"> + <code class="ruby"> v</code> </li> - <li class="never" data-hits="" data-linenumber="86"> + <li class="never" data-hits="" data-linenumber="88"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="87"> + <li class="never" data-hits="" data-linenumber="89"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="88"> + <li class="never" data-hits="" data-linenumber="90"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="89"> + <li class="never" data-hits="" data-linenumber="91"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="90"> + <li class="covered" data-hits="1" data-linenumber="92"> <span class="hits">1</span> <code class="ruby"> def hydrate_localized_fields(includes, errors, entries)</code> </li> - <li class="covered" data-hits="94" data-linenumber="91"> - <span class="hits">94</span> + <li class="missed" data-hits="0" data-linenumber="93"> + <code class="ruby"> locale = internal_resource_locale</code> </li> - <li class="covered" data-hits="94" data-linenumber="92"> - <span class="hits">94</span> + <li class="missed" data-hits="0" data-linenumber="94"> + <code class="ruby"> result = { locale =&gt; {} }</code> </li> - <li class="covered" data-hits="94" data-linenumber="93"> - <span class="hits">94</span> + <li class="missed" data-hits="0" data-linenumber="95"> + <code class="ruby"> raw[&#39;fields&#39;].each do |name, locales|</code> </li> - <li class="covered" data-hits="393" data-linenumber="94"> - <span class="hits">393</span> + <li class="missed" data-hits="0" data-linenumber="96"> + <code class="ruby"> locales.each do |loc, value|</code> </li> - <li class="covered" data-hits="441" data-linenumber="95"> - <span class="hits">441</span> + <li class="missed" data-hits="0" data-linenumber="97"> + <code class="ruby"> result[loc] ||= {}</code> </li> - <li class="covered" data-hits="441" data-linenumber="96"> - <span class="hits">441</span> + <li class="missed" data-hits="0" data-linenumber="98"> + <code class="ruby"> name = Support.snakify(name, @configuration[:use_camel_case])</code> </li> - <li class="covered" data-hits="441" data-linenumber="97"> - <span class="hits">441</span> + <li class="missed" data-hits="0" data-linenumber="99"> + <code class="ruby"> result[loc][name.to_sym] = coerce(</code> </li> - <li class="never" data-hits="" data-linenumber="98"> + <li class="never" data-hits="" data-linenumber="100"> <code class="ruby"> name,</code> </li> - <li class="never" data-hits="" data-linenumber="99"> + <li class="never" data-hits="" data-linenumber="101"> <code class="ruby"> value,</code> </li> - <li class="never" data-hits="" data-linenumber="100"> + <li class="never" data-hits="" data-linenumber="102"> <code class="ruby"> includes,</code> </li> - <li class="never" data-hits="" data-linenumber="101"> + <li class="never" data-hits="" data-linenumber="103"> <code class="ruby"> errors,</code> </li> - <li class="never" data-hits="" data-linenumber="102"> + <li class="never" data-hits="" data-linenumber="104"> <code class="ruby"> entries</code> </li> - <li class="never" data-hits="" data-linenumber="103"> + <li class="never" data-hits="" data-linenumber="105"> <code class="ruby"> )</code> </li> - <li class="never" data-hits="" data-linenumber="104"> + <li class="never" data-hits="" data-linenumber="106"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="105"> + <li class="never" data-hits="" data-linenumber="107"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="106"> + <li class="never" data-hits="" data-linenumber="108"> <code class="ruby"></code> </li> - <li class="covered" data-hits="94" data-linenumber="107"> - <span class="hits">94</span> + <li class="missed" data-hits="0" data-linenumber="109"> + <code class="ruby"> result</code> </li> - <li class="never" data-hits="" data-linenumber="108"> + <li class="never" data-hits="" data-linenumber="110"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="109"> + <li class="never" data-hits="" data-linenumber="111"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="110"> + <li class="covered" data-hits="1" data-linenumber="112"> <span class="hits">1</span> <code class="ruby"> def hydrate_nonlocalized_fields(includes, errors, entries)</code> </li> - <li class="covered" data-hits="998" data-linenumber="111"> - <span class="hits">998</span> + <li class="covered" data-hits="84" data-linenumber="113"> + <span class="hits">84</span> <code class="ruby"> result = { locale =&gt; {} }</code> </li> - <li class="covered" data-hits="998" data-linenumber="112"> - <span class="hits">998</span> + <li class="covered" data-hits="84" data-linenumber="114"> + <span class="hits">84</span> <code class="ruby"> locale = internal_resource_locale</code> </li> - <li class="covered" data-hits="998" data-linenumber="113"> - <span class="hits">998</span> + <li class="covered" data-hits="84" data-linenumber="115"> + <span class="hits">84</span> <code class="ruby"> raw[&#39;fields&#39;].each do |name, value|</code> </li> - <li class="covered" data-hits="4316" data-linenumber="114"> - <span class="hits">4316</span> + <li class="covered" data-hits="379" data-linenumber="116"> + <span class="hits">379</span> <code class="ruby"> name = Support.snakify(name, @configuration[:use_camel_case])</code> </li> - <li class="covered" data-hits="4316" data-linenumber="115"> - <span class="hits">4316</span> + <li class="covered" data-hits="379" data-linenumber="117"> + <span class="hits">379</span> <code class="ruby"> result[locale][name.to_sym] = coerce(</code> </li> - <li class="never" data-hits="" data-linenumber="116"> + <li class="never" data-hits="" data-linenumber="118"> <code class="ruby"> name,</code> </li> - <li class="never" data-hits="" data-linenumber="117"> + <li class="never" data-hits="" data-linenumber="119"> <code class="ruby"> value,</code> </li> - <li class="never" data-hits="" data-linenumber="118"> + <li class="never" data-hits="" data-linenumber="120"> <code class="ruby"> includes,</code> </li> - <li class="never" data-hits="" data-linenumber="119"> + <li class="never" data-hits="" data-linenumber="121"> <code class="ruby"> errors,</code> </li> - <li class="never" data-hits="" data-linenumber="120"> + <li class="never" data-hits="" data-linenumber="122"> <code class="ruby"> entries</code> </li> - <li class="never" data-hits="" data-linenumber="121"> + <li class="never" data-hits="" data-linenumber="123"> <code class="ruby"> )</code> </li> - <li class="never" data-hits="" data-linenumber="122"> + <li class="never" data-hits="" data-linenumber="124"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="123"> + <li class="never" data-hits="" data-linenumber="125"> <code class="ruby"></code> </li> - <li class="covered" data-hits="998" data-linenumber="124"> - <span class="hits">998</span> + <li class="covered" data-hits="84" data-linenumber="126"> + <span class="hits">84</span> <code class="ruby"> result</code> </li> - <li class="never" data-hits="" data-linenumber="125"> + <li class="never" data-hits="" data-linenumber="127"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="126"> + <li class="never" data-hits="" data-linenumber="128"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="127"> + <li class="covered" data-hits="1" data-linenumber="129"> <span class="hits">1</span> <code class="ruby"> def hydrate_fields(includes, entries, errors)</code> </li> - <li class="covered" data-hits="1094" data-linenumber="128"> - <span class="hits">1094</span> + <li class="covered" data-hits="84" data-linenumber="130"> + <span class="hits">84</span> <code class="ruby"> return {} unless raw.key?(&#39;fields&#39;)</code> </li> - <li class="never" data-hits="" data-linenumber="129"> + <li class="never" data-hits="" data-linenumber="131"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1092" data-linenumber="130"> - <span class="hits">1092</span> + <li class="covered" data-hits="84" data-linenumber="132"> + <span class="hits">84</span> <code class="ruby"> if localized</code> </li> - <li class="covered" data-hits="94" data-linenumber="131"> - <span class="hits">94</span> + <li class="missed" data-hits="0" data-linenumber="133"> + <code class="ruby"> hydrate_localized_fields(includes, errors, entries)</code> </li> - <li class="never" data-hits="" data-linenumber="132"> + <li class="never" data-hits="" data-linenumber="134"> <code class="ruby"> else</code> </li> - <li class="covered" data-hits="998" data-linenumber="133"> - <span class="hits">998</span> + <li class="covered" data-hits="84" data-linenumber="135"> + <span class="hits">84</span> <code class="ruby"> hydrate_nonlocalized_fields(includes, errors, entries)</code> </li> - <li class="never" data-hits="" data-linenumber="134"> + <li class="never" data-hits="" data-linenumber="136"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="135"> + <li class="never" data-hits="" data-linenumber="137"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="136"> + <li class="never" data-hits="" data-linenumber="138"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="137"> + <li class="covered" data-hits="1" data-linenumber="139"> <span class="hits">1</span> <code class="ruby"> protected</code> </li> - <li class="never" data-hits="" data-linenumber="138"> + <li class="never" data-hits="" data-linenumber="140"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="139"> + <li class="covered" data-hits="1" data-linenumber="141"> <span class="hits">1</span> <code class="ruby"> def coerce(_field_id, value, _includes, _errors, _entries)</code> </li> - <li class="covered" data-hits="3642" data-linenumber="140"> - <span class="hits">3642</span> + <li class="covered" data-hits="85" data-linenumber="142"> + <span class="hits">85</span> <code class="ruby"> value</code> </li> - <li class="never" data-hits="" data-linenumber="141"> + <li class="never" data-hits="" data-linenumber="143"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="142"> + <li class="never" data-hits="" data-linenumber="144"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="143"> + <li class="never" data-hits="" data-linenumber="145"> <code class="ruby">end</code> </li> @@ -9915,24 +10081,24 @@ <span class="hits">1</span> <code class="ruby"> def initialize(json, configuration)</code> </li> - <li class="covered" data-hits="496" data-linenumber="5"> - <span class="hits">496</span> + <li class="covered" data-hits="41" data-linenumber="5"> + <span class="hits">41</span> <code class="ruby"> @configuration = configuration</code> </li> <li class="never" data-hits="" data-linenumber="6"> <code class="ruby"></code> </li> - <li class="covered" data-hits="496" data-linenumber="7"> - <span class="hits">496</span> + <li class="covered" data-hits="41" data-linenumber="7"> + <span class="hits">41</span> <code class="ruby"> define_fields!(json)</code> </li> <li class="never" data-hits="" data-linenumber="8"> @@ -9963,24 +10129,24 @@ <span class="hits">1</span> <code class="ruby"> def define_fields!(json)</code> </li> - <li class="covered" data-hits="496" data-linenumber="13"> - <span class="hits">496</span> + <li class="covered" data-hits="41" data-linenumber="13"> + <span class="hits">41</span> <code class="ruby"> json.each do |k, v|</code> </li> - <li class="covered" data-hits="1984" data-linenumber="14"> - <span class="hits">1984</span> + <li class="covered" data-hits="164" data-linenumber="14"> + <span class="hits">164</span> <code class="ruby"> define_singleton_method Support.snakify(k, @configuration[:use_camel_case]) do</code> </li> - <li class="covered" data-hits="6" data-linenumber="15"> - <span class="hits">6</span> + <li class="covered" data-hits="1" data-linenumber="15"> + <span class="hits">1</span> <code class="ruby"> v</code> </li> <li class="never" data-hits="" data-linenumber="16"> @@ -10358,15 +10524,15 @@ <div class="source_table" id="283a9b245e7a50ed1ed0ff2acf5bf3df054a6b05"> <div class="header"> <h3>lib/contentful/request.rb</h3> - <h4><span class="yellow">88.0 %</span> covered</h4> + <h4><span class="green">96.0 %</span> covered</h4> <div> <b>25</b> relevant lines. - <span class="green"><b>22</b> lines covered</span> and - <span class="red"><b>3</b> lines missed.</span> + <span class="green"><b>24</b> lines covered</span> and + <span class="red"><b>1</b> lines missed.</span> </div> </div> <pre> <ol> @@ -10417,72 +10583,72 @@ <span class="hits">1</span> <code class="ruby"> def initialize(client, endpoint, query = {}, id = nil)</code> </li> - <li class="covered" data-hits="72" data-linenumber="9"> - <span class="hits">72</span> + <li class="covered" data-hits="20" data-linenumber="9"> + <span class="hits">20</span> <code class="ruby"> @client = client</code> </li> - <li class="covered" data-hits="72" data-linenumber="10"> - <span class="hits">72</span> + <li class="covered" data-hits="20" data-linenumber="10"> + <span class="hits">20</span> <code class="ruby"> @endpoint = endpoint</code> </li> <li class="never" data-hits="" data-linenumber="11"> <code class="ruby"></code> </li> - <li class="covered" data-hits="72" data-linenumber="12"> - <span class="hits">72</span> + <li class="covered" data-hits="20" data-linenumber="12"> + <span class="hits">20</span> <code class="ruby"> @query = (normalize_query(query) if query &amp;&amp; !query.empty?)</code> </li> <li class="never" data-hits="" data-linenumber="13"> <code class="ruby"></code> </li> - <li class="covered" data-hits="72" data-linenumber="14"> - <span class="hits">72</span> + <li class="covered" data-hits="20" data-linenumber="14"> + <span class="hits">20</span> <code class="ruby"> if id</code> </li> - <li class="missed" data-hits="0" data-linenumber="15"> + <li class="covered" data-hits="14" data-linenumber="15"> + <span class="hits">14</span> - <code class="ruby"> @type = :single</code> </li> - <li class="missed" data-hits="0" data-linenumber="16"> + <li class="covered" data-hits="14" data-linenumber="16"> + <span class="hits">14</span> - <code class="ruby"> @id = URI.escape(id)</code> </li> <li class="never" data-hits="" data-linenumber="17"> <code class="ruby"> else</code> </li> - <li class="covered" data-hits="72" data-linenumber="18"> - <span class="hits">72</span> + <li class="covered" data-hits="6" data-linenumber="18"> + <span class="hits">6</span> <code class="ruby"> @type = :multi</code> </li> - <li class="covered" data-hits="72" data-linenumber="19"> - <span class="hits">72</span> + <li class="covered" data-hits="6" data-linenumber="19"> + <span class="hits">6</span> <code class="ruby"> @id = nil</code> </li> <li class="never" data-hits="" data-linenumber="20"> @@ -10513,12 +10679,12 @@ <span class="hits">1</span> <code class="ruby"> def url</code> </li> - <li class="covered" data-hits="72" data-linenumber="25"> - <span class="hits">72</span> + <li class="covered" data-hits="24" data-linenumber="25"> + <span class="hits">24</span> <code class="ruby"> &quot;#{@endpoint}#{@type == :single ? &quot;/#{id}&quot; : &#39;&#39;}&quot;</code> </li> <li class="never" data-hits="" data-linenumber="26"> @@ -10543,12 +10709,12 @@ <span class="hits">1</span> <code class="ruby"> def get</code> </li> - <li class="covered" data-hits="72" data-linenumber="30"> - <span class="hits">72</span> + <li class="covered" data-hits="10" data-linenumber="30"> + <span class="hits">10</span> <code class="ruby"> client.get(self)</code> </li> <li class="never" data-hits="" data-linenumber="31"> @@ -10573,12 +10739,12 @@ <span class="hits">1</span> <code class="ruby"> def absolute?</code> </li> - <li class="covered" data-hits="72" data-linenumber="35"> - <span class="hits">72</span> + <li class="covered" data-hits="20" data-linenumber="35"> + <span class="hits">20</span> <code class="ruby"> @endpoint.start_with?(&#39;http&#39;)</code> </li> <li class="never" data-hits="" data-linenumber="36"> @@ -10639,36 +10805,36 @@ <span class="hits">1</span> <code class="ruby"> def normalize_query(query)</code> </li> - <li class="covered" data-hits="68" data-linenumber="46"> - <span class="hits">68</span> + <li class="covered" data-hits="6" data-linenumber="46"> + <span class="hits">6</span> <code class="ruby"> Hash[</code> </li> <li class="never" data-hits="" data-linenumber="47"> <code class="ruby"> query.map do |key, value|</code> </li> - <li class="covered" data-hits="89" data-linenumber="48"> - <span class="hits">89</span> + <li class="covered" data-hits="6" data-linenumber="48"> + <span class="hits">6</span> <code class="ruby"> [</code> </li> <li class="never" data-hits="" data-linenumber="49"> <code class="ruby"> key.to_sym,</code> </li> - <li class="covered" data-hits="89" data-linenumber="50"> - <span class="hits">89</span> + <li class="covered" data-hits="6" data-linenumber="50"> + <span class="hits">6</span> <code class="ruby"> value.is_a?(::Array) ? value.join(&#39;,&#39;) : value</code> </li> <li class="never" data-hits="" data-linenumber="51"> @@ -10713,15 +10879,15 @@ <div class="source_table" id="ea1894a682921dc1a4b4d4255935538a0067cdfd"> <div class="header"> <h3>lib/contentful/resource_builder.rb</h3> - <h4><span class="green">94.57 %</span> covered</h4> + <h4><span class="green">93.48 %</span> covered</h4> <div> <b>92</b> relevant lines. - <span class="green"><b>87</b> lines covered</span> and - <span class="red"><b>5</b> lines missed.</span> + <span class="green"><b>86</b> lines covered</span> and + <span class="red"><b>6</b> lines missed.</span> </div> </div> <pre> <ol> @@ -10934,72 +11100,72 @@ <span class="hits">1</span> <code class="ruby"> def initialize(json, configuration = {}, localized = false, depth = 0, errors = [])</code> </li> - <li class="covered" data-hits="1080" data-linenumber="36"> - <span class="hits">1080</span> + <li class="covered" data-hits="97" data-linenumber="36"> + <span class="hits">97</span> <code class="ruby"> @json = json</code> </li> - <li class="covered" data-hits="1080" data-linenumber="37"> - <span class="hits">1080</span> + <li class="covered" data-hits="97" data-linenumber="37"> + <span class="hits">97</span> <code class="ruby"> @default_locale = configuration.fetch(:default_locale, ::Contentful::Client::DEFAULT_CONFIGURATION[:default_locale])</code> </li> - <li class="covered" data-hits="1080" data-linenumber="38"> - <span class="hits">1080</span> + <li class="covered" data-hits="97" data-linenumber="38"> + <span class="hits">97</span> <code class="ruby"> @resource_mapping = default_resource_mapping.merge(configuration.fetch(:resource_mapping, {}))</code> </li> - <li class="covered" data-hits="1080" data-linenumber="39"> - <span class="hits">1080</span> + <li class="covered" data-hits="97" data-linenumber="39"> + <span class="hits">97</span> <code class="ruby"> @entry_mapping = default_entry_mapping.merge(configuration.fetch(:entry_mapping, {}))</code> </li> - <li class="covered" data-hits="1080" data-linenumber="40"> - <span class="hits">1080</span> + <li class="covered" data-hits="97" data-linenumber="40"> + <span class="hits">97</span> <code class="ruby"> @includes_for_single = configuration.fetch(:includes_for_single, [])</code> </li> - <li class="covered" data-hits="1080" data-linenumber="41"> - <span class="hits">1080</span> + <li class="covered" data-hits="97" data-linenumber="41"> + <span class="hits">97</span> <code class="ruby"> @localized = localized</code> </li> - <li class="covered" data-hits="1080" data-linenumber="42"> - <span class="hits">1080</span> + <li class="covered" data-hits="97" data-linenumber="42"> + <span class="hits">97</span> <code class="ruby"> @depth = depth</code> </li> - <li class="covered" data-hits="1080" data-linenumber="43"> - <span class="hits">1080</span> + <li class="covered" data-hits="97" data-linenumber="43"> + <span class="hits">97</span> <code class="ruby"> @endpoint = configuration.fetch(:endpoint, nil)</code> </li> - <li class="covered" data-hits="1080" data-linenumber="44"> - <span class="hits">1080</span> + <li class="covered" data-hits="97" data-linenumber="44"> + <span class="hits">97</span> <code class="ruby"> @configuration = configuration</code> </li> - <li class="covered" data-hits="1080" data-linenumber="45"> - <span class="hits">1080</span> + <li class="covered" data-hits="97" data-linenumber="45"> + <span class="hits">97</span> <code class="ruby"> @resource_cache = configuration[:_entries_cache] || {}</code> </li> - <li class="covered" data-hits="1080" data-linenumber="46"> - <span class="hits">1080</span> + <li class="covered" data-hits="97" data-linenumber="46"> + <span class="hits">97</span> <code class="ruby"> @errors = errors</code> </li> <li class="never" data-hits="" data-linenumber="47"> @@ -11036,18 +11202,18 @@ <span class="hits">1</span> <code class="ruby"> def run</code> </li> - <li class="covered" data-hits="1080" data-linenumber="53"> - <span class="hits">1080</span> + <li class="covered" data-hits="97" data-linenumber="53"> + <span class="hits">97</span> <code class="ruby"> return build_array if array?</code> </li> - <li class="covered" data-hits="1010" data-linenumber="54"> - <span class="hits">1010</span> + <li class="covered" data-hits="91" data-linenumber="54"> + <span class="hits">91</span> <code class="ruby"> build_single</code> </li> <li class="never" data-hits="" data-linenumber="55"> @@ -11090,60 +11256,60 @@ <span class="hits">1</span> <code class="ruby"> def build_array</code> </li> - <li class="covered" data-hits="70" data-linenumber="62"> - <span class="hits">70</span> + <li class="covered" data-hits="6" data-linenumber="62"> + <span class="hits">6</span> <code class="ruby"> includes = fetch_includes || @includes_for_single</code> </li> - <li class="covered" data-hits="70" data-linenumber="63"> - <span class="hits">70</span> + <li class="covered" data-hits="6" data-linenumber="63"> + <span class="hits">6</span> <code class="ruby"> errors = fetch_errors || @errors</code> </li> <li class="never" data-hits="" data-linenumber="64"> <code class="ruby"></code> </li> - <li class="covered" data-hits="70" data-linenumber="65"> - <span class="hits">70</span> + <li class="covered" data-hits="6" data-linenumber="65"> + <span class="hits">6</span> <code class="ruby"> result = json[&#39;items&#39;].map do |item|</code> </li> - <li class="covered" data-hits="92" data-linenumber="66"> - <span class="hits">92</span> + <li class="covered" data-hits="15" data-linenumber="66"> + <span class="hits">15</span> <code class="ruby"> next if Support.unresolvable?(item, errors)</code> </li> - <li class="covered" data-hits="92" data-linenumber="67"> - <span class="hits">92</span> + <li class="covered" data-hits="15" data-linenumber="67"> + <span class="hits">15</span> <code class="ruby"> build_item(item, includes, errors)</code> </li> <li class="never" data-hits="" data-linenumber="68"> <code class="ruby"> end</code> </li> - <li class="covered" data-hits="70" data-linenumber="69"> - <span class="hits">70</span> + <li class="covered" data-hits="6" data-linenumber="69"> + <span class="hits">6</span> <code class="ruby"> array_class = fetch_array_class</code> </li> - <li class="covered" data-hits="70" data-linenumber="70"> - <span class="hits">70</span> + <li class="covered" data-hits="6" data-linenumber="70"> + <span class="hits">6</span> <code class="ruby"> array_class.new(json.dup.merge(&#39;items&#39; =&gt; result), @configuration, endpoint)</code> </li> <li class="never" data-hits="" data-linenumber="71"> @@ -11162,24 +11328,24 @@ <span class="hits">1</span> <code class="ruby"> def build_single</code> </li> - <li class="covered" data-hits="1010" data-linenumber="74"> - <span class="hits">1010</span> + <li class="covered" data-hits="91" data-linenumber="74"> + <span class="hits">91</span> <code class="ruby"> return if Support.unresolvable?(json, @errors)</code> </li> - <li class="covered" data-hits="1010" data-linenumber="75"> - <span class="hits">1010</span> + <li class="covered" data-hits="91" data-linenumber="75"> + <span class="hits">91</span> <code class="ruby"> includes = @includes_for_single</code> </li> - <li class="covered" data-hits="1010" data-linenumber="76"> - <span class="hits">1010</span> + <li class="covered" data-hits="91" data-linenumber="76"> + <span class="hits">91</span> <code class="ruby"> build_item(json, includes, @errors)</code> </li> <li class="never" data-hits="" data-linenumber="77"> @@ -11198,84 +11364,84 @@ <span class="hits">1</span> <code class="ruby"> def build_item(item, includes = [], errors = [])</code> </li> - <li class="covered" data-hits="1102" data-linenumber="80"> - <span class="hits">1102</span> + <li class="covered" data-hits="106" data-linenumber="80"> + <span class="hits">106</span> <code class="ruby"> buildables = %w[Entry Asset ContentType Space DeletedEntry DeletedAsset Locale]</code> </li> - <li class="covered" data-hits="2769" data-linenumber="81"> - <span class="hits">2769</span> + <li class="covered" data-hits="297" data-linenumber="81"> + <span class="hits">297</span> <code class="ruby"> item_type = buildables.detect { |b| b.to_s == item[&#39;sys&#39;][&#39;type&#39;] }</code> </li> - <li class="covered" data-hits="1102" data-linenumber="82"> - <span class="hits">1102</span> + <li class="covered" data-hits="106" data-linenumber="82"> + <span class="hits">106</span> <code class="ruby"> fail UnparsableResource, &#39;Item type is not known, could not parse&#39; if item_type.nil?</code> </li> - <li class="covered" data-hits="1102" data-linenumber="83"> - <span class="hits">1102</span> + <li class="covered" data-hits="106" data-linenumber="83"> + <span class="hits">106</span> <code class="ruby"> item_class = resource_class(item)</code> </li> <li class="never" data-hits="" data-linenumber="84"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1102" data-linenumber="85"> - <span class="hits">1102</span> + <li class="covered" data-hits="106" data-linenumber="85"> + <span class="hits">106</span> <code class="ruby"> reuse_entries = @configuration.fetch(:reuse_entries, false)</code> </li> - <li class="covered" data-hits="1102" data-linenumber="86"> - <span class="hits">1102</span> + <li class="covered" data-hits="106" data-linenumber="86"> + <span class="hits">106</span> <code class="ruby"> resource_cache = @resource_cache ? @resource_cache : {}</code> </li> <li class="never" data-hits="" data-linenumber="87"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1102" data-linenumber="88"> - <span class="hits">1102</span> + <li class="covered" data-hits="106" data-linenumber="88"> + <span class="hits">106</span> <code class="ruby"> id = &quot;#{item[&#39;sys&#39;][&#39;type&#39;]}:#{item[&#39;sys&#39;][&#39;id&#39;]}&quot;</code> </li> - <li class="covered" data-hits="1102" data-linenumber="89"> - <span class="hits">1102</span> + <li class="covered" data-hits="106" data-linenumber="89"> + <span class="hits">106</span> <code class="ruby"> resource = if reuse_entries &amp;&amp; resource_cache.key?(id)</code> </li> - <li class="covered" data-hits="2" data-linenumber="90"> - <span class="hits">2</span> + <li class="missed" data-hits="0" data-linenumber="90"> + <code class="ruby"> resource_cache[id]</code> </li> <li class="never" data-hits="" data-linenumber="91"> <code class="ruby"> else</code> </li> - <li class="covered" data-hits="1100" data-linenumber="92"> - <span class="hits">1100</span> + <li class="covered" data-hits="106" data-linenumber="92"> + <span class="hits">106</span> <code class="ruby"> item_class.new(item, @configuration, localized?, includes, resource_cache, depth, errors)</code> </li> <li class="never" data-hits="" data-linenumber="93"> @@ -11288,12 +11454,12 @@ <code class="ruby"></code> </li> - <li class="covered" data-hits="1102" data-linenumber="95"> - <span class="hits">1102</span> + <li class="covered" data-hits="106" data-linenumber="95"> + <span class="hits">106</span> <code class="ruby"> resource</code> </li> <li class="never" data-hits="" data-linenumber="96"> @@ -11312,12 +11478,12 @@ <span class="hits">1</span> <code class="ruby"> def fetch_includes</code> </li> - <li class="covered" data-hits="70" data-linenumber="99"> - <span class="hits">70</span> + <li class="covered" data-hits="6" data-linenumber="99"> + <span class="hits">6</span> <code class="ruby"> Support.includes_from_response(json)</code> </li> <li class="never" data-hits="" data-linenumber="100"> @@ -11336,12 +11502,12 @@ <span class="hits">1</span> <code class="ruby"> def fetch_errors</code> </li> - <li class="covered" data-hits="70" data-linenumber="103"> - <span class="hits">70</span> + <li class="covered" data-hits="6" data-linenumber="103"> + <span class="hits">6</span> <code class="ruby"> json.fetch(&#39;errors&#39;, [])</code> </li> <li class="never" data-hits="" data-linenumber="104"> @@ -11360,18 +11526,18 @@ <span class="hits">1</span> <code class="ruby"> def resource_class(item)</code> </li> - <li class="covered" data-hits="1102" data-linenumber="107"> - <span class="hits">1102</span> + <li class="covered" data-hits="106" data-linenumber="107"> + <span class="hits">106</span> <code class="ruby"> return fetch_custom_resource_class(item) if %w[Entry DeletedEntry Asset DeletedAsset].include?(item[&#39;sys&#39;][&#39;type&#39;])</code> </li> - <li class="covered" data-hits="40" data-linenumber="108"> - <span class="hits">40</span> + <li class="covered" data-hits="22" data-linenumber="108"> + <span class="hits">22</span> <code class="ruby"> resource_mapping[item[&#39;sys&#39;][&#39;type&#39;]]</code> </li> <li class="never" data-hits="" data-linenumber="109"> @@ -11390,54 +11556,54 @@ <span class="hits">1</span> <code class="ruby"> def fetch_custom_resource_class(item)</code> </li> - <li class="covered" data-hits="1062" data-linenumber="112"> - <span class="hits">1062</span> + <li class="covered" data-hits="84" data-linenumber="112"> + <span class="hits">84</span> <code class="ruby"> case item[&#39;sys&#39;][&#39;type&#39;]</code> </li> <li class="never" data-hits="" data-linenumber="113"> <code class="ruby"> when &#39;Entry&#39;</code> </li> - <li class="covered" data-hits="577" data-linenumber="114"> - <span class="hits">577</span> + <li class="covered" data-hits="43" data-linenumber="114"> + <span class="hits">43</span> <code class="ruby"> resource_class = entry_mapping[item[&#39;sys&#39;][&#39;contentType&#39;][&#39;sys&#39;][&#39;id&#39;]]</code> </li> - <li class="covered" data-hits="577" data-linenumber="115"> - <span class="hits">577</span> + <li class="covered" data-hits="43" data-linenumber="115"> + <span class="hits">43</span> <code class="ruby"> return resource_class unless resource_class.nil?</code> </li> <li class="never" data-hits="" data-linenumber="116"> <code class="ruby"></code> </li> - <li class="covered" data-hits="577" data-linenumber="117"> - <span class="hits">577</span> + <li class="covered" data-hits="22" data-linenumber="117"> + <span class="hits">22</span> <code class="ruby"> fetch_custom_resource_mapping(item, &#39;Entry&#39;, Entry)</code> </li> <li class="never" data-hits="" data-linenumber="118"> <code class="ruby"> when &#39;Asset&#39;</code> </li> - <li class="covered" data-hits="485" data-linenumber="119"> - <span class="hits">485</span> + <li class="covered" data-hits="41" data-linenumber="119"> + <span class="hits">41</span> <code class="ruby"> fetch_custom_resource_mapping(item, &#39;Asset&#39;, Asset)</code> </li> <li class="never" data-hits="" data-linenumber="120"> @@ -11486,30 +11652,30 @@ <span class="hits">1</span> <code class="ruby"> def fetch_custom_resource_mapping(item, type, default_class)</code> </li> - <li class="covered" data-hits="1062" data-linenumber="128"> - <span class="hits">1062</span> + <li class="covered" data-hits="63" data-linenumber="128"> + <span class="hits">63</span> <code class="ruby"> resources = resource_mapping[type]</code> </li> - <li class="covered" data-hits="1062" data-linenumber="129"> - <span class="hits">1062</span> + <li class="covered" data-hits="63" data-linenumber="129"> + <span class="hits">63</span> <code class="ruby"> return default_class if resources.nil?</code> </li> <li class="never" data-hits="" data-linenumber="130"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1062" data-linenumber="131"> - <span class="hits">1062</span> + <li class="covered" data-hits="63" data-linenumber="131"> + <span class="hits">63</span> <code class="ruby"> return resources if resources.is_a?(Class)</code> </li> <li class="missed" data-hits="0" data-linenumber="132"> @@ -11546,18 +11712,18 @@ <span class="hits">1</span> <code class="ruby"> def fetch_array_class</code> </li> - <li class="covered" data-hits="70" data-linenumber="138"> - <span class="hits">70</span> + <li class="covered" data-hits="6" data-linenumber="138"> + <span class="hits">6</span> <code class="ruby"> return SyncPage if sync?</code> </li> - <li class="covered" data-hits="70" data-linenumber="139"> - <span class="hits">70</span> + <li class="covered" data-hits="6" data-linenumber="139"> + <span class="hits">6</span> <code class="ruby"> ::Contentful::Array</code> </li> <li class="never" data-hits="" data-linenumber="140"> @@ -11576,24 +11742,24 @@ <span class="hits">1</span> <code class="ruby"> def localized?</code> </li> - <li class="covered" data-hits="1100" data-linenumber="143"> - <span class="hits">1100</span> + <li class="covered" data-hits="106" data-linenumber="143"> + <span class="hits">106</span> <code class="ruby"> return true if @localized</code> </li> - <li class="covered" data-hits="1006" data-linenumber="144"> - <span class="hits">1006</span> + <li class="covered" data-hits="106" data-linenumber="144"> + <span class="hits">106</span> <code class="ruby"> return true if array? &amp;&amp; sync?</code> </li> - <li class="covered" data-hits="1006" data-linenumber="145"> - <span class="hits">1006</span> + <li class="covered" data-hits="106" data-linenumber="145"> + <span class="hits">106</span> <code class="ruby"> false</code> </li> <li class="never" data-hits="" data-linenumber="146"> @@ -11612,12 +11778,12 @@ <span class="hits">1</span> <code class="ruby"> def array?</code> </li> - <li class="covered" data-hits="2086" data-linenumber="149"> - <span class="hits">2086</span> + <li class="covered" data-hits="203" data-linenumber="149"> + <span class="hits">203</span> <code class="ruby"> json.fetch(&#39;sys&#39;, {}).fetch(&#39;type&#39;, &#39;&#39;) == &#39;Array&#39;</code> </li> <li class="never" data-hits="" data-linenumber="150"> @@ -11636,12 +11802,12 @@ <span class="hits">1</span> <code class="ruby"> def sync?</code> </li> - <li class="covered" data-hits="158" data-linenumber="153"> - <span class="hits">158</span> + <li class="covered" data-hits="21" data-linenumber="153"> + <span class="hits">21</span> <code class="ruby"> json.fetch(&#39;nextSyncUrl&#39;, nil) || json.fetch(&#39;nextPageUrl&#39;, nil)</code> </li> <li class="never" data-hits="" data-linenumber="154"> @@ -11666,12 +11832,12 @@ <span class="hits">1</span> <code class="ruby"> def default_resource_mapping</code> </li> - <li class="covered" data-hits="1080" data-linenumber="158"> - <span class="hits">1080</span> + <li class="covered" data-hits="97" data-linenumber="158"> + <span class="hits">97</span> <code class="ruby"> DEFAULT_RESOURCE_MAPPING.dup</code> </li> <li class="never" data-hits="" data-linenumber="159"> @@ -11696,12 +11862,12 @@ <span class="hits">1</span> <code class="ruby"> def default_entry_mapping</code> </li> - <li class="covered" data-hits="1080" data-linenumber="163"> - <span class="hits">1080</span> + <li class="covered" data-hits="97" data-linenumber="163"> + <span class="hits">97</span> <code class="ruby"> DEFAULT_ENTRY_MAPPING.dup</code> </li> <li class="never" data-hits="" data-linenumber="164"> @@ -11728,15 +11894,15 @@ <div class="source_table" id="e5da896cf0ec7b470de392efaedd4669444f03b9"> <div class="header"> <h3>lib/contentful/resource_references.rb</h3> - <h4><span class="green">100.0 %</span> covered</h4> + <h4><span class="red">50.0 %</span> covered</h4> <div> <b>6</b> relevant lines. - <span class="green"><b>6</b> lines covered</span> and - <span class="red"><b>0</b> lines missed.</span> + <span class="green"><b>3</b> lines covered</span> and + <span class="red"><b>3</b> lines missed.</span> </div> </div> <pre> <ol> @@ -11799,37 +11965,37 @@ <span class="hits">1</span> <code class="ruby"> def incoming_references(client = nil, query = {})</code> </li> - <li class="covered" data-hits="2" data-linenumber="11"> - <span class="hits">2</span> + <li class="missed" data-hits="0" data-linenumber="11"> + <code class="ruby"> return false unless client</code> </li> <li class="never" data-hits="" data-linenumber="12"> <code class="ruby"></code> </li> - <li class="covered" data-hits="2" data-linenumber="13"> - <span class="hits">2</span> + <li class="missed" data-hits="0" data-linenumber="13"> + <code class="ruby"> query = is_a?(Contentful::Entry) ? query.merge(links_to_entry: id) : query.merge(links_to_asset: id)</code> </li> <li class="never" data-hits="" data-linenumber="14"> <code class="ruby"></code> </li> - <li class="covered" data-hits="2" data-linenumber="15"> - <span class="hits">2</span> + <li class="missed" data-hits="0" data-linenumber="15"> + <code class="ruby"> client.entries(query)</code> </li> <li class="never" data-hits="" data-linenumber="16"> @@ -12022,66 +12188,66 @@ <span class="hits">1</span> <code class="ruby"> def initialize(raw, request = nil)</code> </li> - <li class="covered" data-hits="72" data-linenumber="27"> - <span class="hits">72</span> + <li class="covered" data-hits="20" data-linenumber="27"> + <span class="hits">20</span> <code class="ruby"> @raw = raw</code> </li> - <li class="covered" data-hits="72" data-linenumber="28"> - <span class="hits">72</span> + <li class="covered" data-hits="20" data-linenumber="28"> + <span class="hits">20</span> <code class="ruby"> @request = request</code> </li> - <li class="covered" data-hits="72" data-linenumber="29"> - <span class="hits">72</span> + <li class="covered" data-hits="20" data-linenumber="29"> + <span class="hits">20</span> <code class="ruby"> @status = :ok</code> </li> <li class="never" data-hits="" data-linenumber="30"> <code class="ruby"></code> </li> - <li class="covered" data-hits="72" data-linenumber="31"> - <span class="hits">72</span> + <li class="covered" data-hits="20" data-linenumber="31"> + <span class="hits">20</span> <code class="ruby"> if valid_http_response?</code> </li> - <li class="covered" data-hits="71" data-linenumber="32"> - <span class="hits">71</span> + <li class="covered" data-hits="18" data-linenumber="32"> + <span class="hits">18</span> <code class="ruby"> parse_json!</code> </li> - <li class="covered" data-hits="1" data-linenumber="33"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="33"> + <span class="hits">2</span> <code class="ruby"> elsif no_content_response?</code> </li> <li class="missed" data-hits="0" data-linenumber="34"> <code class="ruby"> @status = :no_content</code> </li> - <li class="covered" data-hits="1" data-linenumber="35"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="35"> + <span class="hits">2</span> <code class="ruby"> elsif invalid_response?</code> </li> - <li class="covered" data-hits="1" data-linenumber="36"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="36"> + <span class="hits">2</span> <code class="ruby"> parse_contentful_error</code> </li> <li class="missed" data-hits="0" data-linenumber="37"> @@ -12136,12 +12302,12 @@ <span class="hits">1</span> <code class="ruby"> def load_json</code> </li> - <li class="covered" data-hits="73" data-linenumber="46"> - <span class="hits">73</span> + <li class="covered" data-hits="22" data-linenumber="46"> + <span class="hits">22</span> <code class="ruby"> MultiJson.load(unzip_response(raw))</code> </li> <li class="never" data-hits="" data-linenumber="47"> @@ -12172,12 +12338,12 @@ <span class="hits">1</span> <code class="ruby"> def error_object?</code> </li> - <li class="covered" data-hits="1" data-linenumber="52"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="52"> + <span class="hits">2</span> <code class="ruby"> object[&#39;sys&#39;][&#39;type&#39;] == &#39;Error&#39;</code> </li> <li class="never" data-hits="" data-linenumber="53"> @@ -12196,24 +12362,24 @@ <span class="hits">1</span> <code class="ruby"> def parse_contentful_error</code> </li> - <li class="covered" data-hits="1" data-linenumber="56"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="56"> + <span class="hits">2</span> <code class="ruby"> @object = load_json</code> </li> - <li class="covered" data-hits="1" data-linenumber="57"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="57"> + <span class="hits">2</span> <code class="ruby"> @error_message = object[&#39;message&#39;] if error_object?</code> </li> - <li class="covered" data-hits="1" data-linenumber="58"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="58"> + <span class="hits">2</span> <code class="ruby"> parse_http_error</code> </li> <li class="never" data-hits="" data-linenumber="59"> @@ -12232,12 +12398,12 @@ <span class="hits">1</span> <code class="ruby"> def valid_http_response?</code> </li> - <li class="covered" data-hits="72" data-linenumber="62"> - <span class="hits">72</span> + <li class="covered" data-hits="20" data-linenumber="62"> + <span class="hits">20</span> <code class="ruby"> [200, 201].include?(raw.status)</code> </li> <li class="never" data-hits="" data-linenumber="63"> @@ -12316,18 +12482,18 @@ <span class="hits">1</span> <code class="ruby"> def parse_http_error</code> </li> - <li class="covered" data-hits="1" data-linenumber="76"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="76"> + <span class="hits">2</span> <code class="ruby"> @status = :error</code> </li> - <li class="covered" data-hits="1" data-linenumber="77"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="77"> + <span class="hits">2</span> <code class="ruby"> @object = Error[raw.status].new(self)</code> </li> <li class="never" data-hits="" data-linenumber="78"> @@ -12346,12 +12512,12 @@ <span class="hits">1</span> <code class="ruby"> def invalid_response?</code> </li> - <li class="covered" data-hits="1" data-linenumber="81"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="81"> + <span class="hits">2</span> <code class="ruby"> [400, 404].include?(raw.status)</code> </li> <li class="never" data-hits="" data-linenumber="82"> @@ -12370,12 +12536,12 @@ <span class="hits">1</span> <code class="ruby"> def no_content_response?</code> </li> - <li class="covered" data-hits="1" data-linenumber="85"> - <span class="hits">1</span> + <li class="covered" data-hits="2" data-linenumber="85"> + <span class="hits">2</span> <code class="ruby"> raw.to_s == &#39;&#39; &amp;&amp; raw.status == 204</code> </li> <li class="never" data-hits="" data-linenumber="86"> @@ -12394,12 +12560,12 @@ <span class="hits">1</span> <code class="ruby"> def parse_json!</code> </li> - <li class="covered" data-hits="71" data-linenumber="89"> - <span class="hits">71</span> + <li class="covered" data-hits="18" data-linenumber="89"> + <span class="hits">18</span> <code class="ruby"> @object = load_json</code> </li> <li class="never" data-hits="" data-linenumber="90"> @@ -12442,48 +12608,48 @@ <span class="hits">1</span> <code class="ruby"> def unzip_response(response)</code> </li> - <li class="covered" data-hits="73" data-linenumber="97"> - <span class="hits">73</span> + <li class="covered" data-hits="22" data-linenumber="97"> + <span class="hits">22</span> <code class="ruby"> parsed_response = response.to_s</code> </li> - <li class="covered" data-hits="73" data-linenumber="98"> - <span class="hits">73</span> + <li class="covered" data-hits="22" data-linenumber="98"> + <span class="hits">22</span> <code class="ruby"> if response.headers[&#39;Content-Encoding&#39;].eql?(&#39;gzip&#39;)</code> </li> - <li class="covered" data-hits="46" data-linenumber="99"> - <span class="hits">46</span> + <li class="covered" data-hits="2" data-linenumber="99"> + <span class="hits">2</span> <code class="ruby"> sio = StringIO.new(parsed_response)</code> </li> - <li class="covered" data-hits="46" data-linenumber="100"> - <span class="hits">46</span> + <li class="covered" data-hits="2" data-linenumber="100"> + <span class="hits">2</span> <code class="ruby"> gz = Zlib::GzipReader.new(sio)</code> </li> - <li class="covered" data-hits="46" data-linenumber="101"> - <span class="hits">46</span> + <li class="covered" data-hits="2" data-linenumber="101"> + <span class="hits">2</span> <code class="ruby"> gz.read</code> </li> <li class="never" data-hits="" data-linenumber="102"> <code class="ruby"> else</code> </li> - <li class="covered" data-hits="27" data-linenumber="103"> - <span class="hits">27</span> + <li class="covered" data-hits="20" data-linenumber="103"> + <span class="hits">20</span> <code class="ruby"> parsed_response</code> </li> <li class="never" data-hits="" data-linenumber="104"> @@ -12690,515 +12856,527 @@ </div> <pre> <ol> - <li class="covered" data-hits="1" data-linenumber="1"> + <li class="never" data-hits="" data-linenumber="1"> + + + <code class="ruby"># frozen_string_literal: true</code> + </li> + + <li class="never" data-hits="" data-linenumber="2"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="3"> <span class="hits">1</span> <code class="ruby">module Contentful</code> </li> - <li class="never" data-hits="" data-linenumber="2"> + <li class="never" data-hits="" data-linenumber="4"> <code class="ruby"> # Utility methods used by the contentful gem</code> </li> - <li class="covered" data-hits="1" data-linenumber="3"> + <li class="covered" data-hits="1" data-linenumber="5"> <span class="hits">1</span> <code class="ruby"> module Support</code> </li> - <li class="covered" data-hits="1" data-linenumber="4"> + <li class="covered" data-hits="1" data-linenumber="6"> <span class="hits">1</span> <code class="ruby"> class &lt;&lt; self</code> </li> - <li class="never" data-hits="" data-linenumber="5"> + <li class="never" data-hits="" data-linenumber="7"> <code class="ruby"> # Transforms CamelCase into snake_case (taken from zucker)</code> </li> - <li class="never" data-hits="" data-linenumber="6"> + <li class="never" data-hits="" data-linenumber="8"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="7"> + <li class="never" data-hits="" data-linenumber="9"> <code class="ruby"> # @param [String] object camelCaseName</code> </li> - <li class="never" data-hits="" data-linenumber="8"> + <li class="never" data-hits="" data-linenumber="10"> <code class="ruby"> # @param [Boolean] skip if true, skips returns original object</code> </li> - <li class="never" data-hits="" data-linenumber="9"> + <li class="never" data-hits="" data-linenumber="11"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="10"> + <li class="never" data-hits="" data-linenumber="12"> <code class="ruby"> # @return [String] snake_case_name</code> </li> - <li class="covered" data-hits="1" data-linenumber="11"> + <li class="covered" data-hits="1" data-linenumber="13"> <span class="hits">1</span> <code class="ruby"> def snakify(object, skip = false)</code> </li> - <li class="covered" data-hits="23898" data-linenumber="12"> - <span class="hits">23898</span> + <li class="covered" data-hits="3496" data-linenumber="14"> + <span class="hits">3496</span> <code class="ruby"> return object if skip</code> </li> - <li class="never" data-hits="" data-linenumber="13"> + <li class="never" data-hits="" data-linenumber="15"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="14"> + <li class="never" data-hits="" data-linenumber="16"> <code class="ruby"> String(object)</code> </li> - <li class="never" data-hits="" data-linenumber="15"> + <li class="never" data-hits="" data-linenumber="17"> <code class="ruby"> .gsub(/::/, &#39;/&#39;)</code> </li> - <li class="never" data-hits="" data-linenumber="16"> + <li class="never" data-hits="" data-linenumber="18"> <code class="ruby"> .gsub(/([A-Z]+)([A-Z][a-z])/, &#39;\1_\2&#39;)</code> </li> - <li class="never" data-hits="" data-linenumber="17"> + <li class="never" data-hits="" data-linenumber="19"> <code class="ruby"> .gsub(/([a-z\d])([A-Z])/, &#39;\1_\2&#39;)</code> </li> - <li class="never" data-hits="" data-linenumber="18"> + <li class="never" data-hits="" data-linenumber="20"> <code class="ruby"> .tr(&#39;-&#39;, &#39;_&#39;)</code> </li> - <li class="covered" data-hits="23025" data-linenumber="19"> - <span class="hits">23025</span> + <li class="covered" data-hits="3496" data-linenumber="21"> + <span class="hits">3496</span> <code class="ruby"> .downcase</code> </li> - <li class="never" data-hits="" data-linenumber="20"> + <li class="never" data-hits="" data-linenumber="22"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="21"> + <li class="never" data-hits="" data-linenumber="23"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="22"> + <li class="covered" data-hits="1" data-linenumber="24"> <span class="hits">1</span> <code class="ruby"> def unresolvable?(value, errors)</code> </li> - <li class="covered" data-hits="2187" data-linenumber="23"> - <span class="hits">2187</span> + <li class="covered" data-hits="190" data-linenumber="25"> + <span class="hits">190</span> <code class="ruby"> return true if value.nil?</code> </li> - <li class="never" data-hits="" data-linenumber="24"> + <li class="never" data-hits="" data-linenumber="26"> <code class="ruby"></code> </li> - <li class="covered" data-hits="2561" data-linenumber="25"> - <span class="hits">2561</span> + <li class="covered" data-hits="190" data-linenumber="27"> + <span class="hits">190</span> <code class="ruby"> errors.any? { |i| i.fetch(&#39;details&#39;, {}).fetch(&#39;id&#39;, nil) == value[&#39;sys&#39;][&#39;id&#39;] }</code> </li> - <li class="never" data-hits="" data-linenumber="26"> + <li class="never" data-hits="" data-linenumber="28"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="27"> + <li class="never" data-hits="" data-linenumber="29"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="28"> + <li class="never" data-hits="" data-linenumber="30"> <code class="ruby"> # Checks if value is a link</code> </li> - <li class="never" data-hits="" data-linenumber="29"> + <li class="never" data-hits="" data-linenumber="31"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="30"> + <li class="never" data-hits="" data-linenumber="32"> <code class="ruby"> # @param value</code> </li> - <li class="never" data-hits="" data-linenumber="31"> + <li class="never" data-hits="" data-linenumber="33"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="32"> + <li class="never" data-hits="" data-linenumber="34"> <code class="ruby"> # @return [true, false]</code> </li> - <li class="covered" data-hits="1" data-linenumber="33"> + <li class="covered" data-hits="1" data-linenumber="35"> <span class="hits">1</span> <code class="ruby"> def link?(value)</code> </li> - <li class="covered" data-hits="4302" data-linenumber="34"> - <span class="hits">4302</span> + <li class="covered" data-hits="340" data-linenumber="36"> + <span class="hits">340</span> <code class="ruby"> value.is_a?(::Hash) &amp;&amp;</code> </li> - <li class="never" data-hits="" data-linenumber="35"> + <li class="never" data-hits="" data-linenumber="37"> <code class="ruby"> value.fetch(&#39;sys&#39;, {}).fetch(&#39;type&#39;, &#39;&#39;) == &#39;Link&#39;</code> </li> - <li class="never" data-hits="" data-linenumber="36"> + <li class="never" data-hits="" data-linenumber="38"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="37"> + <li class="never" data-hits="" data-linenumber="39"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="38"> + <li class="never" data-hits="" data-linenumber="40"> <code class="ruby"> # Checks if value is an array of links</code> </li> - <li class="never" data-hits="" data-linenumber="39"> + <li class="never" data-hits="" data-linenumber="41"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="40"> + <li class="never" data-hits="" data-linenumber="42"> <code class="ruby"> # @param value</code> </li> - <li class="never" data-hits="" data-linenumber="41"> + <li class="never" data-hits="" data-linenumber="43"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="42"> + <li class="never" data-hits="" data-linenumber="44"> <code class="ruby"> # @return [true, false]</code> </li> - <li class="covered" data-hits="1" data-linenumber="43"> + <li class="covered" data-hits="1" data-linenumber="45"> <span class="hits">1</span> <code class="ruby"> def link_array?(value)</code> </li> - <li class="covered" data-hits="2726" data-linenumber="44"> - <span class="hits">2726</span> + <li class="covered" data-hits="213" data-linenumber="46"> + <span class="hits">213</span> <code class="ruby"> return link?(value[0]) if value.is_a?(::Array) &amp;&amp; !value.empty?</code> </li> - <li class="never" data-hits="" data-linenumber="45"> + <li class="never" data-hits="" data-linenumber="47"> <code class="ruby"></code> </li> - <li class="covered" data-hits="2189" data-linenumber="46"> - <span class="hits">2189</span> + <li class="covered" data-hits="170" data-linenumber="48"> + <span class="hits">170</span> <code class="ruby"> false</code> </li> - <li class="never" data-hits="" data-linenumber="47"> + <li class="never" data-hits="" data-linenumber="49"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="48"> + <li class="never" data-hits="" data-linenumber="50"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="49"> + <li class="never" data-hits="" data-linenumber="51"> <code class="ruby"> # Returns the resource that matches the link</code> </li> - <li class="never" data-hits="" data-linenumber="50"> + <li class="never" data-hits="" data-linenumber="52"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="51"> + <li class="never" data-hits="" data-linenumber="53"> <code class="ruby"> # @param [Hash] link</code> </li> - <li class="never" data-hits="" data-linenumber="52"> + <li class="never" data-hits="" data-linenumber="54"> <code class="ruby"> # @param [::Array] includes</code> </li> - <li class="never" data-hits="" data-linenumber="53"> + <li class="never" data-hits="" data-linenumber="55"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="54"> + <li class="never" data-hits="" data-linenumber="56"> <code class="ruby"> # @return [Hash]</code> </li> - <li class="covered" data-hits="1" data-linenumber="55"> + <li class="covered" data-hits="1" data-linenumber="57"> <span class="hits">1</span> <code class="ruby"> def resource_for_link(link, includes)</code> </li> - <li class="covered" data-hits="1015" data-linenumber="56"> - <span class="hits">1015</span> + <li class="covered" data-hits="80" data-linenumber="58"> + <span class="hits">80</span> <code class="ruby"> includes.detect do |i|</code> </li> - <li class="covered" data-hits="2685" data-linenumber="57"> - <span class="hits">2685</span> + <li class="covered" data-hits="200" data-linenumber="59"> + <span class="hits">200</span> <code class="ruby"> i[&#39;sys&#39;][&#39;id&#39;] == link[&#39;sys&#39;][&#39;id&#39;] &amp;&amp;</code> </li> - <li class="never" data-hits="" data-linenumber="58"> + <li class="never" data-hits="" data-linenumber="60"> <code class="ruby"> i[&#39;sys&#39;][&#39;type&#39;] == link[&#39;sys&#39;][&#39;linkType&#39;]</code> </li> - <li class="never" data-hits="" data-linenumber="59"> + <li class="never" data-hits="" data-linenumber="61"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="60"> + <li class="never" data-hits="" data-linenumber="62"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="61"> + <li class="never" data-hits="" data-linenumber="63"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="62"> + <li class="never" data-hits="" data-linenumber="64"> <code class="ruby"> # Returns combined include array from an API Response</code> </li> - <li class="never" data-hits="" data-linenumber="63"> + <li class="never" data-hits="" data-linenumber="65"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="64"> + <li class="never" data-hits="" data-linenumber="66"> <code class="ruby"> # @param [Hash] json JSON Response</code> </li> - <li class="never" data-hits="" data-linenumber="65"> + <li class="never" data-hits="" data-linenumber="67"> <code class="ruby"> # @param [Bool] raw Response pre-proccessed?</code> </li> - <li class="never" data-hits="" data-linenumber="66"> + <li class="never" data-hits="" data-linenumber="68"> <code class="ruby"> #</code> </li> - <li class="never" data-hits="" data-linenumber="67"> + <li class="never" data-hits="" data-linenumber="69"> <code class="ruby"> # @return [Array]</code> </li> - <li class="covered" data-hits="1" data-linenumber="68"> + <li class="covered" data-hits="1" data-linenumber="70"> <span class="hits">1</span> <code class="ruby"> def includes_from_response(json, raw = true)</code> </li> - <li class="covered" data-hits="70" data-linenumber="69"> - <span class="hits">70</span> + <li class="covered" data-hits="6" data-linenumber="71"> + <span class="hits">6</span> <code class="ruby"> includes = if raw</code> </li> - <li class="covered" data-hits="70" data-linenumber="70"> - <span class="hits">70</span> + <li class="covered" data-hits="6" data-linenumber="72"> + <span class="hits">6</span> <code class="ruby"> json[&#39;items&#39;].dup</code> </li> - <li class="never" data-hits="" data-linenumber="71"> + <li class="never" data-hits="" data-linenumber="73"> <code class="ruby"> else</code> </li> - <li class="missed" data-hits="0" data-linenumber="72"> + <li class="missed" data-hits="0" data-linenumber="74"> <code class="ruby"> json[&#39;items&#39;].map(&amp;:raw)</code> </li> - <li class="never" data-hits="" data-linenumber="73"> + <li class="never" data-hits="" data-linenumber="75"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="74"> + <li class="never" data-hits="" data-linenumber="76"> <code class="ruby"></code> </li> - <li class="covered" data-hits="70" data-linenumber="75"> - <span class="hits">70</span> + <li class="covered" data-hits="6" data-linenumber="77"> + <span class="hits">6</span> <code class="ruby"> %w[Entry Asset].each do |type|</code> </li> - <li class="covered" data-hits="140" data-linenumber="76"> - <span class="hits">140</span> + <li class="covered" data-hits="12" data-linenumber="78"> + <span class="hits">12</span> <code class="ruby"> if json.fetch(&#39;includes&#39;, {}).key?(type)</code> </li> - <li class="covered" data-hits="70" data-linenumber="77"> - <span class="hits">70</span> + <li class="covered" data-hits="4" data-linenumber="79"> + <span class="hits">4</span> <code class="ruby"> includes.concat(json[&#39;includes&#39;].fetch(type, []))</code> </li> - <li class="never" data-hits="" data-linenumber="78"> + <li class="never" data-hits="" data-linenumber="80"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="79"> + <li class="never" data-hits="" data-linenumber="81"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="80"> + <li class="never" data-hits="" data-linenumber="82"> <code class="ruby"></code> </li> - <li class="covered" data-hits="70" data-linenumber="81"> - <span class="hits">70</span> + <li class="covered" data-hits="6" data-linenumber="83"> + <span class="hits">6</span> <code class="ruby"> includes</code> </li> - <li class="never" data-hits="" data-linenumber="82"> + <li class="never" data-hits="" data-linenumber="84"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="83"> + <li class="never" data-hits="" data-linenumber="85"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="84"> + <li class="never" data-hits="" data-linenumber="86"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="85"> + <li class="never" data-hits="" data-linenumber="87"> <code class="ruby">end</code> </li> @@ -13208,15 +13386,15 @@ <div class="source_table" id="84dd5a82215a9c45df06f943a5b88003a007c2e3"> <div class="header"> <h3>lib/contentful/sync.rb</h3> - <h4><span class="red">44.74 %</span> covered</h4> + <h4><span class="red">52.63 %</span> covered</h4> <div> <b>38</b> relevant lines. - <span class="green"><b>17</b> lines covered</span> and - <span class="red"><b>21</b> lines missed.</span> + <span class="green"><b>20</b> lines covered</span> and + <span class="red"><b>18</b> lines missed.</span> </div> </div> <pre> <ol> @@ -13291,25 +13469,25 @@ <span class="hits">1</span> <code class="ruby"> def initialize(client, options_or_url)</code> </li> - <li class="missed" data-hits="0" data-linenumber="13"> + <li class="covered" data-hits="1" data-linenumber="13"> + <span class="hits">1</span> - <code class="ruby"> @client = client</code> </li> - <li class="missed" data-hits="0" data-linenumber="14"> + <li class="covered" data-hits="1" data-linenumber="14"> + <span class="hits">1</span> - <code class="ruby"> @next_sync_url = nil</code> </li> - <li class="missed" data-hits="0" data-linenumber="15"> + <li class="covered" data-hits="1" data-linenumber="15"> + <span class="hits">1</span> - <code class="ruby"> @first_page_options_or_url = options_or_url</code> </li> <li class="never" data-hits="" data-linenumber="16"> @@ -14053,10 +14231,545 @@ </ol> </pre> </div> + <div class="source_table" id="a5b449a98635efa082944faacae851b1dab9ab8c"> + <div class="header"> + <h3>spec/client_class_spec.rb</h3> + <h4><span class="green">100.0 %</span> covered</h4> + <div> + <b>51</b> relevant lines. + <span class="green"><b>51</b> lines covered</span> and + <span class="red"><b>0</b> lines missed.</span> + </div> + </div> + + <pre> + <ol> + + <li class="covered" data-hits="1" data-linenumber="1"> + <span class="hits">1</span> + + <code class="ruby">require &#39;spec_helper&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="2"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="3"> + <span class="hits">1</span> + + <code class="ruby">describe Contentful::Client do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="4"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#get&#39; do</code> + </li> + + <li class="covered" data-hits="11" data-linenumber="5"> + <span class="hits">11</span> + + <code class="ruby"> let(:client) { create_client() }</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="6"> + <span class="hits">2</span> + + <code class="ruby"> let(:proxy_client) { create_client(proxy_host: &#39;183.207.232.194&#39;,</code> + </li> + + <li class="never" data-hits="" data-linenumber="7"> + + + <code class="ruby"> proxy_port: 8080,</code> + </li> + + <li class="never" data-hits="" data-linenumber="8"> + + + <code class="ruby"> secure: false) }</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="9"> + <span class="hits">2</span> + + <code class="ruby"> let(:timeout_client) { create_client(timeout_connect: 1, timeout_read: 2, timeout_write: 3) }</code> + </li> + + <li class="covered" data-hits="11" data-linenumber="10"> + <span class="hits">11</span> + + <code class="ruby"> let(:request) { Contentful::Request.new(nil, client.environment_url(&#39;/content_types&#39;), nil, &#39;cat&#39;) }</code> + </li> + + <li class="never" data-hits="" data-linenumber="11"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="12"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;uses #base_url&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="13"> + <span class="hits">1</span> + + <code class="ruby"> expect(client).to receive(:base_url).and_call_original</code> + </li> + + <li class="never" data-hits="" data-linenumber="14"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="15"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;content_type&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="16"> + <span class="hits">1</span> + + <code class="ruby"> client.get(request)</code> + </li> + + <li class="never" data-hits="" data-linenumber="17"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="18"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="19"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="20"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;uses #request_headers&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="21"> + <span class="hits">1</span> + + <code class="ruby"> expect(client).to receive(:request_headers).and_call_original</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="22"> + <span class="hits">2</span> + + <code class="ruby"> vcr(&#39;content_type&#39;) { client.get(request) }</code> + </li> + + <li class="never" data-hits="" data-linenumber="23"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="24"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="25"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;uses Request#url&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="26"> + <span class="hits">1</span> + + <code class="ruby"> expect(request).to receive(:url).and_call_original</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="27"> + <span class="hits">2</span> + + <code class="ruby"> vcr(&#39;content_type&#39;) { client.get(request) }</code> + </li> + + <li class="never" data-hits="" data-linenumber="28"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="29"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="30"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;uses Request#query&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="31"> + <span class="hits">1</span> + + <code class="ruby"> expect(request).to receive(:query).twice.and_call_original</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="32"> + <span class="hits">2</span> + + <code class="ruby"> vcr(&#39;content_type&#39;) { client.get(request) }</code> + </li> + + <li class="never" data-hits="" data-linenumber="33"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="34"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="35"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;calls #get_http&#39; do</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="36"> + <span class="hits">2</span> + + <code class="ruby"> expect(client.class).to receive(:get_http).with(client.base_url + request.url, request.query, client.request_headers, client.proxy_params, client.timeout_params) { raw_fixture(&#39;content_type&#39;) }</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="37"> + <span class="hits">1</span> + + <code class="ruby"> client.get(request)</code> + </li> + + <li class="never" data-hits="" data-linenumber="38"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="39"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="40"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;calls #get_http via proxy&#39; do</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="41"> + <span class="hits">2</span> + + <code class="ruby"> expect(proxy_client.class).to receive(:get_http).with(proxy_client.base_url + request.url, request.query, proxy_client.request_headers, proxy_client.proxy_params, client.timeout_params) { raw_fixture(&#39;content_type&#39;) }</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="42"> + <span class="hits">1</span> + + <code class="ruby"> proxy_client.get(request)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="43"> + <span class="hits">1</span> + + <code class="ruby"> expect(proxy_client.proxy_params[:host]).to eq &#39;183.207.232.194&#39;</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="44"> + <span class="hits">1</span> + + <code class="ruby"> expect(proxy_client.proxy_params[:port]).to eq 8080</code> + </li> + + <li class="never" data-hits="" data-linenumber="45"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="46"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="47"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;timeout params&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="48"> + <span class="hits">1</span> + + <code class="ruby"> context &#39;with timeouts configured&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="49"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;calls #get_http with timeouts&#39; do</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="50"> + <span class="hits">2</span> + + <code class="ruby"> expect(timeout_client.class).to receive(:get_http).with(timeout_client.base_url + request.url, request.query, timeout_client.request_headers, timeout_client.proxy_params, timeout_client.timeout_params) { raw_fixture(&#39;content_type&#39;) }</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="51"> + <span class="hits">1</span> + + <code class="ruby"> timeout_client.get(request)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="52"> + <span class="hits">1</span> + + <code class="ruby"> expect(timeout_client.timeout_params[:connect]).to eq 1</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="53"> + <span class="hits">1</span> + + <code class="ruby"> expect(timeout_client.timeout_params[:read]).to eq 2</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="54"> + <span class="hits">1</span> + + <code class="ruby"> expect(timeout_client.timeout_params[:write]).to eq 3</code> + </li> + + <li class="never" data-hits="" data-linenumber="55"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="56"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="57"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="58"> + <span class="hits">1</span> + + <code class="ruby"> context &#39;without timeouts&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="59"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;calls #get_http with timeouts&#39; do</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="60"> + <span class="hits">2</span> + + <code class="ruby"> expect(client.class).to receive(:get_http).with(client.base_url + request.url, request.query, client.request_headers, client.proxy_params, client.timeout_params) { raw_fixture(&#39;content_type&#39;) }</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="61"> + <span class="hits">1</span> + + <code class="ruby"> client.get(request)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="62"> + <span class="hits">1</span> + + <code class="ruby"> expect(client.timeout_params).to eq({})</code> + </li> + + <li class="never" data-hits="" data-linenumber="63"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="64"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="65"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="66"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="67"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;build_resources parameter&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="68"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;returns Contentful::Resource object if second parameter is true [default]&#39; do</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="69"> + <span class="hits">2</span> + + <code class="ruby"> res = vcr(&#39;content_type&#39;) { client.get(request) }</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="70"> + <span class="hits">1</span> + + <code class="ruby"> expect(res).to be_a Contentful::BaseResource</code> + </li> + + <li class="never" data-hits="" data-linenumber="71"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="72"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="73"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;returns a Contentful::Response object if second parameter is not true&#39; do</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="74"> + <span class="hits">2</span> + + <code class="ruby"> res = vcr(&#39;content_type&#39;) { client.get(request, false) }</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="75"> + <span class="hits">1</span> + + <code class="ruby"> expect(res).to be_a Contentful::Response</code> + </li> + + <li class="never" data-hits="" data-linenumber="76"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="77"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="78"> + + + <code class="ruby"></code> + </li> + + <li class="never" data-hits="" data-linenumber="79"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="80"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="81"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#sync&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="82"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;creates a new Sync object&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="83"> + <span class="hits">1</span> + + <code class="ruby"> expect(create_client.sync).to be_a Contentful::Sync</code> + </li> + + <li class="never" data-hits="" data-linenumber="84"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="85"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="86"> + + + <code class="ruby">end</code> + </li> + + </ol> + </pre> +</div> + + <div class="source_table" id="5eb25a1b26ae65158e1a7386a20084d608b4951d"> <div class="header"> <h3>spec/support/client.rb</h3> <h4><span class="green">100.0 %</span> covered</h4> <div> @@ -14073,12 +14786,12 @@ <span class="hits">1</span> <code class="ruby">def create_client(options = {})</code> </li> - <li class="covered" data-hits="54" data-linenumber="2"> - <span class="hits">54</span> + <li class="covered" data-hits="49" data-linenumber="2"> + <span class="hits">49</span> <code class="ruby"> Contentful::Client.new({</code> </li> <li class="never" data-hits="" data-linenumber="3"> @@ -14111,15 +14824,15 @@ <div class="source_table" id="a4ba320676b73b8644cffc9dbb12bbe8e19a9934"> <div class="header"> <h3>spec/support/json_responses.rb</h3> - <h4><span class="red">27.27 %</span> covered</h4> + <h4><span class="green">90.91 %</span> covered</h4> <div> <b>11</b> relevant lines. - <span class="green"><b>3</b> lines covered</span> and - <span class="red"><b>8</b> lines missed.</span> + <span class="green"><b>10</b> lines covered</span> and + <span class="red"><b>1</b> lines missed.</span> </div> </div> <pre> <ol> @@ -14140,55 +14853,55 @@ <span class="hits">1</span> <code class="ruby">def raw_fixture(which, status = 200, _as_json = false, headers = {})</code> </li> - <li class="missed" data-hits="0" data-linenumber="4"> + <li class="covered" data-hits="4" data-linenumber="4"> + <span class="hits">4</span> - <code class="ruby"> object = Object.new</code> </li> - <li class="missed" data-hits="0" data-linenumber="5"> + <li class="covered" data-hits="8" data-linenumber="5"> + <span class="hits">8</span> - <code class="ruby"> allow(object).to receive(:status) { status }</code> </li> - <li class="missed" data-hits="0" data-linenumber="6"> + <li class="covered" data-hits="8" data-linenumber="6"> + <span class="hits">8</span> - <code class="ruby"> allow(object).to receive(:headers) { headers }</code> </li> - <li class="missed" data-hits="0" data-linenumber="7"> + <li class="covered" data-hits="8" data-linenumber="7"> + <span class="hits">8</span> - <code class="ruby"> allow(object).to receive(:to_s) { File.read File.dirname(__FILE__) + &quot;/../fixtures/json_responses/#{which}.json&quot; }</code> </li> - <li class="missed" data-hits="0" data-linenumber="8"> + <li class="covered" data-hits="4" data-linenumber="8"> + <span class="hits">4</span> - <code class="ruby"> allow(object).to receive(:body) { object.to_s }</code> </li> - <li class="missed" data-hits="0" data-linenumber="9"> + <li class="covered" data-hits="4" data-linenumber="9"> + <span class="hits">4</span> - <code class="ruby"> allow(object).to receive(:[]) { |key| object.headers[key] }</code> </li> <li class="never" data-hits="" data-linenumber="10"> <code class="ruby"></code> </li> - <li class="missed" data-hits="0" data-linenumber="11"> + <li class="covered" data-hits="4" data-linenumber="11"> + <span class="hits">4</span> - <code class="ruby"> object</code> </li> <li class="never" data-hits="" data-linenumber="12"> @@ -14238,15 +14951,15 @@ <div class="source_table" id="027342a1ab3607ccd90fe9e5972948d26cbc8bed"> <div class="header"> <h3>spec/support/vcr.rb</h3> - <h4><span class="yellow">90.0 %</span> covered</h4> + <h4><span class="green">100.0 %</span> covered</h4> <div> <b>10</b> relevant lines. - <span class="green"><b>9</b> lines covered</span> and - <span class="red"><b>1</b> lines missed.</span> + <span class="green"><b>10</b> lines covered</span> and + <span class="red"><b>0</b> lines missed.</span> </div> </div> <pre> <ol> @@ -14309,12 +15022,12 @@ <span class="hits">1</span> <code class="ruby">def vcr(name, &amp;block)</code> </li> - <li class="covered" data-hits="54" data-linenumber="11"> - <span class="hits">54</span> + <li class="covered" data-hits="14" data-linenumber="11"> + <span class="hits">14</span> <code class="ruby"> VCR.use_cassette(name, &amp;block)</code> </li> <li class="never" data-hits="" data-linenumber="12"> @@ -14333,11 +15046,11 @@ <span class="hits">1</span> <code class="ruby">def expect_vcr(name, &amp;block)</code> </li> - <li class="missed" data-hits="0" data-linenumber="15"> - + <li class="covered" data-hits="4" data-linenumber="15"> + <span class="hits">4</span> <code class="ruby"> expect { VCR.use_cassette(name, &amp;block) }</code> </li> <li class="never" data-hits="" data-linenumber="16">