coverage/index.html in contentful-2.0.1 vs coverage/index.html in contentful-2.0.2

- 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.0/application.js' type='text/javascript'></script> <link href='./assets/0.10.0/application.css' media='screen, projection, print' rel='stylesheet' type='text/css'> - <link rel="shortcut icon" type="image/png" href="./assets/0.10.0/favicon_red.png" /> + <link rel="shortcut icon" type="image/png" href="./assets/0.10.0/favicon_green.png" /> <link rel="icon" type="image/png" href="./assets/0.10.0/favicon.png" /> </head> <body> <div id="loading"> <img src="./assets/0.10.0/loading.gif" alt="loading"/> </div> <div id="wrapper" style="display:none;"> - <div class="timestamp">Generated <abbr class="timeago" title="2017-04-06T17:23:41-03:00">2017-04-06T17:23:41-03:00</abbr></div> + <div class="timestamp">Generated <abbr class="timeago" title="2017-04-19T10:41:21-03:00">2017-04-19T10:41:21-03: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="red">70.78%</span></span> + (<span class="covered_percent"><span class="green">98.42%</span></span> covered at <span class="covered_strength"> <span class="green"> - 7.31 + 415.35 </span> </span> hits/line) </h2> <a name="AllFiles"></a> <div> - <b>29</b> files in total. - <b>753</b> relevant lines. - <span class="green"><b>533</b> lines covered</span> and - <span class="red"><b>220</b> lines missed </span> + <b>50</b> files in total. + <b>1584</b> relevant lines. + <span class="green"><b>1559</b> lines covered</span> and + <span class="red"><b>25</b> lines missed </span> </div> <table class="file_list"> <thead> <tr> <th>File</th> @@ -60,86 +60,86 @@ <td>1.0</td> </tr> <tr> <td class="strong"><a href="#7f2ea287696787e21196370fbb973b071e14f51d" class="src_link" title="lib/contentful/array.rb">lib/contentful/array.rb</a></td> - <td class="red strong">80.0 %</td> + <td class="green strong">95.0 %</td> <td>43</td> <td>20</td> - <td>16</td> - <td>4</td> - <td>2.0</td> + <td>19</td> + <td>1</td> + <td>22.6</td> </tr> <tr> <td class="strong"><a href="#ffe5a1d5126f449027c825e4f6ca26eb82bced97" class="src_link" title="lib/contentful/array_like.rb">lib/contentful/array_like.rb</a></td> <td class="red strong">70.59 %</td> <td>51</td> <td>17</td> <td>12</td> <td>5</td> - <td>0.9</td> + <td>4.4</td> </tr> <tr> <td class="strong"><a href="#8678e30b82ad923a436ca3bc5137625dad228ea6" class="src_link" title="lib/contentful/asset.rb">lib/contentful/asset.rb</a></td> <td class="green strong">94.59 %</td> <td>93</td> <td>37</td> <td>35</td> <td>2</td> - <td>9.4</td> + <td>398.5</td> </tr> <tr> <td class="strong"><a href="#dd0759d0c4f44ab5dd68912a84301483ad1a4744" class="src_link" title="lib/contentful/base_resource.rb">lib/contentful/base_resource.rb</a></td> - <td class="yellow strong">87.5 %</td> + <td class="green strong">93.75 %</td> <td>92</td> <td>48</td> - <td>42</td> - <td>6</td> - <td>34.1</td> + <td>45</td> + <td>3</td> + <td>4300.6</td> </tr> <tr> <td class="strong"><a href="#02d53b1265b3935962cdc88641c7211626bef8f8" class="src_link" title="lib/contentful/client.rb">lib/contentful/client.rb</a></td> - <td class="red strong">73.55 %</td> + <td class="green strong">97.52 %</td> <td>347</td> <td>121</td> - <td>89</td> - <td>32</td> - <td>8.3</td> + <td>118</td> + <td>3</td> + <td>72.7</td> </tr> <tr> <td class="strong"><a href="#8fde43fb81c9f865768b3b2b9b726281963bd2e0" class="src_link" title="lib/contentful/coercions.rb">lib/contentful/coercions.rb</a></td> - <td class="red strong">60.87 %</td> + <td class="green strong">95.65 %</td> <td>116</td> <td>46</td> - <td>28</td> - <td>18</td> - <td>0.6</td> + <td>44</td> + <td>2</td> + <td>408.7</td> </tr> <tr> <td class="strong"><a href="#74b6e144b48bce0edcd42f2c60eaac42e3d132ff" class="src_link" title="lib/contentful/content_type.rb">lib/contentful/content_type.rb</a></td> - <td class="red strong">58.82 %</td> + <td class="green strong">94.12 %</td> <td>31</td> <td>17</td> - <td>10</td> - <td>7</td> - <td>0.6</td> + <td>16</td> + <td>1</td> + <td>1235.7</td> </tr> <tr> <td class="strong"><a href="#6789c252893543e0058729c78a97fac7f6f59f5f" class="src_link" title="lib/contentful/content_type_cache.rb">lib/contentful/content_type_cache.rb</a></td> - <td class="red strong">66.67 %</td> + <td class="green strong">100.0 %</td> <td>26</td> <td>12</td> - <td>8</td> - <td>4</td> - <td>0.7</td> + <td>12</td> + <td>0</td> + <td>599.0</td> </tr> <tr> <td class="strong"><a href="#27a50d52f30717ee08ef73818034b27ee6a5b78f" class="src_link" title="lib/contentful/deleted_asset.rb">lib/contentful/deleted_asset.rb</a></td> <td class="green strong">100.0 %</td> @@ -160,188 +160,398 @@ <td>1.0</td> </tr> <tr> <td class="strong"><a href="#3deadfbe05ac98ecfb482512922221e2a308468e" class="src_link" title="lib/contentful/entry.rb">lib/contentful/entry.rb</a></td> - <td class="red strong">37.84 %</td> + <td class="green strong">97.3 %</td> <td>79</td> <td>37</td> - <td>14</td> - <td>23</td> - <td>0.4</td> + <td>36</td> + <td>1</td> + <td>1485.6</td> </tr> <tr> <td class="strong"><a href="#cbc5152ecb7610c204e9070fc026b95c5209482e" class="src_link" title="lib/contentful/error.rb">lib/contentful/error.rb</a></td> - <td class="red strong">56.0 %</td> + <td class="green strong">100.0 %</td> <td>62</td> <td>25</td> - <td>14</td> - <td>11</td> - <td>0.6</td> + <td>25</td> + <td>0</td> + <td>4.0</td> </tr> <tr> <td class="strong"><a href="#9ba655b198a686d1e42791f46c18142efab33dd5" class="src_link" title="lib/contentful/field.rb">lib/contentful/field.rb</a></td> - <td class="red strong">40.0 %</td> + <td class="green strong">100.0 %</td> <td>45</td> <td>20</td> - <td>8</td> - <td>12</td> - <td>0.4</td> + <td>20</td> + <td>0</td> + <td>1120.6</td> </tr> <tr> <td class="strong"><a href="#36165910e0e9554150789dc8f1d66104492a82bc" class="src_link" title="lib/contentful/fields_resource.rb">lib/contentful/fields_resource.rb</a></td> - <td class="red strong">77.36 %</td> + <td class="green strong">100.0 %</td> <td>118</td> <td>53</td> - <td>41</td> - <td>12</td> - <td>9.3</td> + <td>53</td> + <td>0</td> + <td>1433.7</td> </tr> <tr> <td class="strong"><a href="#0c99cc71db6a0791dce608b33c15dfb341ac1236" class="src_link" title="lib/contentful/file.rb">lib/contentful/file.rb</a></td> <td class="green strong">100.0 %</td> <td>12</td> <td>8</td> <td>8</td> <td>0</td> - <td>12.0</td> + <td>632.0</td> </tr> <tr> <td class="strong"><a href="#a7435fffe55167dfb171e417d154acb737a2a2b5" class="src_link" title="lib/contentful/link.rb">lib/contentful/link.rb</a></td> - <td class="red strong">66.67 %</td> + <td class="green strong">100.0 %</td> <td>17</td> <td>6</td> - <td>4</td> - <td>2</td> - <td>0.7</td> + <td>6</td> + <td>0</td> + <td>1.3</td> </tr> <tr> <td class="strong"><a href="#13b5b8baffdec83d683caa0a221ecacbcb43a925" class="src_link" title="lib/contentful/locale.rb">lib/contentful/locale.rb</a></td> - <td class="red strong">57.14 %</td> + <td class="green strong">100.0 %</td> <td>13</td> <td>7</td> - <td>4</td> - <td>3</td> - <td>0.6</td> + <td>7</td> + <td>0</td> + <td>8.3</td> </tr> <tr> <td class="strong"><a href="#0dd59b669af6b5e388324a128c3f0134607c55ca" class="src_link" title="lib/contentful/location.rb">lib/contentful/location.rb</a></td> - <td class="red strong">75.0 %</td> + <td class="green strong">100.0 %</td> <td>14</td> <td>8</td> - <td>6</td> - <td>2</td> - <td>0.8</td> + <td>8</td> + <td>0</td> + <td>1.3</td> </tr> <tr> <td class="strong"><a href="#bd09ca4f9400279947c43f7a4160bfb24c427b67" class="src_link" title="lib/contentful/request.rb">lib/contentful/request.rb</a></td> <td class="green strong">95.83 %</td> <td>56</td> <td>24</td> <td>23</td> <td>1</td> - <td>8.5</td> + <td>79.4</td> </tr> <tr> <td class="strong"><a href="#971e021fb82d518f591cc6d0336cab8d79ff86a8" class="src_link" title="lib/contentful/resource_builder.rb">lib/contentful/resource_builder.rb</a></td> - <td class="yellow strong">90.0 %</td> + <td class="green strong">96.25 %</td> <td>146</td> <td>80</td> - <td>72</td> - <td>8</td> - <td>10.7</td> + <td>77</td> + <td>3</td> + <td>1066.2</td> </tr> <tr> <td class="strong"><a href="#03bd291e263266c2834d3827ec2a81e537b58637" class="src_link" title="lib/contentful/response.rb">lib/contentful/response.rb</a></td> - <td class="red strong">60.0 %</td> + <td class="green strong">100.0 %</td> <td>106</td> <td>55</td> - <td>33</td> - <td>22</td> - <td>4.5</td> + <td>55</td> + <td>0</td> + <td>43.1</td> </tr> <tr> <td class="strong"><a href="#643a7de71248aa36e89b67873db1851ac1f94277" class="src_link" title="lib/contentful/space.rb">lib/contentful/space.rb</a></td> - <td class="red strong">58.33 %</td> + <td class="yellow strong">83.33 %</td> <td>24</td> <td>12</td> - <td>7</td> - <td>5</td> - <td>0.6</td> + <td>10</td> + <td>2</td> + <td>4.3</td> </tr> <tr> <td class="strong"><a href="#9a28747b996dd5978a9815c1df4f61d2b5a04b3a" class="src_link" title="lib/contentful/support.rb">lib/contentful/support.rb</a></td> - <td class="red strong">61.54 %</td> + <td class="green strong">100.0 %</td> <td>54</td> <td>13</td> - <td>8</td> - <td>5</td> - <td>28.4</td> + <td>13</td> + <td>0</td> + <td>9977.4</td> </tr> <tr> <td class="strong"><a href="#08e9fc511f96d9ce97c068217018817481b30ee0" class="src_link" title="lib/contentful/sync.rb">lib/contentful/sync.rb</a></td> - <td class="red strong">44.74 %</td> + <td class="green strong">100.0 %</td> <td>85</td> <td>38</td> - <td>17</td> - <td>21</td> - <td>0.4</td> + <td>38</td> + <td>0</td> + <td>14.4</td> </tr> <tr> <td class="strong"><a href="#184eeba38f591ca99b28a4cbdc79d5a46b9a76d8" class="src_link" title="lib/contentful/sync_page.rb">lib/contentful/sync_page.rb</a></td> - <td class="red strong">57.89 %</td> + <td class="green strong">94.74 %</td> <td>47</td> <td>19</td> - <td>11</td> - <td>8</td> - <td>0.6</td> + <td>18</td> + <td>1</td> + <td>9.9</td> </tr> <tr> + <td class="strong"><a href="#2c78ffc4c20a488a225b6b051f5f37e8c56e336e" class="src_link" title="spec/asset_spec.rb">spec/asset_spec.rb</a></td> + <td class="green strong">100.0 %</td> + <td>159</td> + <td>85</td> + <td>85</td> + <td>0</td> + <td>1.4</td> + </tr> + + <tr> + <td class="strong"><a href="#4a5ac6ddea0a473438ed9f161683d8faff75e49b" class="src_link" title="spec/auto_includes_spec.rb">spec/auto_includes_spec.rb</a></td> + <td class="green strong">100.0 %</td> + <td>12</td> + <td>7</td> + <td>7</td> + <td>0</td> + <td>1.3</td> + </tr> + + <tr> + <td class="strong"><a href="#4bddb7a93327aadfcdb2be2b17fa1f166e9a36d7" class="src_link" title="spec/client_class_spec.rb">spec/client_class_spec.rb</a></td> + <td class="green strong">100.0 %</td> + <td>65</td> + <td>37</td> + <td>37</td> + <td>0</td> + <td>1.6</td> + </tr> + + <tr> + <td class="strong"><a href="#bb578f091ede06ee0e73520e211d99d517944b3f" class="src_link" title="spec/client_configuration_spec.rb">spec/client_configuration_spec.rb</a></td> + <td class="green strong">100.0 %</td> + <td>205</td> + <td>94</td> + <td>94</td> + <td>0</td> + <td>1.2</td> + </tr> + + <tr> + <td class="strong"><a href="#f379f914cd9849474574ab179462ad1782776c23" class="src_link" title="spec/content_type_spec.rb">spec/content_type_spec.rb</a></td> + <td class="green strong">100.0 %</td> + <td>39</td> + <td>21</td> + <td>21</td> + <td>0</td> + <td>1.7</td> + </tr> + + <tr> + <td class="strong"><a href="#e99d0215af34b7e546ce0b354fed15a022218318" class="src_link" title="spec/deleted_asset_spec.rb">spec/deleted_asset_spec.rb</a></td> + <td class="green strong">100.0 %</td> + <td>28</td> + <td>15</td> + <td>15</td> + <td>0</td> + <td>1.4</td> + </tr> + + <tr> + <td class="strong"><a href="#1df16fd251d7e49d8e62fe77e5052956c52a1262" class="src_link" title="spec/deleted_entry_spec.rb">spec/deleted_entry_spec.rb</a></td> + <td class="green strong">100.0 %</td> + <td>28</td> + <td>15</td> + <td>15</td> + <td>0</td> + <td>1.4</td> + </tr> + + <tr> + <td class="strong"><a href="#e2fa410f4f2677ad9365ae4d49e76d6fd229c5c1" class="src_link" title="spec/entry_spec.rb">spec/entry_spec.rb</a></td> + <td class="green strong">100.0 %</td> + <td>343</td> + <td>165</td> + <td>165</td> + <td>0</td> + <td>1.3</td> + </tr> + + <tr> + <td class="strong"><a href="#e6fc8ea12b682273043c21452555b0dba14d3be4" class="src_link" title="spec/error_class_spec.rb">spec/error_class_spec.rb</a></td> + <td class="green strong">100.0 %</td> + <td>62</td> + <td>31</td> + <td>31</td> + <td>0</td> + <td>1.1</td> + </tr> + + <tr> + <td class="strong"><a href="#9f27a3ca01ab4c32a44ea83bd3641978588f6b28" class="src_link" title="spec/error_requests_spec.rb">spec/error_requests_spec.rb</a></td> + <td class="green strong">100.0 %</td> + <td>87</td> + <td>44</td> + <td>44</td> + <td>0</td> + <td>1.7</td> + </tr> + + <tr> + <td class="strong"><a href="#07d657815563102eeee2c2ef567bd847fd344df4" class="src_link" title="spec/field_spec.rb">spec/field_spec.rb</a></td> + <td class="green strong">100.0 %</td> + <td>61</td> + <td>31</td> + <td>31</td> + <td>0</td> + <td>2.9</td> + </tr> + + <tr> + <td class="strong"><a href="#8464f409a73a4563d695d98bb65faf6f98700a69" class="src_link" title="spec/file_spec.rb">spec/file_spec.rb</a></td> + <td class="green strong">100.0 %</td> + <td>23</td> + <td>12</td> + <td>12</td> + <td>0</td> + <td>1.7</td> + </tr> + + <tr> + <td class="strong"><a href="#a5d839137ee573e08f4ad1521c424bce039ee1f1" class="src_link" title="spec/link_spec.rb">spec/link_spec.rb</a></td> + <td class="green strong">100.0 %</td> + <td>41</td> + <td>23</td> + <td>23</td> + <td>0</td> + <td>1.9</td> + </tr> + + <tr> + <td class="strong"><a href="#eaa592f21041f4b53044f71ffee7d250f377eab1" class="src_link" title="spec/locale_spec.rb">spec/locale_spec.rb</a></td> + <td class="green strong">100.0 %</td> + <td>19</td> + <td>10</td> + <td>10</td> + <td>0</td> + <td>1.6</td> + </tr> + + <tr> + <td class="strong"><a href="#8647a31735515e8ec137e8f4cfe897b934044177" class="src_link" title="spec/location_spec.rb">spec/location_spec.rb</a></td> + <td class="green strong">100.0 %</td> + <td>25</td> + <td>12</td> + <td>12</td> + <td>0</td> + <td>1.2</td> + </tr> + + <tr> + <td class="strong"><a href="#c70e94e28321e3e98ee16888808ff671ce904cb7" class="src_link" title="spec/request_spec.rb">spec/request_spec.rb</a></td> + <td class="green strong">100.0 %</td> + <td>57</td> + <td>31</td> + <td>31</td> + <td>0</td> + <td>1.1</td> + </tr> + + <tr> + <td class="strong"><a href="#cf18e3b209bc737b0c313a4b779c0388af161e0f" class="src_link" title="spec/resource_building_spec.rb">spec/resource_building_spec.rb</a></td> + <td class="green strong">100.0 %</td> + <td>31</td> + <td>21</td> + <td>21</td> + <td>0</td> + <td>1.0</td> + </tr> + + <tr> + <td class="strong"><a href="#76ffc59eacc7c1b8b583c5ad169fbdbbd3844575" class="src_link" title="spec/response_spec.rb">spec/response_spec.rb</a></td> + <td class="green strong">100.0 %</td> + <td>62</td> + <td>35</td> + <td>35</td> + <td>0</td> + <td>1.3</td> + </tr> + + <tr> + <td class="strong"><a href="#44a6c47dc83d7c9458fa55ecc21bc7cb341e554d" class="src_link" title="spec/space_spec.rb">spec/space_spec.rb</a></td> + <td class="green strong">100.0 %</td> + <td>31</td> + <td>17</td> + <td>17</td> + <td>0</td> + <td>1.6</td> + </tr> + + <tr> <td class="strong"><a href="#45dd9d664eac2364c4ac42cdc14e09395c27eb0d" 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>10.5</td> + <td>87.5</td> </tr> <tr> <td class="strong"><a href="#f082498d33dd96aab89c6037b28476bc417390d0" class="src_link" title="spec/support/json_responses.rb">spec/support/json_responses.rb</a></td> - <td class="red strong">33.33 %</td> + <td class="green strong">100.0 %</td> <td>16</td> <td>9</td> - <td>3</td> - <td>6</td> - <td>0.3</td> + <td>9</td> + <td>0</td> + <td>18.0</td> </tr> <tr> <td class="strong"><a href="#c693737d49ae3b6a7a82c79c2f67b288c4f4401c" 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>2.8</td> + <td>10</td> + <td>0</td> + <td>18.4</td> </tr> + <tr> + <td class="strong"><a href="#7a8446ffd5e1fc71d0bd203ed5f7ad781f390d2f" class="src_link" title="spec/sync_page_spec.rb">spec/sync_page_spec.rb</a></td> + <td class="green strong">100.0 %</td> + <td>103</td> + <td>54</td> + <td>54</td> + <td>0</td> + <td>1.7</td> + </tr> + + <tr> + <td class="strong"><a href="#f1367d8fdfda61033cd1f804f1c79d5e70adaca8" class="src_link" title="spec/sync_spec.rb">spec/sync_spec.rb</a></td> + <td class="green strong">100.0 %</td> + <td>162</td> + <td>71</td> + <td>71</td> + <td>0</td> + <td>1.7</td> + </tr> + </tbody> </table> </div> @@ -393,15 +603,15 @@ </div> <div class="source_table" id="7f2ea287696787e21196370fbb973b071e14f51d"> <div class="header"> <h3>lib/contentful/array.rb</h3> - <h4><span class="red">80.0 %</span> covered</h4> + <h4><span class="green">95.0 %</span> covered</h4> <div> <b>20</b> relevant lines. - <span class="green"><b>16</b> lines covered</span> and - <span class="red"><b>4</b> lines missed.</span> + <span class="green"><b>19</b> lines covered</span> and + <span class="red"><b>1</b> lines missed.</span> </div> </div> <pre> <ol> @@ -512,48 +722,48 @@ <code class="ruby"> endpoint = &#39;&#39;, *)</code> </li> - <li class="covered" data-hits="5" data-linenumber="19"> - <span class="hits">5</span> + <li class="covered" data-hits="73" data-linenumber="19"> + <span class="hits">73</span> <code class="ruby"> super(item, { default_locale: default_locale })</code> </li> <li class="never" data-hits="" data-linenumber="20"> <code class="ruby"></code> </li> - <li class="covered" data-hits="5" data-linenumber="21"> - <span class="hits">5</span> + <li class="covered" data-hits="73" data-linenumber="21"> + <span class="hits">73</span> <code class="ruby"> @endpoint = endpoint</code> </li> - <li class="covered" data-hits="5" data-linenumber="22"> - <span class="hits">5</span> + <li class="covered" data-hits="73" data-linenumber="22"> + <span class="hits">73</span> <code class="ruby"> @total = item.fetch(&#39;total&#39;, nil)</code> </li> - <li class="covered" data-hits="5" data-linenumber="23"> - <span class="hits">5</span> + <li class="covered" data-hits="73" data-linenumber="23"> + <span class="hits">73</span> <code class="ruby"> @limit = item.fetch(&#39;limit&#39;, nil)</code> </li> - <li class="covered" data-hits="5" data-linenumber="24"> - <span class="hits">5</span> + <li class="covered" data-hits="73" data-linenumber="24"> + <span class="hits">73</span> <code class="ruby"> @skip = item.fetch(&#39;skip&#39;, nil)</code> </li> - <li class="covered" data-hits="5" data-linenumber="25"> - <span class="hits">5</span> + <li class="covered" data-hits="73" data-linenumber="25"> + <span class="hits">73</span> <code class="ruby"> @items = item.fetch(&#39;items&#39;, [])</code> </li> <li class="never" data-hits="" data-linenumber="26"> @@ -620,31 +830,31 @@ <span class="hits">1</span> <code class="ruby"> def next_page(client = nil)</code> </li> - <li class="missed" data-hits="0" data-linenumber="37"> + <li class="covered" data-hits="1" data-linenumber="37"> + <span class="hits">1</span> - <code class="ruby"> return false if client.nil?</code> </li> <li class="never" data-hits="" data-linenumber="38"> <code class="ruby"></code> </li> - <li class="missed" data-hits="0" data-linenumber="39"> + <li class="covered" data-hits="1" data-linenumber="39"> + <span class="hits">1</span> - <code class="ruby"> new_skip = (skip || 0) + (limit || DEFAULT_LIMIT)</code> </li> - <li class="missed" data-hits="0" data-linenumber="40"> + <li class="covered" data-hits="1" data-linenumber="40"> + <span class="hits">1</span> - <code class="ruby"> client.send(endpoint.delete(&#39;/&#39;), limit: limit, skip: new_skip)</code> </li> <li class="never" data-hits="" data-linenumber="41"> @@ -782,12 +992,12 @@ <span class="hits">1</span> <code class="ruby"> def each_item(&amp;block)</code> </li> - <li class="covered" data-hits="5" data-linenumber="18"> - <span class="hits">5</span> + <li class="covered" data-hits="63" data-linenumber="18"> + <span class="hits">63</span> <code class="ruby"> items.each(&amp;block)</code> </li> <li class="never" data-hits="" data-linenumber="19"> @@ -1076,12 +1286,12 @@ <code class="ruby"> raw: raw</code> </li> - <li class="covered" data-hits="1" data-linenumber="13"> - <span class="hits">1</span> + <li class="covered" data-hits="7" data-linenumber="13"> + <span class="hits">7</span> <code class="ruby"> }</code> </li> <li class="never" data-hits="" data-linenumber="14"> @@ -1106,24 +1316,24 @@ <span class="hits">1</span> <code class="ruby"> def marshal_load(raw_object)</code> </li> - <li class="covered" data-hits="1" data-linenumber="18"> - <span class="hits">1</span> + <li class="covered" data-hits="7" data-linenumber="18"> + <span class="hits">7</span> <code class="ruby"> super(raw_object)</code> </li> - <li class="covered" data-hits="1" data-linenumber="19"> - <span class="hits">1</span> + <li class="covered" data-hits="7" data-linenumber="19"> + <span class="hits">7</span> <code class="ruby"> create_files!</code> </li> - <li class="covered" data-hits="1" data-linenumber="20"> - <span class="hits">1</span> + <li class="covered" data-hits="7" data-linenumber="20"> + <span class="hits">7</span> <code class="ruby"> define_asset_methods!</code> </li> <li class="never" data-hits="" data-linenumber="21"> @@ -1172,24 +1382,24 @@ <span class="hits">1</span> <code class="ruby"> def initialize(*)</code> </li> - <li class="covered" data-hits="26" data-linenumber="29"> - <span class="hits">26</span> + <li class="covered" data-hits="1259" data-linenumber="29"> + <span class="hits">1259</span> <code class="ruby"> super</code> </li> - <li class="covered" data-hits="26" data-linenumber="30"> - <span class="hits">26</span> + <li class="covered" data-hits="1259" data-linenumber="30"> + <span class="hits">1259</span> <code class="ruby"> create_files!</code> </li> - <li class="covered" data-hits="26" data-linenumber="31"> - <span class="hits">26</span> + <li class="covered" data-hits="1259" data-linenumber="31"> + <span class="hits">1259</span> <code class="ruby"> define_asset_methods!</code> </li> <li class="never" data-hits="" data-linenumber="32"> @@ -1286,12 +1496,12 @@ <span class="hits">1</span> <code class="ruby"> def image_url(options = {})</code> </li> - <li class="covered" data-hits="4" data-linenumber="48"> - <span class="hits">4</span> + <li class="covered" data-hits="5" data-linenumber="48"> + <span class="hits">5</span> <code class="ruby"> query = {</code> </li> <li class="never" data-hits="" data-linenumber="49"> @@ -1334,30 +1544,30 @@ <code class="ruby"> fl: options[:fl]</code> </li> - <li class="covered" data-hits="28" data-linenumber="56"> - <span class="hits">28</span> + <li class="covered" data-hits="35" data-linenumber="56"> + <span class="hits">35</span> <code class="ruby"> }.reject { |_k, v| v.nil? }</code> </li> <li class="never" data-hits="" data-linenumber="57"> <code class="ruby"></code> </li> - <li class="covered" data-hits="4" data-linenumber="58"> - <span class="hits">4</span> + <li class="covered" data-hits="5" data-linenumber="58"> + <span class="hits">5</span> <code class="ruby"> if query.empty?</code> </li> - <li class="covered" data-hits="2" data-linenumber="59"> - <span class="hits">2</span> + <li class="covered" data-hits="3" data-linenumber="59"> + <span class="hits">3</span> <code class="ruby"> file.url</code> </li> <li class="never" data-hits="" data-linenumber="60"> @@ -1418,48 +1628,48 @@ <span class="hits">1</span> <code class="ruby"> def create_files!</code> </li> - <li class="covered" data-hits="27" data-linenumber="70"> - <span class="hits">27</span> + <li class="covered" data-hits="1266" data-linenumber="70"> + <span class="hits">1266</span> <code class="ruby"> file_json = raw.fetch(&#39;fields&#39;, {}).fetch(&#39;file&#39;, nil)</code> </li> - <li class="covered" data-hits="27" data-linenumber="71"> - <span class="hits">27</span> + <li class="covered" data-hits="1266" data-linenumber="71"> + <span class="hits">1266</span> <code class="ruby"> return if file_json.nil?</code> </li> <li class="never" data-hits="" data-linenumber="72"> <code class="ruby"></code> </li> - <li class="covered" data-hits="45" data-linenumber="73"> - <span class="hits">45</span> + <li class="covered" data-hits="2524" data-linenumber="73"> + <span class="hits">2524</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="22" data-linenumber="74"> - <span class="hits">22</span> + <li class="covered" data-hits="1261" data-linenumber="74"> + <span class="hits">1261</span> <code class="ruby"> if is_localized</code> </li> - <li class="covered" data-hits="1" data-linenumber="75"> - <span class="hits">1</span> + <li class="covered" data-hits="737" data-linenumber="75"> + <span class="hits">737</span> <code class="ruby"> locales.each do |locale|</code> </li> - <li class="covered" data-hits="2" data-linenumber="76"> - <span class="hits">2</span> + <li class="covered" data-hits="739" data-linenumber="76"> + <span class="hits">739</span> <code class="ruby"> @fields[locale][:file] = ::Contentful::File.new(file_json[locale.to_s] || {})</code> </li> <li class="never" data-hits="" data-linenumber="77"> @@ -1472,14 +1682,14 @@ <code class="ruby"> else</code> </li> - <li class="covered" data-hits="21" data-linenumber="79"> - <span class="hits">21</span> + <li class="covered" data-hits="524" data-linenumber="79"> + <span class="hits">524</span> - <code class="ruby"> @fields[default_locale][:file] = ::Contentful::File.new(file_json)</code> + <code class="ruby"> @fields[internal_resource_locale][:file] = ::Contentful::File.new(file_json)</code> </li> <li class="never" data-hits="" data-linenumber="80"> @@ -1502,12 +1712,12 @@ <span class="hits">1</span> <code class="ruby"> def define_asset_methods!</code> </li> - <li class="covered" data-hits="27" data-linenumber="84"> - <span class="hits">27</span> + <li class="covered" data-hits="1266" data-linenumber="84"> + <span class="hits">1266</span> <code class="ruby"> define_singleton_method :description do</code> </li> <li class="missed" data-hits="0" data-linenumber="85"> @@ -1526,18 +1736,18 @@ <code class="ruby"></code> </li> - <li class="covered" data-hits="27" data-linenumber="88"> - <span class="hits">27</span> + <li class="covered" data-hits="1266" data-linenumber="88"> + <span class="hits">1266</span> <code class="ruby"> define_singleton_method :file do |wanted_locale = nil|</code> </li> - <li class="covered" data-hits="12" data-linenumber="89"> - <span class="hits">12</span> + <li class="covered" data-hits="27" data-linenumber="89"> + <span class="hits">27</span> <code class="ruby"> fields(wanted_locale)[:file]</code> </li> <li class="never" data-hits="" data-linenumber="90"> @@ -1569,15 +1779,15 @@ </div> <div class="source_table" id="dd0759d0c4f44ab5dd68912a84301483ad1a4744"> <div class="header"> <h3>lib/contentful/base_resource.rb</h3> - <h4><span class="yellow">87.5 %</span> covered</h4> + <h4><span class="green">93.75 %</span> covered</h4> <div> <b>48</b> relevant lines. - <span class="green"><b>42</b> lines covered</span> and - <span class="red"><b>6</b> lines missed.</span> + <span class="green"><b>45</b> lines covered</span> and + <span class="red"><b>3</b> lines missed.</span> </div> </div> <pre> <ol> @@ -1628,48 +1838,48 @@ <span class="hits">1</span> <code class="ruby"> def initialize(item, configuration = {}, _localized = false, _includes = [], depth = 0)</code> </li> - <li class="covered" data-hits="58" data-linenumber="9"> - <span class="hits">58</span> + <li class="covered" data-hits="7140" data-linenumber="9"> + <span class="hits">7140</span> <code class="ruby"> @raw = item</code> </li> - <li class="covered" data-hits="58" data-linenumber="10"> - <span class="hits">58</span> + <li class="covered" data-hits="7140" data-linenumber="10"> + <span class="hits">7140</span> <code class="ruby"> @default_locale = configuration[:default_locale]</code> </li> - <li class="covered" data-hits="58" data-linenumber="11"> - <span class="hits">58</span> + <li class="covered" data-hits="7140" data-linenumber="11"> + <span class="hits">7140</span> <code class="ruby"> @depth = depth</code> </li> - <li class="covered" data-hits="58" data-linenumber="12"> - <span class="hits">58</span> + <li class="covered" data-hits="7140" data-linenumber="12"> + <span class="hits">7140</span> <code class="ruby"> @sys = hydrate_sys</code> </li> - <li class="covered" data-hits="58" data-linenumber="13"> - <span class="hits">58</span> + <li class="covered" data-hits="7140" data-linenumber="13"> + <span class="hits">7140</span> <code class="ruby"> @configuration = configuration</code> </li> <li class="never" data-hits="" data-linenumber="14"> <code class="ruby"></code> </li> - <li class="covered" data-hits="58" data-linenumber="15"> - <span class="hits">58</span> + <li class="covered" data-hits="7140" data-linenumber="15"> + <span class="hits">7140</span> <code class="ruby"> define_sys_methods!</code> </li> <li class="never" data-hits="" data-linenumber="16"> @@ -1724,13 +1934,13 @@ <span class="hits">1</span> <code class="ruby"> def ==(other)</code> </li> - <li class="missed" data-hits="0" data-linenumber="25"> + <li class="covered" data-hits="1" data-linenumber="25"> + <span class="hits">1</span> - <code class="ruby"> self.class == other.class &amp;&amp; sys[:id] == other.sys[:id]</code> </li> <li class="never" data-hits="" data-linenumber="26"> @@ -1802,42 +2012,42 @@ <span class="hits">1</span> <code class="ruby"> def marshal_load(raw_object)</code> </li> - <li class="covered" data-hits="1" data-linenumber="38"> - <span class="hits">1</span> + <li class="covered" data-hits="22" data-linenumber="38"> + <span class="hits">22</span> <code class="ruby"> @raw = raw_object[:raw]</code> </li> - <li class="covered" data-hits="1" data-linenumber="39"> - <span class="hits">1</span> + <li class="covered" data-hits="22" data-linenumber="39"> + <span class="hits">22</span> <code class="ruby"> @configuration = raw_object[:configuration]</code> </li> - <li class="covered" data-hits="1" data-linenumber="40"> - <span class="hits">1</span> + <li class="covered" data-hits="22" data-linenumber="40"> + <span class="hits">22</span> <code class="ruby"> @default_locale = @configuration[:default_locale]</code> </li> - <li class="covered" data-hits="1" data-linenumber="41"> - <span class="hits">1</span> + <li class="covered" data-hits="22" data-linenumber="41"> + <span class="hits">22</span> <code class="ruby"> @sys = hydrate_sys</code> </li> - <li class="covered" data-hits="1" data-linenumber="42"> - <span class="hits">1</span> + <li class="covered" data-hits="22" data-linenumber="42"> + <span class="hits">22</span> <code class="ruby"> @depth = 0</code> </li> - <li class="covered" data-hits="1" data-linenumber="43"> - <span class="hits">1</span> + <li class="covered" data-hits="22" data-linenumber="43"> + <span class="hits">22</span> <code class="ruby"> define_sys_methods!</code> </li> <li class="never" data-hits="" data-linenumber="44"> @@ -1868,25 +2078,25 @@ <span class="hits">1</span> <code class="ruby"> def reload(client = nil)</code> </li> - <li class="missed" data-hits="0" data-linenumber="49"> + <li class="covered" data-hits="1" data-linenumber="49"> + <span class="hits">1</span> - <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="50"> <code class="ruby"></code> </li> - <li class="missed" data-hits="0" data-linenumber="51"> + <li class="covered" data-hits="1" data-linenumber="51"> + <span class="hits">1</span> - <code class="ruby"> false</code> </li> <li class="never" data-hits="" data-linenumber="52"> @@ -1916,24 +2126,24 @@ <span class="hits">1</span> <code class="ruby"> def define_sys_methods!</code> </li> - <li class="covered" data-hits="59" data-linenumber="57"> - <span class="hits">59</span> + <li class="covered" data-hits="7162" data-linenumber="57"> + <span class="hits">7162</span> <code class="ruby"> @sys.each do |k, v|</code> </li> - <li class="covered" data-hits="274" data-linenumber="58"> - <span class="hits">274</span> + <li class="covered" data-hits="32062" data-linenumber="58"> + <span class="hits">32062</span> <code class="ruby"> define_singleton_method k do</code> </li> - <li class="covered" data-hits="8" data-linenumber="59"> - <span class="hits">8</span> + <li class="covered" data-hits="14307" data-linenumber="59"> + <span class="hits">14307</span> <code class="ruby"> v</code> </li> <li class="never" data-hits="" data-linenumber="60"> @@ -1964,66 +2174,66 @@ <span class="hits">1</span> <code class="ruby"> def hydrate_sys</code> </li> - <li class="covered" data-hits="59" data-linenumber="65"> - <span class="hits">59</span> + <li class="covered" data-hits="7162" data-linenumber="65"> + <span class="hits">7162</span> <code class="ruby"> result = {}</code> </li> - <li class="covered" data-hits="59" data-linenumber="66"> - <span class="hits">59</span> + <li class="covered" data-hits="7162" data-linenumber="66"> + <span class="hits">7162</span> <code class="ruby"> raw.fetch(&#39;sys&#39;, {}).each do |k, v|</code> </li> - <li class="covered" data-hits="274" data-linenumber="67"> - <span class="hits">274</span> + <li class="covered" data-hits="32062" data-linenumber="67"> + <span class="hits">32062</span> <code class="ruby"> if %w(space contentType).include?(k)</code> </li> - <li class="covered" data-hits="27" data-linenumber="68"> - <span class="hits">27</span> + <li class="covered" data-hits="4142" data-linenumber="68"> + <span class="hits">4142</span> <code class="ruby"> v = build_link(v)</code> </li> <li class="never" data-hits="" data-linenumber="69"> <code class="ruby"> elsif %w(createdAt updatedAt deletedAt).include?(k)</code> </li> - <li class="covered" data-hits="54" data-linenumber="70"> - <span class="hits">54</span> + <li class="covered" data-hits="5563" data-linenumber="70"> + <span class="hits">5563</span> <code class="ruby"> v = DateTime.parse(v)</code> </li> <li class="never" data-hits="" data-linenumber="71"> <code class="ruby"> end</code> </li> - <li class="covered" data-hits="274" data-linenumber="72"> - <span class="hits">274</span> + <li class="covered" data-hits="32062" data-linenumber="72"> + <span class="hits">32062</span> <code class="ruby"> result[Support.snakify(k).to_sym] = v</code> </li> <li class="never" data-hits="" data-linenumber="73"> <code class="ruby"> end</code> </li> - <li class="covered" data-hits="59" data-linenumber="74"> - <span class="hits">59</span> + <li class="covered" data-hits="7162" data-linenumber="74"> + <span class="hits">7162</span> <code class="ruby"> result</code> </li> <li class="never" data-hits="" data-linenumber="75"> @@ -2078,12 +2288,12 @@ <span class="hits">1</span> <code class="ruby"> def internal_resource_locale</code> </li> - <li class="covered" data-hits="65" data-linenumber="84"> - <span class="hits">65</span> + <li class="covered" data-hits="6040" data-linenumber="84"> + <span class="hits">6040</span> <code class="ruby"> sys.fetch(:locale, nil) || default_locale</code> </li> <li class="never" data-hits="" data-linenumber="85"> @@ -2102,18 +2312,18 @@ <span class="hits">1</span> <code class="ruby"> def build_link(item)</code> </li> - <li class="covered" data-hits="27" data-linenumber="88"> - <span class="hits">27</span> + <li class="covered" data-hits="4275" data-linenumber="88"> + <span class="hits">4275</span> <code class="ruby"> require_relative &#39;link&#39;</code> </li> - <li class="covered" data-hits="27" data-linenumber="89"> - <span class="hits">27</span> + <li class="covered" data-hits="4275" data-linenumber="89"> + <span class="hits">4275</span> <code class="ruby"> ::Contentful::Link.new(item)</code> </li> <li class="never" data-hits="" data-linenumber="90"> @@ -2139,15 +2349,15 @@ </div> <div class="source_table" id="02d53b1265b3935962cdc88641c7211626bef8f8"> <div class="header"> <h3>lib/contentful/client.rb</h3> - <h4><span class="red">73.55 %</span> covered</h4> + <h4><span class="green">97.52 %</span> covered</h4> <div> <b>121</b> relevant lines. - <span class="green"><b>89</b> lines covered</span> and - <span class="red"><b>32</b> lines missed.</span> + <span class="green"><b>118</b> lines covered</span> and + <span class="red"><b>3</b> lines missed.</span> </div> </div> <pre> <ol> @@ -2426,12 +2636,12 @@ <span class="hits">1</span> <code class="ruby"> def self.get_http(url, query, headers = {}, proxy = {})</code> </li> - <li class="covered" data-hits="20" data-linenumber="47"> - <span class="hits">20</span> + <li class="covered" data-hits="178" data-linenumber="47"> + <span class="hits">178</span> <code class="ruby"> if proxy[:host]</code> </li> <li class="missed" data-hits="0" data-linenumber="48"> @@ -2444,12 +2654,12 @@ <code class="ruby"> else</code> </li> - <li class="covered" data-hits="20" data-linenumber="50"> - <span class="hits">20</span> + <li class="covered" data-hits="178" data-linenumber="50"> + <span class="hits">178</span> <code class="ruby"> HTTP[headers].get(url, params: query)</code> </li> <li class="never" data-hits="" data-linenumber="51"> @@ -2606,42 +2816,42 @@ <span class="hits">1</span> <code class="ruby"> def initialize(given_configuration = {})</code> </li> - <li class="covered" data-hits="20" data-linenumber="77"> - <span class="hits">20</span> + <li class="covered" data-hits="184" data-linenumber="77"> + <span class="hits">184</span> <code class="ruby"> @configuration = default_configuration.merge(given_configuration)</code> </li> - <li class="covered" data-hits="20" data-linenumber="78"> - <span class="hits">20</span> + <li class="covered" data-hits="184" data-linenumber="78"> + <span class="hits">184</span> <code class="ruby"> normalize_configuration!</code> </li> - <li class="covered" data-hits="20" data-linenumber="79"> - <span class="hits">20</span> + <li class="covered" data-hits="184" data-linenumber="79"> + <span class="hits">184</span> <code class="ruby"> validate_configuration!</code> </li> - <li class="covered" data-hits="20" data-linenumber="80"> - <span class="hits">20</span> + <li class="covered" data-hits="182" data-linenumber="80"> + <span class="hits">182</span> <code class="ruby"> setup_logger</code> </li> <li class="never" data-hits="" data-linenumber="81"> <code class="ruby"></code> </li> - <li class="covered" data-hits="20" data-linenumber="82"> - <span class="hits">20</span> + <li class="covered" data-hits="182" data-linenumber="82"> + <span class="hits">182</span> <code class="ruby"> update_dynamic_entry_cache! if configuration[:dynamic_entries] == :auto</code> </li> <li class="never" data-hits="" data-linenumber="83"> @@ -2666,18 +2876,18 @@ <span class="hits">1</span> <code class="ruby"> def setup_logger</code> </li> - <li class="covered" data-hits="20" data-linenumber="87"> - <span class="hits">20</span> + <li class="covered" data-hits="182" data-linenumber="87"> + <span class="hits">182</span> <code class="ruby"> @logger = configuration[:logger]</code> </li> - <li class="covered" data-hits="20" data-linenumber="88"> - <span class="hits">20</span> + <li class="covered" data-hits="182" data-linenumber="88"> + <span class="hits">182</span> <code class="ruby"> logger.level = configuration[:log_level] if logger</code> </li> <li class="never" data-hits="" data-linenumber="89"> @@ -2732,12 +2942,12 @@ <code class="ruby"> password: configuration[:proxy_password]</code> </li> - <li class="covered" data-hits="20" data-linenumber="98"> - <span class="hits">20</span> + <li class="covered" data-hits="184" data-linenumber="98"> + <span class="hits">184</span> <code class="ruby"> }</code> </li> <li class="never" data-hits="" data-linenumber="99"> @@ -2768,12 +2978,12 @@ <span class="hits">1</span> <code class="ruby"> def default_configuration</code> </li> - <li class="covered" data-hits="20" data-linenumber="104"> - <span class="hits">20</span> + <li class="covered" data-hits="184" data-linenumber="104"> + <span class="hits">184</span> <code class="ruby"> DEFAULT_CONFIGURATION.dup</code> </li> <li class="never" data-hits="" data-linenumber="105"> @@ -2822,13 +3032,13 @@ <span class="hits">1</span> <code class="ruby"> def space(query = {})</code> </li> - <li class="missed" data-hits="0" data-linenumber="113"> + <li class="covered" data-hits="9" data-linenumber="113"> + <span class="hits">9</span> - <code class="ruby"> Request.new(self, &#39;&#39;, query).get</code> </li> <li class="never" data-hits="" data-linenumber="114"> @@ -2882,13 +3092,13 @@ <span class="hits">1</span> <code class="ruby"> def content_type(id, query = {})</code> </li> - <li class="missed" data-hits="0" data-linenumber="123"> + <li class="covered" data-hits="22" data-linenumber="123"> + <span class="hits">22</span> - <code class="ruby"> Request.new(self, &#39;/content_types&#39;, query, id).get</code> </li> <li class="never" data-hits="" data-linenumber="124"> @@ -2936,13 +3146,13 @@ <span class="hits">1</span> <code class="ruby"> def content_types(query = {})</code> </li> - <li class="missed" data-hits="0" data-linenumber="132"> + <li class="covered" data-hits="21" data-linenumber="132"> + <span class="hits">21</span> - <code class="ruby"> Request.new(self, &#39;/content_types&#39;, query).get</code> </li> <li class="never" data-hits="" data-linenumber="133"> @@ -2996,49 +3206,49 @@ <span class="hits">1</span> <code class="ruby"> def entry(id, query = {})</code> </li> - <li class="missed" data-hits="0" data-linenumber="142"> + <li class="covered" data-hits="29" data-linenumber="142"> + <span class="hits">29</span> - <code class="ruby"> normalize_select!(query)</code> </li> - <li class="missed" data-hits="0" data-linenumber="143"> + <li class="covered" data-hits="29" data-linenumber="143"> + <span class="hits">29</span> - <code class="ruby"> query[&#39;sys.id&#39;] = id</code> </li> - <li class="missed" data-hits="0" data-linenumber="144"> + <li class="covered" data-hits="29" data-linenumber="144"> + <span class="hits">29</span> - <code class="ruby"> entries = Request.new(self, &#39;/entries&#39;, query).get</code> </li> <li class="never" data-hits="" data-linenumber="145"> <code class="ruby"></code> </li> - <li class="missed" data-hits="0" data-linenumber="146"> + <li class="covered" data-hits="26" data-linenumber="146"> + <span class="hits">26</span> - <code class="ruby"> return entries if configuration[:raw_mode]</code> </li> <li class="never" data-hits="" data-linenumber="147"> <code class="ruby"></code> </li> - <li class="missed" data-hits="0" data-linenumber="148"> + <li class="covered" data-hits="25" data-linenumber="148"> + <span class="hits">25</span> - <code class="ruby"> entries.first</code> </li> <li class="never" data-hits="" data-linenumber="149"> @@ -3086,19 +3296,19 @@ <span class="hits">1</span> <code class="ruby"> def entries(query = {})</code> </li> - <li class="missed" data-hits="0" data-linenumber="157"> + <li class="covered" data-hits="17" data-linenumber="157"> + <span class="hits">17</span> - <code class="ruby"> normalize_select!(query)</code> </li> - <li class="missed" data-hits="0" data-linenumber="158"> + <li class="covered" data-hits="17" data-linenumber="158"> + <span class="hits">17</span> - <code class="ruby"> Request.new(self, &#39;/entries&#39;, query).get</code> </li> <li class="never" data-hits="" data-linenumber="159"> @@ -3152,12 +3362,12 @@ <span class="hits">1</span> <code class="ruby"> def asset(id, query = {})</code> </li> - <li class="covered" data-hits="15" data-linenumber="168"> - <span class="hits">15</span> + <li class="covered" data-hits="20" data-linenumber="168"> + <span class="hits">20</span> <code class="ruby"> Request.new(self, &#39;/assets&#39;, query, id).get</code> </li> <li class="never" data-hits="" data-linenumber="169"> @@ -3206,18 +3416,18 @@ <span class="hits">1</span> <code class="ruby"> def assets(query = {})</code> </li> - <li class="covered" data-hits="5" data-linenumber="177"> - <span class="hits">5</span> + <li class="covered" data-hits="9" data-linenumber="177"> + <span class="hits">9</span> <code class="ruby"> normalize_select!(query)</code> </li> - <li class="covered" data-hits="5" data-linenumber="178"> - <span class="hits">5</span> + <li class="covered" data-hits="9" data-linenumber="178"> + <span class="hits">9</span> <code class="ruby"> Request.new(self, &#39;/assets&#39;, query).get</code> </li> <li class="never" data-hits="" data-linenumber="179"> @@ -3248,12 +3458,12 @@ <span class="hits">1</span> <code class="ruby"> def base_url</code> </li> - <li class="covered" data-hits="20" data-linenumber="184"> - <span class="hits">20</span> + <li class="covered" data-hits="168" data-linenumber="184"> + <span class="hits">168</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="185"> @@ -3284,36 +3494,36 @@ <span class="hits">1</span> <code class="ruby"> def request_headers</code> </li> - <li class="covered" data-hits="20" data-linenumber="190"> - <span class="hits">20</span> + <li class="covered" data-hits="189" data-linenumber="190"> + <span class="hits">189</span> <code class="ruby"> headers = { &#39;User-Agent&#39; =&gt; &quot;RubyContentfulGem/#{Contentful::VERSION}&quot; }</code> </li> - <li class="covered" data-hits="20" data-linenumber="191"> - <span class="hits">20</span> + <li class="covered" data-hits="189" data-linenumber="191"> + <span class="hits">189</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="20" data-linenumber="192"> - <span class="hits">20</span> + <li class="covered" data-hits="189" data-linenumber="192"> + <span class="hits">189</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="20" data-linenumber="193"> - <span class="hits">20</span> + <li class="covered" data-hits="189" data-linenumber="193"> + <span class="hits">189</span> <code class="ruby"> headers[&#39;Accept-Encoding&#39;] = &#39;gzip&#39; if configuration[:gzip_encoded]</code> </li> - <li class="covered" data-hits="20" data-linenumber="194"> - <span class="hits">20</span> + <li class="covered" data-hits="189" data-linenumber="194"> + <span class="hits">189</span> <code class="ruby"> headers</code> </li> <li class="never" data-hits="" data-linenumber="195"> @@ -3344,30 +3554,30 @@ <span class="hits">1</span> <code class="ruby"> def request_query(query)</code> </li> - <li class="covered" data-hits="20" data-linenumber="200"> - <span class="hits">20</span> + <li class="covered" data-hits="182" data-linenumber="200"> + <span class="hits">182</span> <code class="ruby"> if configuration[:authentication_mechanism] == :query_string</code> </li> - <li class="missed" data-hits="0" data-linenumber="201"> + <li class="covered" data-hits="1" data-linenumber="201"> + <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="202"> <code class="ruby"> end</code> </li> - <li class="covered" data-hits="20" data-linenumber="203"> - <span class="hits">20</span> + <li class="covered" data-hits="182" data-linenumber="203"> + <span class="hits">182</span> <code class="ruby"> query</code> </li> <li class="never" data-hits="" data-linenumber="204"> @@ -3416,66 +3626,66 @@ <span class="hits">1</span> <code class="ruby"> def get(request, build_resource = true)</code> </li> - <li class="covered" data-hits="20" data-linenumber="212"> - <span class="hits">20</span> + <li class="covered" data-hits="179" data-linenumber="212"> + <span class="hits">179</span> <code class="ruby"> retries_left = configuration[:max_rate_limit_retries]</code> </li> - <li class="covered" data-hits="20" data-linenumber="213"> - <span class="hits">20</span> + <li class="covered" data-hits="179" data-linenumber="213"> + <span class="hits">179</span> <code class="ruby"> result = nil</code> </li> - <li class="covered" data-hits="20" data-linenumber="214"> - <span class="hits">20</span> + <li class="covered" data-hits="179" data-linenumber="214"> + <span class="hits">179</span> <code class="ruby"> begin</code> </li> - <li class="covered" data-hits="20" data-linenumber="215"> - <span class="hits">20</span> + <li class="covered" data-hits="180" data-linenumber="215"> + <span class="hits">180</span> <code class="ruby"> response = run_request(request)</code> </li> <li class="never" data-hits="" data-linenumber="216"> <code class="ruby"></code> </li> - <li class="covered" data-hits="20" data-linenumber="217"> - <span class="hits">20</span> + <li class="covered" data-hits="180" data-linenumber="217"> + <span class="hits">180</span> <code class="ruby"> return response if !build_resource || configuration[:raw_mode]</code> </li> <li class="never" data-hits="" data-linenumber="218"> <code class="ruby"></code> </li> - <li class="covered" data-hits="20" data-linenumber="219"> - <span class="hits">20</span> + <li class="covered" data-hits="175" data-linenumber="219"> + <span class="hits">175</span> <code class="ruby"> return fail_response(response) if response.status != :ok</code> </li> <li class="never" data-hits="" data-linenumber="220"> <code class="ruby"></code> </li> - <li class="covered" data-hits="20" data-linenumber="221"> - <span class="hits">20</span> + <li class="covered" data-hits="166" data-linenumber="221"> + <span class="hits">166</span> <code class="ruby"> result = do_build_resource(response)</code> </li> <li class="never" data-hits="" data-linenumber="222"> @@ -3500,43 +3710,43 @@ <code class="ruby"> rescue Contentful::RateLimitExceeded =&gt; rate_limit_error</code> </li> - <li class="missed" data-hits="0" data-linenumber="226"> + <li class="covered" data-hits="2" data-linenumber="226"> + <span class="hits">2</span> - <code class="ruby"> reset_time = rate_limit_error.response.raw[RATE_LIMIT_RESET_HEADER_KEY].to_i</code> </li> - <li class="missed" data-hits="0" data-linenumber="227"> + <li class="covered" data-hits="2" data-linenumber="227"> + <span class="hits">2</span> - <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="228"> + <li class="covered" data-hits="1" data-linenumber="228"> + <span class="hits">1</span> - <code class="ruby"> retries_left -= 1</code> </li> - <li class="missed" data-hits="0" data-linenumber="229"> + <li class="covered" data-hits="1" data-linenumber="229"> + <span class="hits">1</span> - <code class="ruby"> logger.info(retry_message(retries_left, reset_time)) if logger</code> </li> - <li class="missed" data-hits="0" data-linenumber="230"> + <li class="covered" data-hits="1" data-linenumber="230"> + <span class="hits">1</span> - <code class="ruby"> sleep(reset_time * Random.new.rand(1.0..1.2))</code> </li> - <li class="missed" data-hits="0" data-linenumber="231"> + <li class="covered" data-hits="1" data-linenumber="231"> + <span class="hits">1</span> - <code class="ruby"> retry</code> </li> <li class="never" data-hits="" data-linenumber="232"> @@ -3548,13 +3758,13 @@ <code class="ruby"></code> </li> - <li class="missed" data-hits="0" data-linenumber="234"> + <li class="covered" data-hits="1" data-linenumber="234"> + <span class="hits">1</span> - <code class="ruby"> raise</code> </li> <li class="never" data-hits="" data-linenumber="235"> @@ -3566,12 +3776,12 @@ <code class="ruby"></code> </li> - <li class="covered" data-hits="20" data-linenumber="237"> - <span class="hits">20</span> + <li class="covered" data-hits="166" data-linenumber="237"> + <span class="hits">166</span> <code class="ruby"> result</code> </li> <li class="never" data-hits="" data-linenumber="238"> @@ -3596,31 +3806,31 @@ <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="242"> + <li class="covered" data-hits="1" data-linenumber="242"> + <span class="hits">1</span> - <code class="ruby"> message = &#39;Contentful API Rate Limit Hit! &#39;</code> </li> - <li class="missed" data-hits="0" data-linenumber="243"> + <li class="covered" data-hits="1" data-linenumber="243"> + <span class="hits">1</span> - <code class="ruby"> message += &quot;Retrying - Retries left: #{retries_left}&quot;</code> </li> - <li class="missed" data-hits="0" data-linenumber="244"> + <li class="covered" data-hits="1" data-linenumber="244"> + <span class="hits">1</span> - <code class="ruby"> message += &quot;- Time until reset (seconds): #{reset_time}&quot;</code> </li> - <li class="missed" data-hits="0" data-linenumber="245"> + <li class="covered" data-hits="1" data-linenumber="245"> + <span class="hits">1</span> - <code class="ruby"> message</code> </li> <li class="never" data-hits="" data-linenumber="246"> @@ -3644,19 +3854,19 @@ <span class="hits">1</span> <code class="ruby"> def fail_response(response)</code> </li> - <li class="missed" data-hits="0" data-linenumber="250"> + <li class="covered" data-hits="9" data-linenumber="250"> + <span class="hits">9</span> - <code class="ruby"> fail response.object if configuration[:raise_errors]</code> </li> - <li class="missed" data-hits="0" data-linenumber="251"> + <li class="covered" data-hits="1" data-linenumber="251"> + <span class="hits">1</span> - <code class="ruby"> response.object</code> </li> <li class="never" data-hits="" data-linenumber="252"> @@ -3680,13 +3890,13 @@ <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="256"> + <li class="covered" data-hits="2" data-linenumber="256"> + <span class="hits">2</span> - <code class="ruby"> retries_left &gt; 0 &amp;&amp; max_wait &gt; reset_time</code> </li> <li class="never" data-hits="" data-linenumber="257"> @@ -3716,24 +3926,24 @@ <span class="hits">1</span> <code class="ruby"> def run_request(request)</code> </li> - <li class="covered" data-hits="20" data-linenumber="262"> - <span class="hits">20</span> + <li class="covered" data-hits="180" data-linenumber="262"> + <span class="hits">180</span> <code class="ruby"> url = request.absolute? ? request.url : base_url + request.url</code> </li> - <li class="covered" data-hits="20" data-linenumber="263"> - <span class="hits">20</span> + <li class="covered" data-hits="180" data-linenumber="263"> + <span class="hits">180</span> <code class="ruby"> logger.info(request: { url: url, query: request.query, header: request_headers }) if logger</code> </li> - <li class="covered" data-hits="20" data-linenumber="264"> - <span class="hits">20</span> + <li class="covered" data-hits="180" data-linenumber="264"> + <span class="hits">180</span> <code class="ruby"> Response.new(</code> </li> <li class="never" data-hits="" data-linenumber="265"> @@ -3806,12 +4016,12 @@ <span class="hits">1</span> <code class="ruby"> def do_build_resource(response)</code> </li> - <li class="covered" data-hits="20" data-linenumber="277"> - <span class="hits">20</span> + <li class="covered" data-hits="166" data-linenumber="277"> + <span class="hits">166</span> <code class="ruby"> logger.debug(response: response) if logger</code> </li> <li class="never" data-hits="" data-linenumber="278"> @@ -3830,12 +4040,12 @@ <code class="ruby"> configuration,</code> </li> - <li class="covered" data-hits="20" data-linenumber="281"> - <span class="hits">20</span> + <li class="covered" data-hits="166" data-linenumber="281"> + <span class="hits">166</span> <code class="ruby"> (response.request.query || {}).fetch(:locale, nil) == &#39;*&#39;,</code> </li> <li class="never" data-hits="" data-linenumber="282"> @@ -3848,12 +4058,12 @@ <code class="ruby"> response.request.endpoint</code> </li> - <li class="covered" data-hits="20" data-linenumber="284"> - <span class="hits">20</span> + <li class="covered" data-hits="166" data-linenumber="284"> + <span class="hits">166</span> <code class="ruby"> ).run</code> </li> <li class="never" data-hits="" data-linenumber="285"> @@ -3890,19 +4100,19 @@ <span class="hits">1</span> <code class="ruby"> def update_dynamic_entry_cache!</code> </li> - <li class="missed" data-hits="0" data-linenumber="291"> + <li class="covered" data-hits="11" data-linenumber="291"> + <span class="hits">11</span> - <code class="ruby"> content_types(limit: 1000).map do |ct|</code> </li> - <li class="missed" data-hits="0" data-linenumber="292"> + <li class="covered" data-hits="22" data-linenumber="292"> + <span class="hits">22</span> - <code class="ruby"> ContentTypeCache.cache_set(configuration[:space], ct.id, ct)</code> </li> <li class="never" data-hits="" data-linenumber="293"> @@ -3944,13 +4154,13 @@ <span class="hits">1</span> <code class="ruby"> def register_dynamic_entry(key, klass)</code> </li> - <li class="missed" data-hits="0" data-linenumber="300"> + <li class="covered" data-hits="1" data-linenumber="300"> + <span class="hits">1</span> - <code class="ruby"> ContentTypeCache.cache_set(configuration[:space], key, klass)</code> </li> <li class="never" data-hits="" data-linenumber="301"> @@ -4010,13 +4220,13 @@ <span class="hits">1</span> <code class="ruby"> def sync(options = { initial: true })</code> </li> - <li class="missed" data-hits="0" data-linenumber="311"> + <li class="covered" data-hits="40" data-linenumber="311"> + <span class="hits">40</span> - <code class="ruby"> Sync.new(self, options)</code> </li> <li class="never" data-hits="" data-linenumber="312"> @@ -4070,36 +4280,36 @@ <span class="hits">1</span> <code class="ruby"> def normalize_select!(query)</code> </li> - <li class="covered" data-hits="5" data-linenumber="321"> - <span class="hits">5</span> + <li class="covered" data-hits="55" data-linenumber="321"> + <span class="hits">55</span> <code class="ruby"> return unless query.key?(:select)</code> </li> <li class="never" data-hits="" data-linenumber="322"> <code class="ruby"></code> </li> - <li class="covered" data-hits="4" data-linenumber="323"> - <span class="hits">4</span> + <li class="covered" data-hits="9" data-linenumber="323"> + <span class="hits">9</span> <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="8" data-linenumber="324"> - <span class="hits">8</span> + <li class="covered" data-hits="19" data-linenumber="324"> + <span class="hits">19</span> <code class="ruby"> query[:select] = query[:select].reject { |p| p.start_with?(&#39;sys.&#39;) }</code> </li> - <li class="covered" data-hits="4" data-linenumber="325"> - <span class="hits">4</span> + <li class="covered" data-hits="9" data-linenumber="325"> + <span class="hits">9</span> <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="326"> @@ -4118,18 +4328,18 @@ <span class="hits">1</span> <code class="ruby"> def normalize_configuration!</code> </li> - <li class="covered" data-hits="100" data-linenumber="329"> - <span class="hits">100</span> + <li class="covered" data-hits="920" data-linenumber="329"> + <span class="hits">920</span> <code class="ruby"> [:space, :access_token, :api_url, :default_locale].each { |s| configuration[s] = configuration[s].to_s }</code> </li> - <li class="covered" data-hits="20" data-linenumber="330"> - <span class="hits">20</span> + <li class="covered" data-hits="184" data-linenumber="330"> + <span class="hits">184</span> <code class="ruby"> configuration[:authentication_mechanism] = configuration[:authentication_mechanism].to_sym</code> </li> <li class="never" data-hits="" data-linenumber="331"> @@ -4148,42 +4358,42 @@ <span class="hits">1</span> <code class="ruby"> def validate_configuration!</code> </li> - <li class="covered" data-hits="20" data-linenumber="334"> - <span class="hits">20</span> + <li class="covered" data-hits="184" data-linenumber="334"> + <span class="hits">184</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="20" data-linenumber="335"> - <span class="hits">20</span> + <li class="covered" data-hits="183" data-linenumber="335"> + <span class="hits">183</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="20" data-linenumber="336"> - <span class="hits">20</span> + <li class="covered" data-hits="182" data-linenumber="336"> + <span class="hits">182</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="20" data-linenumber="337"> - <span class="hits">20</span> + <li class="covered" data-hits="182" data-linenumber="337"> + <span class="hits">182</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="20" data-linenumber="338"> - <span class="hits">20</span> + <li class="covered" data-hits="182" data-linenumber="338"> + <span class="hits">182</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="20" data-linenumber="339"> - <span class="hits">20</span> + <li class="covered" data-hits="182" data-linenumber="339"> + <span class="hits">182</span> <code class="ruby"> fail ArgumentError, &#39;The authentication mechanism must be :header or :query_string&#39; unless [:header, :query_string].include?(</code> </li> <li class="never" data-hits="" data-linenumber="340"> @@ -4196,12 +4406,12 @@ <code class="ruby"> )</code> </li> - <li class="covered" data-hits="20" data-linenumber="342"> - <span class="hits">20</span> + <li class="covered" data-hits="182" data-linenumber="342"> + <span class="hits">182</span> <code class="ruby"> fail ArgumentError, &#39;The :dynamic_entries mode must be :auto or :manual&#39; unless [:auto, :manual].include?(</code> </li> <li class="never" data-hits="" data-linenumber="343"> @@ -4239,15 +4449,15 @@ </div> <div class="source_table" id="8fde43fb81c9f865768b3b2b9b726281963bd2e0"> <div class="header"> <h3>lib/contentful/coercions.rb</h3> - <h4><span class="red">60.87 %</span> covered</h4> + <h4><span class="green">95.65 %</span> covered</h4> <div> <b>46</b> relevant lines. - <span class="green"><b>28</b> lines covered</span> and - <span class="red"><b>18</b> lines missed.</span> + <span class="green"><b>44</b> lines covered</span> and + <span class="red"><b>2</b> lines missed.</span> </div> </div> <pre> <ol> @@ -4292,19 +4502,19 @@ <span class="hits">1</span> <code class="ruby"> def initialize(value, options = {})</code> </li> - <li class="missed" data-hits="0" data-linenumber="8"> + <li class="covered" data-hits="5809" data-linenumber="8"> + <span class="hits">5809</span> - <code class="ruby"> @value = value</code> </li> - <li class="missed" data-hits="0" data-linenumber="9"> + <li class="covered" data-hits="5809" data-linenumber="9"> + <span class="hits">5809</span> - <code class="ruby"> @options = options</code> </li> <li class="never" data-hits="" data-linenumber="10"> @@ -4328,13 +4538,13 @@ <span class="hits">1</span> <code class="ruby"> def coerce</code> </li> - <li class="missed" data-hits="0" data-linenumber="14"> + <li class="covered" data-hits="18" data-linenumber="14"> + <span class="hits">18</span> - <code class="ruby"> value</code> </li> <li class="never" data-hits="" data-linenumber="15"> @@ -4376,13 +4586,13 @@ <span class="hits">1</span> <code class="ruby"> def coerce</code> </li> - <li class="missed" data-hits="0" data-linenumber="22"> + <li class="covered" data-hits="3287" data-linenumber="22"> + <span class="hits">3287</span> - <code class="ruby"> value.to_s</code> </li> <li class="never" data-hits="" data-linenumber="23"> @@ -4460,13 +4670,13 @@ <span class="hits">1</span> <code class="ruby"> def coerce</code> </li> - <li class="missed" data-hits="0" data-linenumber="36"> + <li class="covered" data-hits="836" data-linenumber="36"> + <span class="hits">836</span> - <code class="ruby"> value.to_i</code> </li> <li class="never" data-hits="" data-linenumber="37"> @@ -4508,13 +4718,13 @@ <span class="hits">1</span> <code class="ruby"> def coerce</code> </li> - <li class="missed" data-hits="0" data-linenumber="44"> + <li class="covered" data-hits="1" data-linenumber="44"> + <span class="hits">1</span> - <code class="ruby"> value.to_f</code> </li> <li class="never" data-hits="" data-linenumber="45"> @@ -4616,13 +4826,13 @@ <span class="hits">1</span> <code class="ruby"> def coerce</code> </li> - <li class="missed" data-hits="0" data-linenumber="62"> + <li class="covered" data-hits="832" data-linenumber="62"> + <span class="hits">832</span> - <code class="ruby"> DateTime.parse(value)</code> </li> <li class="never" data-hits="" data-linenumber="63"> @@ -4664,13 +4874,13 @@ <span class="hits">1</span> <code class="ruby"> def coerce</code> </li> - <li class="missed" data-hits="0" data-linenumber="70"> + <li class="covered" data-hits="2" data-linenumber="70"> + <span class="hits">2</span> - <code class="ruby"> Location.new(value)</code> </li> <li class="never" data-hits="" data-linenumber="71"> @@ -4712,13 +4922,13 @@ <span class="hits">1</span> <code class="ruby"> def coerce</code> </li> - <li class="missed" data-hits="0" data-linenumber="78"> + <li class="covered" data-hits="2" data-linenumber="78"> + <span class="hits">2</span> - <code class="ruby"> symbolize_recursive(value)</code> </li> <li class="never" data-hits="" data-linenumber="79"> @@ -4748,19 +4958,19 @@ <span class="hits">1</span> <code class="ruby"> def symbolize_recursive(hash)</code> </li> - <li class="missed" data-hits="0" data-linenumber="84"> + <li class="covered" data-hits="6" data-linenumber="84"> + <span class="hits">6</span> - <code class="ruby"> {}.tap do |h|</code> </li> - <li class="missed" data-hits="0" data-linenumber="85"> + <li class="covered" data-hits="32" data-linenumber="85"> + <span class="hits">32</span> - <code class="ruby"> hash.each { |key, value| h[key.to_sym] = map_value(value) }</code> </li> <li class="never" data-hits="" data-linenumber="86"> @@ -4784,25 +4994,25 @@ <span class="hits">1</span> <code class="ruby"> def map_value(thing)</code> </li> - <li class="missed" data-hits="0" data-linenumber="90"> + <li class="covered" data-hits="26" data-linenumber="90"> + <span class="hits">26</span> - <code class="ruby"> case thing</code> </li> <li class="never" data-hits="" data-linenumber="91"> <code class="ruby"> when Hash</code> </li> - <li class="missed" data-hits="0" data-linenumber="92"> + <li class="covered" data-hits="4" data-linenumber="92"> + <span class="hits">4</span> - <code class="ruby"> symbolize_recursive(thing)</code> </li> <li class="never" data-hits="" data-linenumber="93"> @@ -4820,13 +5030,13 @@ <code class="ruby"> else</code> </li> - <li class="missed" data-hits="0" data-linenumber="96"> + <li class="covered" data-hits="22" data-linenumber="96"> + <span class="hits">22</span> - <code class="ruby"> thing</code> </li> <li class="never" data-hits="" data-linenumber="97"> @@ -4910,19 +5120,19 @@ <span class="hits">1</span> <code class="ruby"> def coerce</code> </li> - <li class="missed" data-hits="0" data-linenumber="111"> + <li class="covered" data-hits="831" data-linenumber="111"> + <span class="hits">831</span> - <code class="ruby"> value.map do |e|</code> </li> - <li class="missed" data-hits="0" data-linenumber="112"> + <li class="covered" data-hits="1256" data-linenumber="112"> + <span class="hits">1256</span> - <code class="ruby"> options[:coercion_class].new(e).coerce</code> </li> <li class="never" data-hits="" data-linenumber="113"> @@ -4953,15 +5163,15 @@ </div> <div class="source_table" id="74b6e144b48bce0edcd42f2c60eaac42e3d132ff"> <div class="header"> <h3>lib/contentful/content_type.rb</h3> - <h4><span class="red">58.82 %</span> covered</h4> + <h4><span class="green">94.12 %</span> covered</h4> <div> <b>17</b> relevant lines. - <span class="green"><b>10</b> lines covered</span> and - <span class="red"><b>7</b> lines missed.</span> + <span class="green"><b>16</b> lines covered</span> and + <span class="red"><b>1</b> lines missed.</span> </div> </div> <pre> <ol> @@ -5030,43 +5240,43 @@ <span class="hits">1</span> <code class="ruby"> def initialize(item, *)</code> </li> - <li class="missed" data-hits="0" data-linenumber="12"> + <li class="covered" data-hits="85" data-linenumber="12"> + <span class="hits">85</span> - <code class="ruby"> super</code> </li> <li class="never" data-hits="" data-linenumber="13"> <code class="ruby"></code> </li> - <li class="missed" data-hits="0" data-linenumber="14"> + <li class="covered" data-hits="85" data-linenumber="14"> + <span class="hits">85</span> - <code class="ruby"> @name = item.fetch(&#39;name&#39;, nil)</code> </li> - <li class="missed" data-hits="0" data-linenumber="15"> + <li class="covered" data-hits="85" data-linenumber="15"> + <span class="hits">85</span> - <code class="ruby"> @description = item.fetch(&#39;description&#39;, nil)</code> </li> - <li class="missed" data-hits="0" data-linenumber="16"> + <li class="covered" data-hits="541" data-linenumber="16"> + <span class="hits">541</span> - <code class="ruby"> @fields = item.fetch(&#39;fields&#39;, []).map { |field| Field.new(field) }</code> </li> - <li class="missed" data-hits="0" data-linenumber="17"> + <li class="covered" data-hits="85" data-linenumber="17"> + <span class="hits">85</span> - <code class="ruby"> @display_field = item.fetch(&#39;displayField&#39;, nil)</code> </li> <li class="never" data-hits="" data-linenumber="18"> @@ -5090,13 +5300,13 @@ <span class="hits">1</span> <code class="ruby"> def field_for(field_id)</code> </li> - <li class="missed" data-hits="0" data-linenumber="22"> + <li class="covered" data-hits="20116" data-linenumber="22"> + <span class="hits">20116</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"> @@ -5157,15 +5367,15 @@ </div> <div class="source_table" id="6789c252893543e0058729c78a97fac7f6f59f5f"> <div class="header"> <h3>lib/contentful/content_type_cache.rb</h3> - <h4><span class="red">66.67 %</span> covered</h4> + <h4><span class="green">100.0 %</span> covered</h4> <div> <b>12</b> relevant lines. - <span class="green"><b>8</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>0</b> lines missed.</span> </div> </div> <pre> <ol> @@ -5234,13 +5444,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="19" data-linenumber="12"> + <span class="hits">19</span> - <code class="ruby"> @cache = {}</code> </li> <li class="never" data-hits="" data-linenumber="13"> @@ -5264,13 +5474,13 @@ <span class="hits">1</span> <code class="ruby"> def self.cache_get(space_id, content_type_id)</code> </li> - <li class="missed" data-hits="0" data-linenumber="17"> + <li class="covered" data-hits="7115" data-linenumber="17"> + <span class="hits">7115</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"> @@ -5294,19 +5504,19 @@ <span class="hits">1</span> <code class="ruby"> def self.cache_set(space_id, content_type_id, klass)</code> </li> - <li class="missed" data-hits="0" data-linenumber="22"> + <li class="covered" data-hits="23" data-linenumber="22"> + <span class="hits">23</span> - <code class="ruby"> @cache[space_id] ||= {}</code> </li> - <li class="missed" data-hits="0" data-linenumber="23"> + <li class="covered" data-hits="23" data-linenumber="23"> + <span class="hits">23</span> - <code class="ruby"> @cache[space_id][content_type_id.to_sym] = klass</code> </li> <li class="never" data-hits="" data-linenumber="24"> @@ -5451,15 +5661,15 @@ </div> <div class="source_table" id="3deadfbe05ac98ecfb482512922221e2a308468e"> <div class="header"> <h3>lib/contentful/entry.rb</h3> - <h4><span class="red">37.84 %</span> covered</h4> + <h4><span class="green">97.3 %</span> covered</h4> <div> <b>37</b> relevant lines. - <span class="green"><b>14</b> lines covered</span> and - <span class="red"><b>23</b> lines missed.</span> + <span class="green"><b>36</b> lines covered</span> and + <span class="red"><b>1</b> lines missed.</span> </div> </div> <pre> <ol> @@ -5516,13 +5726,13 @@ <span class="hits">1</span> <code class="ruby"> def entry?</code> </li> - <li class="missed" data-hits="0" data-linenumber="10"> + <li class="covered" data-hits="4" data-linenumber="10"> + <span class="hits">4</span> - <code class="ruby"> true</code> </li> <li class="never" data-hits="" data-linenumber="11"> @@ -5552,55 +5762,55 @@ <span class="hits">1</span> <code class="ruby"> def coerce(field_id, value, localized, includes)</code> </li> - <li class="missed" data-hits="0" data-linenumber="16"> + <li class="covered" data-hits="9565" data-linenumber="16"> + <span class="hits">9565</span> - <code class="ruby"> return build_nested_resource(value, localized, includes) if Support.link?(value)</code> </li> - <li class="missed" data-hits="0" data-linenumber="17"> + <li class="covered" data-hits="7127" data-linenumber="17"> + <span class="hits">7127</span> - <code class="ruby"> return coerce_link_array(value, localized, includes) if Support.link_array?(value)</code> </li> <li class="never" data-hits="" data-linenumber="18"> <code class="ruby"></code> </li> - <li class="missed" data-hits="0" data-linenumber="19"> + <li class="covered" data-hits="7115" data-linenumber="19"> + <span class="hits">7115</span> - <code class="ruby"> content_type = ContentTypeCache.cache_get(sys[:space].id, sys[:content_type].id)</code> </li> <li class="never" data-hits="" data-linenumber="20"> <code class="ruby"></code> </li> - <li class="missed" data-hits="0" data-linenumber="21"> + <li class="covered" data-hits="7115" data-linenumber="21"> + <span class="hits">7115</span> - <code class="ruby"> unless content_type.nil?</code> </li> - <li class="missed" data-hits="0" data-linenumber="22"> + <li class="covered" data-hits="4556" data-linenumber="22"> + <span class="hits">4556</span> - <code class="ruby"> content_type_field = content_type.field_for(field_id)</code> </li> - <li class="missed" data-hits="0" data-linenumber="23"> + <li class="covered" data-hits="4556" data-linenumber="23"> + <span class="hits">4556</span> - <code class="ruby"> return content_type_field.coerce(value) unless content_type_field.nil?</code> </li> <li class="never" data-hits="" data-linenumber="24"> @@ -5612,13 +5822,13 @@ <code class="ruby"></code> </li> - <li class="missed" data-hits="0" data-linenumber="26"> + <li class="covered" data-hits="2562" data-linenumber="26"> + <span class="hits">2562</span> - <code class="ruby"> super(field_id, value, localized, includes)</code> </li> <li class="never" data-hits="" data-linenumber="27"> @@ -5636,25 +5846,25 @@ <span class="hits">1</span> <code class="ruby"> def coerce_link_array(value, localized, includes)</code> </li> - <li class="missed" data-hits="0" data-linenumber="30"> + <li class="covered" data-hits="12" data-linenumber="30"> + <span class="hits">12</span> - <code class="ruby"> items = []</code> </li> - <li class="missed" data-hits="0" data-linenumber="31"> + <li class="covered" data-hits="12" data-linenumber="31"> + <span class="hits">12</span> - <code class="ruby"> value.each do |link|</code> </li> - <li class="missed" data-hits="0" data-linenumber="32"> + <li class="covered" data-hits="23" data-linenumber="32"> + <span class="hits">23</span> - <code class="ruby"> items &lt;&lt; build_nested_resource(link, localized, includes)</code> </li> <li class="never" data-hits="" data-linenumber="33"> @@ -5666,13 +5876,13 @@ <code class="ruby"></code> </li> - <li class="missed" data-hits="0" data-linenumber="35"> + <li class="covered" data-hits="12" data-linenumber="35"> + <span class="hits">12</span> - <code class="ruby"> items</code> </li> <li class="never" data-hits="" data-linenumber="36"> @@ -5714,25 +5924,25 @@ <span class="hits">1</span> <code class="ruby"> def build_nested_resource(value, localized, includes)</code> </li> - <li class="missed" data-hits="0" data-linenumber="43"> + <li class="covered" data-hits="2461" data-linenumber="43"> + <span class="hits">2461</span> - <code class="ruby"> if @depth &lt; @configuration.fetch(:max_include_resolution_depth, 20)</code> </li> - <li class="missed" data-hits="0" data-linenumber="44"> + <li class="covered" data-hits="2330" data-linenumber="44"> + <span class="hits">2330</span> - <code class="ruby"> resource = Support.resource_for_link(value, includes)</code> </li> - <li class="missed" data-hits="0" data-linenumber="45"> + <li class="covered" data-hits="2330" data-linenumber="45"> + <span class="hits">2330</span> - <code class="ruby"> return resolve_include(resource, localized, includes) unless resource.nil?</code> </li> <li class="never" data-hits="" data-linenumber="46"> @@ -5744,13 +5954,13 @@ <code class="ruby"></code> </li> - <li class="missed" data-hits="0" data-linenumber="48"> + <li class="covered" data-hits="133" data-linenumber="48"> + <span class="hits">133</span> - <code class="ruby"> build_link(value)</code> </li> <li class="never" data-hits="" data-linenumber="49"> @@ -5768,13 +5978,13 @@ <span class="hits">1</span> <code class="ruby"> def resolve_include(resource, localized, includes)</code> </li> - <li class="missed" data-hits="0" data-linenumber="52"> + <li class="covered" data-hits="2328" data-linenumber="52"> + <span class="hits">2328</span> - <code class="ruby"> require_relative &#39;resource_builder&#39;</code> </li> <li class="never" data-hits="" data-linenumber="53"> @@ -5816,13 +6026,13 @@ <code class="ruby"> includes</code> </li> - <li class="missed" data-hits="0" data-linenumber="60"> + <li class="covered" data-hits="2328" data-linenumber="60"> + <span class="hits">2328</span> - <code class="ruby"> ).run</code> </li> <li class="never" data-hits="" data-linenumber="61"> @@ -5840,25 +6050,25 @@ <span class="hits">1</span> <code class="ruby"> def known_link?(name)</code> </li> - <li class="missed" data-hits="0" data-linenumber="64"> + <li class="covered" data-hits="88" data-linenumber="64"> + <span class="hits">88</span> - <code class="ruby"> field_name = name.to_sym</code> </li> - <li class="missed" data-hits="0" data-linenumber="65"> + <li class="covered" data-hits="88" data-linenumber="65"> + <span class="hits">88</span> - <code class="ruby"> return true if known_contentful_object?(fields[field_name])</code> </li> - <li class="missed" data-hits="0" data-linenumber="66"> + <li class="covered" data-hits="95" data-linenumber="66"> + <span class="hits">95</span> - <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="67"> @@ -5876,13 +6086,13 @@ <span class="hits">1</span> <code class="ruby"> def known_contentful_object?(object)</code> </li> - <li class="missed" data-hits="0" data-linenumber="70"> + <li class="covered" data-hits="113" data-linenumber="70"> + <span class="hits">113</span> - <code class="ruby"> (object.is_a?(Contentful::Entry) || object.is_a?(Contentful::Asset))</code> </li> <li class="never" data-hits="" data-linenumber="71"> @@ -5943,15 +6153,15 @@ </div> <div class="source_table" id="cbc5152ecb7610c204e9070fc026b95c5209482e"> <div class="header"> <h3>lib/contentful/error.rb</h3> - <h4><span class="red">56.0 %</span> covered</h4> + <h4><span class="green">100.0 %</span> covered</h4> <div> <b>25</b> relevant lines. - <span class="green"><b>14</b> lines covered</span> and - <span class="red"><b>11</b> lines missed.</span> + <span class="green"><b>25</b> lines covered</span> and + <span class="red"><b>0</b> lines missed.</span> </div> </div> <pre> <ol> @@ -5996,19 +6206,19 @@ <span class="hits">1</span> <code class="ruby"> def initialize(response)</code> </li> - <li class="missed" data-hits="0" data-linenumber="8"> + <li class="covered" data-hits="21" data-linenumber="8"> + <span class="hits">21</span> - <code class="ruby"> @response = response</code> </li> - <li class="missed" data-hits="0" data-linenumber="9"> + <li class="covered" data-hits="21" data-linenumber="9"> + <span class="hits">21</span> - <code class="ruby"> super @response.error_message</code> </li> <li class="never" data-hits="" data-linenumber="10"> @@ -6038,109 +6248,109 @@ <span class="hits">1</span> <code class="ruby"> def self.[](error_status_code)</code> </li> - <li class="missed" data-hits="0" data-linenumber="15"> + <li class="covered" data-hits="22" data-linenumber="15"> + <span class="hits">22</span> - <code class="ruby"> case error_status_code</code> </li> <li class="never" data-hits="" data-linenumber="16"> <code class="ruby"> when 404</code> </li> - <li class="missed" data-hits="0" data-linenumber="17"> + <li class="covered" data-hits="8" data-linenumber="17"> + <span class="hits">8</span> - <code class="ruby"> NotFound</code> </li> <li class="never" data-hits="" data-linenumber="18"> <code class="ruby"> when 400</code> </li> - <li class="missed" data-hits="0" data-linenumber="19"> + <li class="covered" data-hits="3" data-linenumber="19"> + <span class="hits">3</span> - <code class="ruby"> BadRequest</code> </li> <li class="never" data-hits="" data-linenumber="20"> <code class="ruby"> when 403</code> </li> - <li class="missed" data-hits="0" data-linenumber="21"> + <li class="covered" data-hits="1" data-linenumber="21"> + <span class="hits">1</span> - <code class="ruby"> AccessDenied</code> </li> <li class="never" data-hits="" data-linenumber="22"> <code class="ruby"> when 401</code> </li> - <li class="missed" data-hits="0" data-linenumber="23"> + <li class="covered" data-hits="2" data-linenumber="23"> + <span class="hits">2</span> - <code class="ruby"> Unauthorized</code> </li> <li class="never" data-hits="" data-linenumber="24"> <code class="ruby"> when 429</code> </li> - <li class="missed" data-hits="0" data-linenumber="25"> + <li class="covered" data-hits="2" data-linenumber="25"> + <span class="hits">2</span> - <code class="ruby"> RateLimitExceeded</code> </li> <li class="never" data-hits="" data-linenumber="26"> <code class="ruby"> when 500</code> </li> - <li class="missed" data-hits="0" data-linenumber="27"> + <li class="covered" data-hits="1" data-linenumber="27"> + <span class="hits">1</span> - <code class="ruby"> ServerError</code> </li> <li class="never" data-hits="" data-linenumber="28"> <code class="ruby"> when 503</code> </li> - <li class="missed" data-hits="0" data-linenumber="29"> + <li class="covered" data-hits="3" data-linenumber="29"> + <span class="hits">3</span> - <code class="ruby"> ServiceUnavailable</code> </li> <li class="never" data-hits="" data-linenumber="30"> <code class="ruby"> else</code> </li> - <li class="missed" data-hits="0" data-linenumber="31"> + <li class="covered" data-hits="2" data-linenumber="31"> + <span class="hits">2</span> - <code class="ruby"> Error</code> </li> <li class="never" data-hits="" data-linenumber="32"> @@ -6333,15 +6543,15 @@ </div> <div class="source_table" id="9ba655b198a686d1e42791f46c18142efab33dd5"> <div class="header"> <h3>lib/contentful/field.rb</h3> - <h4><span class="red">40.0 %</span> covered</h4> + <h4><span class="green">100.0 %</span> covered</h4> <div> <b>20</b> relevant lines. - <span class="green"><b>8</b> lines covered</span> and - <span class="red"><b>12</b> lines missed.</span> + <span class="green"><b>20</b> lines covered</span> and + <span class="red"><b>0</b> lines missed.</span> </div> </div> <pre> <ol> @@ -6494,55 +6704,55 @@ <span class="hits">1</span> <code class="ruby"> def initialize(json)</code> </li> - <li class="missed" data-hits="0" data-linenumber="26"> + <li class="covered" data-hits="524" data-linenumber="26"> + <span class="hits">524</span> - <code class="ruby"> @raw = json</code> </li> - <li class="missed" data-hits="0" data-linenumber="27"> + <li class="covered" data-hits="524" data-linenumber="27"> + <span class="hits">524</span> - <code class="ruby"> @id = json.fetch(&#39;id&#39;, nil)</code> </li> - <li class="missed" data-hits="0" data-linenumber="28"> + <li class="covered" data-hits="524" data-linenumber="28"> + <span class="hits">524</span> - <code class="ruby"> @name = json.fetch(&#39;name&#39;, nil)</code> </li> - <li class="missed" data-hits="0" data-linenumber="29"> + <li class="covered" data-hits="524" data-linenumber="29"> + <span class="hits">524</span> - <code class="ruby"> @type = json.fetch(&#39;type&#39;, nil)</code> </li> - <li class="missed" data-hits="0" data-linenumber="30"> + <li class="covered" data-hits="524" data-linenumber="30"> + <span class="hits">524</span> - <code class="ruby"> @link_type = json.fetch(&#39;linkType&#39;, nil)</code> </li> - <li class="missed" data-hits="0" data-linenumber="31"> + <li class="covered" data-hits="524" data-linenumber="31"> + <span class="hits">524</span> - <code class="ruby"> @items = json.key?(&#39;items&#39;) ? Field.new(json.fetch(&#39;items&#39;, {})) : nil</code> </li> - <li class="missed" data-hits="0" data-linenumber="32"> + <li class="covered" data-hits="524" data-linenumber="32"> + <span class="hits">524</span> - <code class="ruby"> @required = json.fetch(&#39;required&#39;, false)</code> </li> - <li class="missed" data-hits="0" data-linenumber="33"> + <li class="covered" data-hits="524" data-linenumber="33"> + <span class="hits">524</span> - <code class="ruby"> @localized = json.fetch(&#39;localized&#39;, false)</code> </li> <li class="never" data-hits="" data-linenumber="34"> @@ -6566,37 +6776,37 @@ <span class="hits">1</span> <code class="ruby"> def coerce(value)</code> </li> - <li class="missed" data-hits="0" data-linenumber="38"> + <li class="covered" data-hits="4553" data-linenumber="38"> + <span class="hits">4553</span> - <code class="ruby"> return value if type.nil?</code> </li> <li class="never" data-hits="" data-linenumber="39"> <code class="ruby"></code> </li> - <li class="missed" data-hits="0" data-linenumber="40"> + <li class="covered" data-hits="4553" data-linenumber="40"> + <span class="hits">4553</span> - <code class="ruby"> options = {}</code> </li> - <li class="missed" data-hits="0" data-linenumber="41"> + <li class="covered" data-hits="4553" data-linenumber="41"> + <span class="hits">4553</span> - <code class="ruby"> options[:coercion_class] = KNOWN_TYPES[items.type] unless items.nil?</code> </li> - <li class="missed" data-hits="0" data-linenumber="42"> + <li class="covered" data-hits="4553" data-linenumber="42"> + <span class="hits">4553</span> - <code class="ruby"> KNOWN_TYPES[type].new(value, options).coerce</code> </li> <li class="never" data-hits="" data-linenumber="43"> @@ -6621,15 +6831,15 @@ </div> <div class="source_table" id="36165910e0e9554150789dc8f1d66104492a82bc"> <div class="header"> <h3>lib/contentful/fields_resource.rb</h3> - <h4><span class="red">77.36 %</span> covered</h4> + <h4><span class="green">100.0 %</span> covered</h4> <div> <b>53</b> relevant lines. - <span class="green"><b>41</b> lines covered</span> and - <span class="red"><b>12</b> lines missed.</span> + <span class="green"><b>53</b> lines covered</span> and + <span class="red"><b>0</b> lines missed.</span> </div> </div> <pre> <ol> @@ -6674,36 +6884,36 @@ <span class="hits">1</span> <code class="ruby"> def initialize(item, _configuration, localized = false, includes = [], *)</code> </li> - <li class="covered" data-hits="26" data-linenumber="8"> - <span class="hits">26</span> + <li class="covered" data-hits="2622" data-linenumber="8"> + <span class="hits">2622</span> <code class="ruby"> super</code> </li> <li class="never" data-hits="" data-linenumber="9"> <code class="ruby"></code> </li> - <li class="covered" data-hits="26" data-linenumber="10"> - <span class="hits">26</span> + <li class="covered" data-hits="2622" data-linenumber="10"> + <span class="hits">2622</span> <code class="ruby"> @fields = hydrate_fields(localized, includes)</code> </li> <li class="never" data-hits="" data-linenumber="11"> <code class="ruby"></code> </li> - <li class="covered" data-hits="26" data-linenumber="12"> - <span class="hits">26</span> + <li class="covered" data-hits="2622" data-linenumber="12"> + <span class="hits">2622</span> <code class="ruby"> define_fields_methods!</code> </li> <li class="never" data-hits="" data-linenumber="13"> @@ -6740,18 +6950,18 @@ <span class="hits">1</span> <code class="ruby"> def fields(wanted_locale = nil)</code> </li> - <li class="covered" data-hits="45" data-linenumber="19"> - <span class="hits">45</span> + <li class="covered" data-hits="2901" data-linenumber="19"> + <span class="hits">2901</span> <code class="ruby"> wanted_locale = internal_resource_locale if wanted_locale.nil?</code> </li> - <li class="covered" data-hits="45" data-linenumber="20"> - <span class="hits">45</span> + <li class="covered" data-hits="2901" data-linenumber="20"> + <span class="hits">2901</span> <code class="ruby"> @fields.fetch(wanted_locale.to_s, {})</code> </li> <li class="never" data-hits="" data-linenumber="21"> @@ -6788,37 +6998,37 @@ <span class="hits">1</span> <code class="ruby"> def fields_with_locales</code> </li> - <li class="missed" data-hits="0" data-linenumber="27"> + <li class="covered" data-hits="5" data-linenumber="27"> + <span class="hits">5</span> - <code class="ruby"> remapped_fields = {}</code> </li> - <li class="missed" data-hits="0" data-linenumber="28"> + <li class="covered" data-hits="5" data-linenumber="28"> + <span class="hits">5</span> - <code class="ruby"> locales.each do |locale|</code> </li> - <li class="missed" data-hits="0" data-linenumber="29"> + <li class="covered" data-hits="8" data-linenumber="29"> + <span class="hits">8</span> - <code class="ruby"> fields(locale).each do |name, value|</code> </li> - <li class="missed" data-hits="0" data-linenumber="30"> + <li class="covered" data-hits="38" data-linenumber="30"> + <span class="hits">38</span> - <code class="ruby"> remapped_fields[name] ||= {}</code> </li> - <li class="missed" data-hits="0" data-linenumber="31"> + <li class="covered" data-hits="38" data-linenumber="31"> + <span class="hits">38</span> - <code class="ruby"> remapped_fields[name][locale.to_sym] = value</code> </li> <li class="never" data-hits="" data-linenumber="32"> @@ -6836,13 +7046,13 @@ <code class="ruby"></code> </li> - <li class="missed" data-hits="0" data-linenumber="35"> + <li class="covered" data-hits="5" data-linenumber="35"> + <span class="hits">5</span> - <code class="ruby"> remapped_fields</code> </li> <li class="never" data-hits="" data-linenumber="36"> @@ -6866,12 +7076,12 @@ <span class="hits">1</span> <code class="ruby"> def locales</code> </li> - <li class="covered" data-hits="1" data-linenumber="40"> - <span class="hits">1</span> + <li class="covered" data-hits="743" data-linenumber="40"> + <span class="hits">743</span> <code class="ruby"> @fields.keys</code> </li> <li class="never" data-hits="" data-linenumber="41"> @@ -6914,13 +7124,13 @@ <code class="ruby"> raw: raw_with_links</code> </li> - <li class="missed" data-hits="0" data-linenumber="48"> + <li class="covered" data-hits="15" data-linenumber="48"> + <span class="hits">15</span> - <code class="ruby"> }</code> </li> <li class="never" data-hits="" data-linenumber="49"> @@ -6944,30 +7154,30 @@ <span class="hits">1</span> <code class="ruby"> def marshal_load(raw_object)</code> </li> - <li class="covered" data-hits="1" data-linenumber="53"> - <span class="hits">1</span> + <li class="covered" data-hits="22" data-linenumber="53"> + <span class="hits">22</span> <code class="ruby"> super(raw_object)</code> </li> - <li class="covered" data-hits="2" data-linenumber="54"> - <span class="hits">2</span> + <li class="covered" data-hits="44" data-linenumber="54"> + <span class="hits">44</span> <code class="ruby"> localized = raw_object[:raw].fetch(&#39;fields&#39;, {}).all? { |_, v| v.is_a?(Hash) }</code> </li> - <li class="covered" data-hits="1" data-linenumber="55"> - <span class="hits">1</span> + <li class="covered" data-hits="22" data-linenumber="55"> + <span class="hits">22</span> <code class="ruby"> @fields = hydrate_fields(localized, [])</code> </li> - <li class="covered" data-hits="1" data-linenumber="56"> - <span class="hits">1</span> + <li class="covered" data-hits="22" data-linenumber="56"> + <span class="hits">22</span> <code class="ruby"> define_fields_methods!</code> </li> <li class="never" data-hits="" data-linenumber="57"> @@ -6992,31 +7202,31 @@ <span class="hits">1</span> <code class="ruby"> def raw_with_links</code> </li> - <li class="missed" data-hits="0" data-linenumber="61"> + <li class="covered" data-hits="103" data-linenumber="61"> + <span class="hits">103</span> - <code class="ruby"> links = fields.keys.select { |property| known_link?(property) }</code> </li> - <li class="missed" data-hits="0" data-linenumber="62"> + <li class="covered" data-hits="15" data-linenumber="62"> + <span class="hits">15</span> - <code class="ruby"> processed_raw = raw.clone</code> </li> - <li class="missed" data-hits="0" data-linenumber="63"> + <li class="covered" data-hits="15" data-linenumber="63"> + <span class="hits">15</span> - <code class="ruby"> raw[&#39;fields&#39;].each do |k, v|</code> </li> - <li class="missed" data-hits="0" data-linenumber="64"> + <li class="covered" data-hits="93" data-linenumber="64"> + <span class="hits">93</span> - <code class="ruby"> processed_raw[&#39;fields&#39;][k] = links.include?(Support.snakify(k).to_sym) ? send(Support.snakify(k)) : v</code> </li> <li class="never" data-hits="" data-linenumber="65"> @@ -7028,13 +7238,13 @@ <code class="ruby"></code> </li> - <li class="missed" data-hits="0" data-linenumber="67"> + <li class="covered" data-hits="15" data-linenumber="67"> + <span class="hits">15</span> - <code class="ruby"> processed_raw</code> </li> <li class="never" data-hits="" data-linenumber="68"> @@ -7064,24 +7274,24 @@ <span class="hits">1</span> <code class="ruby"> def define_fields_methods!</code> </li> - <li class="covered" data-hits="27" data-linenumber="73"> - <span class="hits">27</span> + <li class="covered" data-hits="2644" data-linenumber="73"> + <span class="hits">2644</span> <code class="ruby"> fields.each do |k, v|</code> </li> - <li class="covered" data-hits="41" data-linenumber="74"> - <span class="hits">41</span> + <li class="covered" data-hits="11425" data-linenumber="74"> + <span class="hits">11425</span> <code class="ruby"> define_singleton_method k do</code> </li> - <li class="covered" data-hits="2" data-linenumber="75"> - <span class="hits">2</span> + <li class="covered" data-hits="124" data-linenumber="75"> + <span class="hits">124</span> <code class="ruby"> v</code> </li> <li class="never" data-hits="" data-linenumber="76"> @@ -7112,66 +7322,66 @@ <span class="hits">1</span> <code class="ruby"> def hydrate_fields(localized, includes)</code> </li> - <li class="covered" data-hits="27" data-linenumber="81"> - <span class="hits">27</span> + <li class="covered" data-hits="2644" data-linenumber="81"> + <span class="hits">2644</span> <code class="ruby"> return {} unless raw.key?(&#39;fields&#39;)</code> </li> <li class="never" data-hits="" data-linenumber="82"> <code class="ruby"></code> </li> - <li class="covered" data-hits="22" data-linenumber="83"> - <span class="hits">22</span> + <li class="covered" data-hits="2637" data-linenumber="83"> + <span class="hits">2637</span> <code class="ruby"> locale = internal_resource_locale</code> </li> - <li class="covered" data-hits="22" data-linenumber="84"> - <span class="hits">22</span> + <li class="covered" data-hits="2637" data-linenumber="84"> + <span class="hits">2637</span> <code class="ruby"> result = { locale =&gt; {} }</code> </li> <li class="never" data-hits="" data-linenumber="85"> <code class="ruby"></code> </li> - <li class="covered" data-hits="22" data-linenumber="86"> - <span class="hits">22</span> + <li class="covered" data-hits="2637" data-linenumber="86"> + <span class="hits">2637</span> <code class="ruby"> if localized</code> </li> - <li class="covered" data-hits="1" data-linenumber="87"> - <span class="hits">1</span> + <li class="covered" data-hits="1535" data-linenumber="87"> + <span class="hits">1535</span> <code class="ruby"> raw[&#39;fields&#39;].each do |name, locales|</code> </li> - <li class="covered" data-hits="3" data-linenumber="88"> - <span class="hits">3</span> + <li class="covered" data-hits="6576" data-linenumber="88"> + <span class="hits">6576</span> <code class="ruby"> locales.each do |loc, value|</code> </li> - <li class="covered" data-hits="6" data-linenumber="89"> - <span class="hits">6</span> + <li class="covered" data-hits="7257" data-linenumber="89"> + <span class="hits">7257</span> <code class="ruby"> result[loc] ||= {}</code> </li> - <li class="covered" data-hits="6" data-linenumber="90"> - <span class="hits">6</span> + <li class="covered" data-hits="7257" data-linenumber="90"> + <span class="hits">7257</span> <code class="ruby"> result[loc][Support.snakify(name).to_sym] = coerce(</code> </li> <li class="never" data-hits="" data-linenumber="91"> @@ -7220,18 +7430,18 @@ <code class="ruby"> else</code> </li> - <li class="covered" data-hits="21" data-linenumber="99"> - <span class="hits">21</span> + <li class="covered" data-hits="1102" data-linenumber="99"> + <span class="hits">1102</span> <code class="ruby"> raw[&#39;fields&#39;].each do |name, value|</code> </li> - <li class="covered" data-hits="38" data-linenumber="100"> - <span class="hits">38</span> + <li class="covered" data-hits="4864" data-linenumber="100"> + <span class="hits">4864</span> <code class="ruby"> result[locale][Support.snakify(name).to_sym] = coerce(</code> </li> <li class="never" data-hits="" data-linenumber="101"> @@ -7280,12 +7490,12 @@ <code class="ruby"></code> </li> - <li class="covered" data-hits="22" data-linenumber="109"> - <span class="hits">22</span> + <li class="covered" data-hits="2637" data-linenumber="109"> + <span class="hits">2637</span> <code class="ruby"> result</code> </li> <li class="never" data-hits="" data-linenumber="110"> @@ -7316,12 +7526,12 @@ <span class="hits">1</span> <code class="ruby"> def coerce(_field_id, value, _localized, _includes)</code> </li> - <li class="covered" data-hits="44" data-linenumber="115"> - <span class="hits">44</span> + <li class="covered" data-hits="5118" data-linenumber="115"> + <span class="hits">5118</span> <code class="ruby"> value</code> </li> <li class="never" data-hits="" data-linenumber="116"> @@ -7388,30 +7598,30 @@ <span class="hits">1</span> <code class="ruby"> def initialize(json)</code> </li> - <li class="covered" data-hits="23" data-linenumber="6"> - <span class="hits">23</span> + <li class="covered" data-hits="1263" data-linenumber="6"> + <span class="hits">1263</span> <code class="ruby"> @file_name = json.fetch(&#39;fileName&#39;, nil)</code> </li> - <li class="covered" data-hits="23" data-linenumber="7"> - <span class="hits">23</span> + <li class="covered" data-hits="1263" data-linenumber="7"> + <span class="hits">1263</span> <code class="ruby"> @content_type = json.fetch(&#39;contentType&#39;, nil)</code> </li> - <li class="covered" data-hits="23" data-linenumber="8"> - <span class="hits">23</span> + <li class="covered" data-hits="1263" data-linenumber="8"> + <span class="hits">1263</span> <code class="ruby"> @details = json.fetch(&#39;details&#39;, nil)</code> </li> - <li class="covered" data-hits="23" data-linenumber="9"> - <span class="hits">23</span> + <li class="covered" data-hits="1263" data-linenumber="9"> + <span class="hits">1263</span> <code class="ruby"> @url = json.fetch(&#39;url&#39;, nil)</code> </li> <li class="never" data-hits="" data-linenumber="10"> @@ -7437,15 +7647,15 @@ </div> <div class="source_table" id="a7435fffe55167dfb171e417d154acb737a2a2b5"> <div class="header"> <h3>lib/contentful/link.rb</h3> - <h4><span class="red">66.67 %</span> covered</h4> + <h4><span class="green">100.0 %</span> covered</h4> <div> <b>6</b> relevant lines. - <span class="green"><b>4</b> lines covered</span> and - <span class="red"><b>2</b> lines missed.</span> + <span class="green"><b>6</b> lines covered</span> and + <span class="red"><b>0</b> lines missed.</span> </div> </div> <pre> <ol> @@ -7502,19 +7712,19 @@ <span class="hits">1</span> <code class="ruby"> def resolve(client, query = {})</code> </li> - <li class="missed" data-hits="0" data-linenumber="10"> + <li class="covered" data-hits="2" data-linenumber="10"> + <span class="hits">2</span> - <code class="ruby"> id_and_query = [(id unless link_type == &#39;Space&#39;)].compact + [query]</code> </li> - <li class="missed" data-hits="0" data-linenumber="11"> + <li class="covered" data-hits="2" data-linenumber="11"> + <span class="hits">2</span> - <code class="ruby"> client.public_send(</code> </li> <li class="never" data-hits="" data-linenumber="12"> @@ -7557,15 +7767,15 @@ </div> <div class="source_table" id="13b5b8baffdec83d683caa0a221ecacbcb43a925"> <div class="header"> <h3>lib/contentful/locale.rb</h3> - <h4><span class="red">57.14 %</span> covered</h4> + <h4><span class="green">100.0 %</span> covered</h4> <div> <b>7</b> relevant lines. - <span class="green"><b>4</b> lines covered</span> and - <span class="red"><b>3</b> lines missed.</span> + <span class="green"><b>7</b> lines covered</span> and + <span class="red"><b>0</b> lines missed.</span> </div> </div> <pre> <ol> @@ -7610,25 +7820,25 @@ <span class="hits">1</span> <code class="ruby"> def initialize(json)</code> </li> - <li class="missed" data-hits="0" data-linenumber="8"> + <li class="covered" data-hits="18" data-linenumber="8"> + <span class="hits">18</span> - <code class="ruby"> @code = json.fetch(&#39;code&#39;, nil)</code> </li> - <li class="missed" data-hits="0" data-linenumber="9"> + <li class="covered" data-hits="18" data-linenumber="9"> + <span class="hits">18</span> - <code class="ruby"> @name = json.fetch(&#39;name&#39;, nil)</code> </li> - <li class="missed" data-hits="0" data-linenumber="10"> + <li class="covered" data-hits="18" data-linenumber="10"> + <span class="hits">18</span> - <code class="ruby"> @default = json.fetch(&#39;default&#39;, false)</code> </li> <li class="never" data-hits="" data-linenumber="11"> @@ -7653,15 +7863,15 @@ </div> <div class="source_table" id="0dd59b669af6b5e388324a128c3f0134607c55ca"> <div class="header"> <h3>lib/contentful/location.rb</h3> - <h4><span class="red">75.0 %</span> covered</h4> + <h4><span class="green">100.0 %</span> covered</h4> <div> <b>8</b> relevant lines. - <span class="green"><b>6</b> lines covered</span> and - <span class="red"><b>2</b> lines missed.</span> + <span class="green"><b>8</b> lines covered</span> and + <span class="red"><b>0</b> lines missed.</span> </div> </div> <pre> <ol> @@ -7718,19 +7928,19 @@ <span class="hits">1</span> <code class="ruby"> def initialize(json)</code> </li> - <li class="missed" data-hits="0" data-linenumber="10"> + <li class="covered" data-hits="2" data-linenumber="10"> + <span class="hits">2</span> - <code class="ruby"> @lat = json.fetch(&#39;lat&#39;, nil)</code> </li> - <li class="missed" data-hits="0" data-linenumber="11"> + <li class="covered" data-hits="2" data-linenumber="11"> + <span class="hits">2</span> - <code class="ruby"> @lon = json.fetch(&#39;lon&#39;, nil)</code> </li> <li class="never" data-hits="" data-linenumber="12"> @@ -7814,72 +8024,72 @@ <span class="hits">1</span> <code class="ruby"> def initialize(client, endpoint, query = {}, id = nil)</code> </li> - <li class="covered" data-hits="20" data-linenumber="9"> - <span class="hits">20</span> + <li class="covered" data-hits="192" data-linenumber="9"> + <span class="hits">192</span> <code class="ruby"> @client = client</code> </li> - <li class="covered" data-hits="20" data-linenumber="10"> - <span class="hits">20</span> + <li class="covered" data-hits="192" data-linenumber="10"> + <span class="hits">192</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="20" data-linenumber="12"> - <span class="hits">20</span> + <li class="covered" data-hits="192" data-linenumber="12"> + <span class="hits">192</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="20" data-linenumber="14"> - <span class="hits">20</span> + <li class="covered" data-hits="192" data-linenumber="14"> + <span class="hits">192</span> <code class="ruby"> if id</code> </li> - <li class="covered" data-hits="15" data-linenumber="15"> - <span class="hits">15</span> + <li class="covered" data-hits="57" data-linenumber="15"> + <span class="hits">57</span> <code class="ruby"> @type = :single</code> </li> - <li class="covered" data-hits="15" data-linenumber="16"> - <span class="hits">15</span> + <li class="covered" data-hits="57" data-linenumber="16"> + <span class="hits">57</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="5" data-linenumber="18"> - <span class="hits">5</span> + <li class="covered" data-hits="135" data-linenumber="18"> + <span class="hits">135</span> <code class="ruby"> @type = :multi</code> </li> - <li class="covered" data-hits="5" data-linenumber="19"> - <span class="hits">5</span> + <li class="covered" data-hits="135" data-linenumber="19"> + <span class="hits">135</span> <code class="ruby"> @id = nil</code> </li> <li class="never" data-hits="" data-linenumber="20"> @@ -7910,12 +8120,12 @@ <span class="hits">1</span> <code class="ruby"> def url</code> </li> - <li class="covered" data-hits="20" data-linenumber="25"> - <span class="hits">20</span> + <li class="covered" data-hits="185" data-linenumber="25"> + <span class="hits">185</span> <code class="ruby"> &quot;#{@endpoint}#{@type == :single ? &quot;/#{id}&quot; : &#39;&#39;}&quot;</code> </li> <li class="never" data-hits="" data-linenumber="26"> @@ -7940,12 +8150,12 @@ <span class="hits">1</span> <code class="ruby"> def get</code> </li> - <li class="covered" data-hits="20" data-linenumber="30"> - <span class="hits">20</span> + <li class="covered" data-hits="172" data-linenumber="30"> + <span class="hits">172</span> <code class="ruby"> client.get(self)</code> </li> <li class="never" data-hits="" data-linenumber="31"> @@ -7970,12 +8180,12 @@ <span class="hits">1</span> <code class="ruby"> def absolute?</code> </li> - <li class="covered" data-hits="20" data-linenumber="35"> - <span class="hits">20</span> + <li class="covered" data-hits="180" data-linenumber="35"> + <span class="hits">180</span> <code class="ruby"> @endpoint.start_with?(&#39;http&#39;)</code> </li> <li class="never" data-hits="" data-linenumber="36"> @@ -8036,12 +8246,12 @@ <span class="hits">1</span> <code class="ruby"> def normalize_query(query)</code> </li> - <li class="covered" data-hits="5" data-linenumber="46"> - <span class="hits">5</span> + <li class="covered" data-hits="89" data-linenumber="46"> + <span class="hits">89</span> <code class="ruby"> Hash[</code> </li> <li class="never" data-hits="" data-linenumber="47"> @@ -8054,12 +8264,12 @@ <code class="ruby"> [</code> </li> - <li class="covered" data-hits="8" data-linenumber="49"> - <span class="hits">8</span> + <li class="covered" data-hits="117" data-linenumber="49"> + <span class="hits">117</span> <code class="ruby"> key.to_sym,</code> </li> <li class="never" data-hits="" data-linenumber="50"> @@ -8109,15 +8319,15 @@ </div> <div class="source_table" id="971e021fb82d518f591cc6d0336cab8d79ff86a8"> <div class="header"> <h3>lib/contentful/resource_builder.rb</h3> - <h4><span class="yellow">90.0 %</span> covered</h4> + <h4><span class="green">96.25 %</span> covered</h4> <div> <b>80</b> relevant lines. - <span class="green"><b>72</b> lines covered</span> and - <span class="red"><b>8</b> lines missed.</span> + <span class="green"><b>77</b> lines covered</span> and + <span class="red"><b>3</b> lines missed.</span> </div> </div> <pre> <ol> @@ -8318,60 +8528,60 @@ <span class="hits">1</span> <code class="ruby"> def initialize(json, configuration = {}, localized = false, depth = 0, endpoint = nil)</code> </li> - <li class="covered" data-hits="20" data-linenumber="34"> - <span class="hits">20</span> + <li class="covered" data-hits="2497" data-linenumber="34"> + <span class="hits">2497</span> <code class="ruby"> @json = json</code> </li> - <li class="covered" data-hits="20" data-linenumber="35"> - <span class="hits">20</span> + <li class="covered" data-hits="2497" data-linenumber="35"> + <span class="hits">2497</span> <code class="ruby"> @default_locale = configuration.fetch(:default_locale, ::Contentful::Client::DEFAULT_CONFIGURATION[:default_locale])</code> </li> - <li class="covered" data-hits="20" data-linenumber="36"> - <span class="hits">20</span> + <li class="covered" data-hits="2497" data-linenumber="36"> + <span class="hits">2497</span> <code class="ruby"> @resource_mapping = default_resource_mapping.merge(configuration.fetch(:resource_mapping, {}))</code> </li> - <li class="covered" data-hits="20" data-linenumber="37"> - <span class="hits">20</span> + <li class="covered" data-hits="2497" data-linenumber="37"> + <span class="hits">2497</span> <code class="ruby"> @entry_mapping = default_entry_mapping.merge(configuration.fetch(:entry_mapping, {}))</code> </li> - <li class="covered" data-hits="20" data-linenumber="38"> - <span class="hits">20</span> + <li class="covered" data-hits="2497" data-linenumber="38"> + <span class="hits">2497</span> <code class="ruby"> @includes_for_single = configuration.fetch(:includes_for_single, [])</code> </li> - <li class="covered" data-hits="20" data-linenumber="39"> - <span class="hits">20</span> + <li class="covered" data-hits="2497" data-linenumber="39"> + <span class="hits">2497</span> <code class="ruby"> @localized = localized</code> </li> - <li class="covered" data-hits="20" data-linenumber="40"> - <span class="hits">20</span> + <li class="covered" data-hits="2497" data-linenumber="40"> + <span class="hits">2497</span> <code class="ruby"> @depth = depth</code> </li> - <li class="covered" data-hits="20" data-linenumber="41"> - <span class="hits">20</span> + <li class="covered" data-hits="2497" data-linenumber="41"> + <span class="hits">2497</span> <code class="ruby"> @endpoint = endpoint</code> </li> - <li class="covered" data-hits="20" data-linenumber="42"> - <span class="hits">20</span> + <li class="covered" data-hits="2497" data-linenumber="42"> + <span class="hits">2497</span> <code class="ruby"> @configuration = configuration</code> </li> <li class="never" data-hits="" data-linenumber="43"> @@ -8408,18 +8618,18 @@ <span class="hits">1</span> <code class="ruby"> def run</code> </li> - <li class="covered" data-hits="20" data-linenumber="49"> - <span class="hits">20</span> + <li class="covered" data-hits="2497" data-linenumber="49"> + <span class="hits">2497</span> <code class="ruby"> return build_array if array?</code> </li> - <li class="covered" data-hits="15" data-linenumber="50"> - <span class="hits">15</span> + <li class="covered" data-hits="2384" data-linenumber="50"> + <span class="hits">2384</span> <code class="ruby"> build_single</code> </li> <li class="never" data-hits="" data-linenumber="51"> @@ -8462,42 +8672,42 @@ <span class="hits">1</span> <code class="ruby"> def build_array</code> </li> - <li class="covered" data-hits="5" data-linenumber="58"> - <span class="hits">5</span> + <li class="covered" data-hits="113" data-linenumber="58"> + <span class="hits">113</span> <code class="ruby"> includes = fetch_includes</code> </li> - <li class="covered" data-hits="5" data-linenumber="59"> - <span class="hits">5</span> + <li class="covered" data-hits="113" data-linenumber="59"> + <span class="hits">113</span> <code class="ruby"> result = json[&#39;items&#39;].map do |item|</code> </li> - <li class="covered" data-hits="11" data-linenumber="60"> - <span class="hits">11</span> + <li class="covered" data-hits="367" data-linenumber="60"> + <span class="hits">367</span> <code class="ruby"> build_item(item, includes)</code> </li> <li class="never" data-hits="" data-linenumber="61"> <code class="ruby"> end</code> </li> - <li class="covered" data-hits="5" data-linenumber="62"> - <span class="hits">5</span> + <li class="covered" data-hits="113" data-linenumber="62"> + <span class="hits">113</span> <code class="ruby"> array_class = fetch_array_class</code> </li> - <li class="covered" data-hits="5" data-linenumber="63"> - <span class="hits">5</span> + <li class="covered" data-hits="113" data-linenumber="63"> + <span class="hits">113</span> <code class="ruby"> array_class.new(json.dup.merge(&#39;items&#39; =&gt; result), default_locale, endpoint)</code> </li> <li class="never" data-hits="" data-linenumber="64"> @@ -8516,18 +8726,18 @@ <span class="hits">1</span> <code class="ruby"> def build_single</code> </li> - <li class="covered" data-hits="15" data-linenumber="67"> - <span class="hits">15</span> + <li class="covered" data-hits="2384" data-linenumber="67"> + <span class="hits">2384</span> <code class="ruby"> includes = @includes_for_single</code> </li> - <li class="covered" data-hits="15" data-linenumber="68"> - <span class="hits">15</span> + <li class="covered" data-hits="2384" data-linenumber="68"> + <span class="hits">2384</span> <code class="ruby"> build_item(json, includes)</code> </li> <li class="never" data-hits="" data-linenumber="69"> @@ -8546,42 +8756,42 @@ <span class="hits">1</span> <code class="ruby"> def build_item(item, includes = [])</code> </li> - <li class="covered" data-hits="26" data-linenumber="72"> - <span class="hits">26</span> + <li class="covered" data-hits="2751" data-linenumber="72"> + <span class="hits">2751</span> <code class="ruby"> buildables = %w(Entry Asset ContentType Space DeletedEntry DeletedAsset)</code> </li> - <li class="covered" data-hits="78" data-linenumber="73"> - <span class="hits">78</span> + <li class="covered" data-hits="7128" data-linenumber="73"> + <span class="hits">7128</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="26" data-linenumber="74"> - <span class="hits">26</span> + <li class="covered" data-hits="2751" data-linenumber="74"> + <span class="hits">2751</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="26" data-linenumber="75"> - <span class="hits">26</span> + <li class="covered" data-hits="2751" data-linenumber="75"> + <span class="hits">2751</span> <code class="ruby"> item_class = resource_class(item)</code> </li> <li class="never" data-hits="" data-linenumber="76"> <code class="ruby"></code> </li> - <li class="covered" data-hits="26" data-linenumber="77"> - <span class="hits">26</span> + <li class="covered" data-hits="2751" data-linenumber="77"> + <span class="hits">2751</span> <code class="ruby"> item_class.new(item, @configuration, localized?, includes, depth)</code> </li> <li class="never" data-hits="" data-linenumber="78"> @@ -8600,31 +8810,31 @@ <span class="hits">1</span> <code class="ruby"> def fetch_includes</code> </li> - <li class="covered" data-hits="5" data-linenumber="81"> - <span class="hits">5</span> + <li class="covered" data-hits="113" data-linenumber="81"> + <span class="hits">113</span> <code class="ruby"> includes = json[&#39;items&#39;].dup</code> </li> - <li class="covered" data-hits="5" data-linenumber="82"> - <span class="hits">5</span> + <li class="covered" data-hits="113" data-linenumber="82"> + <span class="hits">113</span> <code class="ruby"> %w(Entry Asset).each do |type|</code> </li> - <li class="covered" data-hits="10" data-linenumber="83"> - <span class="hits">10</span> + <li class="covered" data-hits="226" data-linenumber="83"> + <span class="hits">226</span> <code class="ruby"> if json.fetch(&#39;includes&#39;, {}).key?(type)</code> </li> - <li class="missed" data-hits="0" data-linenumber="84"> + <li class="covered" data-hits="62" data-linenumber="84"> + <span class="hits">62</span> - <code class="ruby"> includes.concat(json[&#39;includes&#39;].fetch(type, []))</code> </li> <li class="never" data-hits="" data-linenumber="85"> @@ -8636,12 +8846,12 @@ <code class="ruby"> end</code> </li> - <li class="covered" data-hits="5" data-linenumber="87"> - <span class="hits">5</span> + <li class="covered" data-hits="113" data-linenumber="87"> + <span class="hits">113</span> <code class="ruby"> includes</code> </li> <li class="never" data-hits="" data-linenumber="88"> @@ -8660,19 +8870,19 @@ <span class="hits">1</span> <code class="ruby"> def resource_class(item)</code> </li> - <li class="covered" data-hits="26" data-linenumber="91"> - <span class="hits">26</span> + <li class="covered" data-hits="2751" data-linenumber="91"> + <span class="hits">2751</span> <code class="ruby"> return fetch_custom_resource_class(item) if %w(Entry Asset).include?(item[&#39;sys&#39;][&#39;type&#39;])</code> </li> - <li class="missed" data-hits="0" data-linenumber="92"> + <li class="covered" data-hits="129" data-linenumber="92"> + <span class="hits">129</span> - <code class="ruby"> resource_mapping[item[&#39;sys&#39;][&#39;type&#39;]]</code> </li> <li class="never" data-hits="" data-linenumber="93"> @@ -8690,54 +8900,54 @@ <span class="hits">1</span> <code class="ruby"> def fetch_custom_resource_class(item)</code> </li> - <li class="covered" data-hits="26" data-linenumber="96"> - <span class="hits">26</span> + <li class="covered" data-hits="2622" data-linenumber="96"> + <span class="hits">2622</span> <code class="ruby"> case item[&#39;sys&#39;][&#39;type&#39;]</code> </li> <li class="never" data-hits="" data-linenumber="97"> <code class="ruby"> when &#39;Entry&#39;</code> </li> - <li class="missed" data-hits="0" data-linenumber="98"> + <li class="covered" data-hits="1363" data-linenumber="98"> + <span class="hits">1363</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="missed" data-hits="0" data-linenumber="99"> + <li class="covered" data-hits="1363" data-linenumber="99"> + <span class="hits">1363</span> - <code class="ruby"> return resource_class unless resource_class.nil?</code> </li> <li class="never" data-hits="" data-linenumber="100"> <code class="ruby"></code> </li> - <li class="missed" data-hits="0" data-linenumber="101"> + <li class="covered" data-hits="1342" data-linenumber="101"> + <span class="hits">1342</span> - <code class="ruby"> return fetch_custom_resource_mapping(item, &#39;Entry&#39;, Entry)</code> </li> <li class="never" data-hits="" data-linenumber="102"> <code class="ruby"> when &#39;Asset&#39;</code> </li> - <li class="covered" data-hits="26" data-linenumber="103"> - <span class="hits">26</span> + <li class="covered" data-hits="1259" data-linenumber="103"> + <span class="hits">1259</span> <code class="ruby"> return fetch_custom_resource_mapping(item, &#39;Asset&#39;, Asset)</code> </li> <li class="never" data-hits="" data-linenumber="104"> @@ -8762,30 +8972,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="26" data-linenumber="108"> - <span class="hits">26</span> + <li class="covered" data-hits="2601" data-linenumber="108"> + <span class="hits">2601</span> <code class="ruby"> resources = resource_mapping[type]</code> </li> - <li class="covered" data-hits="26" data-linenumber="109"> - <span class="hits">26</span> + <li class="covered" data-hits="2601" data-linenumber="109"> + <span class="hits">2601</span> <code class="ruby"> return default_class if resources.nil?</code> </li> <li class="never" data-hits="" data-linenumber="110"> <code class="ruby"></code> </li> - <li class="covered" data-hits="26" data-linenumber="111"> - <span class="hits">26</span> + <li class="covered" data-hits="2601" data-linenumber="111"> + <span class="hits">2601</span> <code class="ruby"> return resources if resources.is_a?(Class)</code> </li> <li class="missed" data-hits="0" data-linenumber="112"> @@ -8822,18 +9032,18 @@ <span class="hits">1</span> <code class="ruby"> def fetch_array_class</code> </li> - <li class="covered" data-hits="5" data-linenumber="118"> - <span class="hits">5</span> + <li class="covered" data-hits="113" data-linenumber="118"> + <span class="hits">113</span> <code class="ruby"> return SyncPage if sync?</code> </li> - <li class="covered" data-hits="5" data-linenumber="119"> - <span class="hits">5</span> + <li class="covered" data-hits="72" data-linenumber="119"> + <span class="hits">72</span> <code class="ruby"> ::Contentful::Array</code> </li> <li class="never" data-hits="" data-linenumber="120"> @@ -8852,24 +9062,24 @@ <span class="hits">1</span> <code class="ruby"> def localized?</code> </li> - <li class="covered" data-hits="26" data-linenumber="123"> - <span class="hits">26</span> + <li class="covered" data-hits="2751" data-linenumber="123"> + <span class="hits">2751</span> <code class="ruby"> return true if @localized</code> </li> - <li class="covered" data-hits="25" data-linenumber="124"> - <span class="hits">25</span> + <li class="covered" data-hits="1426" data-linenumber="124"> + <span class="hits">1426</span> <code class="ruby"> return true if array? &amp;&amp; sync?</code> </li> - <li class="covered" data-hits="25" data-linenumber="125"> - <span class="hits">25</span> + <li class="covered" data-hits="1181" data-linenumber="125"> + <span class="hits">1181</span> <code class="ruby"> false</code> </li> <li class="never" data-hits="" data-linenumber="126"> @@ -8888,12 +9098,12 @@ <span class="hits">1</span> <code class="ruby"> def array?</code> </li> - <li class="covered" data-hits="45" data-linenumber="129"> - <span class="hits">45</span> + <li class="covered" data-hits="3923" data-linenumber="129"> + <span class="hits">3923</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="130"> @@ -8912,12 +9122,12 @@ <span class="hits">1</span> <code class="ruby"> def sync?</code> </li> - <li class="covered" data-hits="15" data-linenumber="133"> - <span class="hits">15</span> + <li class="covered" data-hits="475" data-linenumber="133"> + <span class="hits">475</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="134"> @@ -8942,12 +9152,12 @@ <span class="hits">1</span> <code class="ruby"> def default_resource_mapping</code> </li> - <li class="covered" data-hits="20" data-linenumber="138"> - <span class="hits">20</span> + <li class="covered" data-hits="2497" data-linenumber="138"> + <span class="hits">2497</span> <code class="ruby"> DEFAULT_RESOURCE_MAPPING.dup</code> </li> <li class="never" data-hits="" data-linenumber="139"> @@ -8972,12 +9182,12 @@ <span class="hits">1</span> <code class="ruby"> def default_entry_mapping</code> </li> - <li class="covered" data-hits="20" data-linenumber="143"> - <span class="hits">20</span> + <li class="covered" data-hits="2497" data-linenumber="143"> + <span class="hits">2497</span> <code class="ruby"> DEFAULT_ENTRY_MAPPING.dup</code> </li> <li class="never" data-hits="" data-linenumber="144"> @@ -9003,15 +9213,15 @@ </div> <div class="source_table" id="03bd291e263266c2834d3827ec2a81e537b58637"> <div class="header"> <h3>lib/contentful/response.rb</h3> - <h4><span class="red">60.0 %</span> covered</h4> + <h4><span class="green">100.0 %</span> covered</h4> <div> <b>55</b> relevant lines. - <span class="green"><b>33</b> lines covered</span> and - <span class="red"><b>22</b> lines missed.</span> + <span class="green"><b>55</b> lines covered</span> and + <span class="red"><b>0</b> lines missed.</span> </div> </div> <pre> <ol> @@ -9170,91 +9380,91 @@ <span class="hits">1</span> <code class="ruby"> def initialize(raw, request = nil)</code> </li> - <li class="covered" data-hits="20" data-linenumber="27"> - <span class="hits">20</span> + <li class="covered" data-hits="196" data-linenumber="27"> + <span class="hits">196</span> <code class="ruby"> @raw = raw</code> </li> - <li class="covered" data-hits="20" data-linenumber="28"> - <span class="hits">20</span> + <li class="covered" data-hits="196" data-linenumber="28"> + <span class="hits">196</span> <code class="ruby"> @request = request</code> </li> - <li class="covered" data-hits="20" data-linenumber="29"> - <span class="hits">20</span> + <li class="covered" data-hits="196" data-linenumber="29"> + <span class="hits">196</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="20" data-linenumber="31"> - <span class="hits">20</span> + <li class="covered" data-hits="196" data-linenumber="31"> + <span class="hits">196</span> <code class="ruby"> if valid_http_response?</code> </li> - <li class="covered" data-hits="20" data-linenumber="32"> - <span class="hits">20</span> + <li class="covered" data-hits="181" data-linenumber="32"> + <span class="hits">181</span> <code class="ruby"> parse_json!</code> </li> - <li class="missed" data-hits="0" data-linenumber="33"> + <li class="covered" data-hits="15" data-linenumber="33"> + <span class="hits">15</span> - <code class="ruby"> elsif no_content_response?</code> </li> - <li class="missed" data-hits="0" data-linenumber="34"> + <li class="covered" data-hits="1" data-linenumber="34"> + <span class="hits">1</span> - <code class="ruby"> @status = :no_content</code> </li> - <li class="missed" data-hits="0" data-linenumber="35"> + <li class="covered" data-hits="14" data-linenumber="35"> + <span class="hits">14</span> - <code class="ruby"> elsif invalid_response?</code> </li> - <li class="missed" data-hits="0" data-linenumber="36"> + <li class="covered" data-hits="9" data-linenumber="36"> + <span class="hits">9</span> - <code class="ruby"> parse_contentful_error</code> </li> - <li class="missed" data-hits="0" data-linenumber="37"> + <li class="covered" data-hits="5" data-linenumber="37"> + <span class="hits">5</span> - <code class="ruby"> elsif service_unavailable_response?</code> </li> - <li class="missed" data-hits="0" data-linenumber="38"> + <li class="covered" data-hits="2" data-linenumber="38"> + <span class="hits">2</span> - <code class="ruby"> service_unavailable_error</code> </li> <li class="never" data-hits="" data-linenumber="39"> <code class="ruby"> else</code> </li> - <li class="missed" data-hits="0" data-linenumber="40"> + <li class="covered" data-hits="3" data-linenumber="40"> + <span class="hits">3</span> - <code class="ruby"> parse_http_error</code> </li> <li class="never" data-hits="" data-linenumber="41"> @@ -9290,13 +9500,13 @@ <span class="hits">1</span> <code class="ruby"> def error_object?</code> </li> - <li class="missed" data-hits="0" data-linenumber="47"> + <li class="covered" data-hits="9" data-linenumber="47"> + <span class="hits">9</span> - <code class="ruby"> object[&#39;sys&#39;][&#39;type&#39;] == &#39;Error&#39;</code> </li> <li class="never" data-hits="" data-linenumber="48"> @@ -9314,25 +9524,25 @@ <span class="hits">1</span> <code class="ruby"> def parse_contentful_error</code> </li> - <li class="missed" data-hits="0" data-linenumber="51"> + <li class="covered" data-hits="9" data-linenumber="51"> + <span class="hits">9</span> - <code class="ruby"> @object = load_json</code> </li> - <li class="missed" data-hits="0" data-linenumber="52"> + <li class="covered" data-hits="9" data-linenumber="52"> + <span class="hits">9</span> - <code class="ruby"> @error_message = object[&#39;message&#39;] if error_object?</code> </li> - <li class="missed" data-hits="0" data-linenumber="53"> + <li class="covered" data-hits="9" data-linenumber="53"> + <span class="hits">9</span> - <code class="ruby"> parse_http_error</code> </li> <li class="never" data-hits="" data-linenumber="54"> @@ -9350,12 +9560,12 @@ <span class="hits">1</span> <code class="ruby"> def valid_http_response?</code> </li> - <li class="covered" data-hits="20" data-linenumber="57"> - <span class="hits">20</span> + <li class="covered" data-hits="196" data-linenumber="57"> + <span class="hits">196</span> <code class="ruby"> [200, 201].include?(raw.status)</code> </li> <li class="never" data-hits="" data-linenumber="58"> @@ -9374,13 +9584,13 @@ <span class="hits">1</span> <code class="ruby"> def service_unavailable_response?</code> </li> - <li class="missed" data-hits="0" data-linenumber="61"> + <li class="covered" data-hits="5" data-linenumber="61"> + <span class="hits">5</span> - <code class="ruby"> @raw.status == 503</code> </li> <li class="never" data-hits="" data-linenumber="62"> @@ -9398,25 +9608,25 @@ <span class="hits">1</span> <code class="ruby"> def service_unavailable_error</code> </li> - <li class="missed" data-hits="0" data-linenumber="65"> + <li class="covered" data-hits="2" data-linenumber="65"> + <span class="hits">2</span> - <code class="ruby"> @status = :error</code> </li> - <li class="missed" data-hits="0" data-linenumber="66"> + <li class="covered" data-hits="2" data-linenumber="66"> + <span class="hits">2</span> - <code class="ruby"> @error_message = &#39;503 - Service Unavailable&#39;</code> </li> - <li class="missed" data-hits="0" data-linenumber="67"> + <li class="covered" data-hits="2" data-linenumber="67"> + <span class="hits">2</span> - <code class="ruby"> @object = Error[@raw.status].new(self)</code> </li> <li class="never" data-hits="" data-linenumber="68"> @@ -9434,19 +9644,19 @@ <span class="hits">1</span> <code class="ruby"> def parse_http_error</code> </li> - <li class="missed" data-hits="0" data-linenumber="71"> + <li class="covered" data-hits="12" data-linenumber="71"> + <span class="hits">12</span> - <code class="ruby"> @status = :error</code> </li> - <li class="missed" data-hits="0" data-linenumber="72"> + <li class="covered" data-hits="12" data-linenumber="72"> + <span class="hits">12</span> - <code class="ruby"> @object = Error[raw.status].new(self)</code> </li> <li class="never" data-hits="" data-linenumber="73"> @@ -9464,13 +9674,13 @@ <span class="hits">1</span> <code class="ruby"> def invalid_response?</code> </li> - <li class="missed" data-hits="0" data-linenumber="76"> + <li class="covered" data-hits="14" data-linenumber="76"> + <span class="hits">14</span> - <code class="ruby"> [400, 404].include?(raw.status)</code> </li> <li class="never" data-hits="" data-linenumber="77"> @@ -9488,13 +9698,13 @@ <span class="hits">1</span> <code class="ruby"> def no_content_response?</code> </li> - <li class="missed" data-hits="0" data-linenumber="80"> + <li class="covered" data-hits="15" data-linenumber="80"> + <span class="hits">15</span> - <code class="ruby"> raw.to_s == &#39;&#39; &amp;&amp; raw.status == 204</code> </li> <li class="never" data-hits="" data-linenumber="81"> @@ -9512,37 +9722,37 @@ <span class="hits">1</span> <code class="ruby"> def parse_json!</code> </li> - <li class="covered" data-hits="20" data-linenumber="84"> - <span class="hits">20</span> + <li class="covered" data-hits="181" data-linenumber="84"> + <span class="hits">181</span> <code class="ruby"> @object = load_json</code> </li> <li class="never" data-hits="" data-linenumber="85"> <code class="ruby"> rescue MultiJson::LoadError =&gt; error</code> </li> - <li class="missed" data-hits="0" data-linenumber="86"> + <li class="covered" data-hits="3" data-linenumber="86"> + <span class="hits">3</span> - <code class="ruby"> @error_message = error.message</code> </li> - <li class="missed" data-hits="0" data-linenumber="87"> + <li class="covered" data-hits="3" data-linenumber="87"> + <span class="hits">3</span> - <code class="ruby"> @status = :error</code> </li> - <li class="missed" data-hits="0" data-linenumber="88"> + <li class="covered" data-hits="3" data-linenumber="88"> + <span class="hits">3</span> - <code class="ruby"> UnparsableJson.new(self)</code> </li> <li class="never" data-hits="" data-linenumber="89"> @@ -9560,12 +9770,12 @@ <span class="hits">1</span> <code class="ruby"> def load_json</code> </li> - <li class="covered" data-hits="20" data-linenumber="92"> - <span class="hits">20</span> + <li class="covered" data-hits="190" data-linenumber="92"> + <span class="hits">190</span> <code class="ruby"> MultiJson.load(unzip_response(raw))</code> </li> <li class="never" data-hits="" data-linenumber="93"> @@ -9584,48 +9794,48 @@ <span class="hits">1</span> <code class="ruby"> def unzip_response(response)</code> </li> - <li class="covered" data-hits="20" data-linenumber="96"> - <span class="hits">20</span> + <li class="covered" data-hits="190" data-linenumber="96"> + <span class="hits">190</span> <code class="ruby"> parsed_response = response.to_s</code> </li> - <li class="covered" data-hits="20" data-linenumber="97"> - <span class="hits">20</span> + <li class="covered" data-hits="190" data-linenumber="97"> + <span class="hits">190</span> <code class="ruby"> if response.headers[&#39;Content-Encoding&#39;].eql?(&#39;gzip&#39;)</code> </li> - <li class="covered" data-hits="3" data-linenumber="98"> - <span class="hits">3</span> + <li class="covered" data-hits="45" data-linenumber="98"> + <span class="hits">45</span> <code class="ruby"> sio = StringIO.new(parsed_response)</code> </li> - <li class="covered" data-hits="3" data-linenumber="99"> - <span class="hits">3</span> + <li class="covered" data-hits="45" data-linenumber="99"> + <span class="hits">45</span> <code class="ruby"> gz = Zlib::GzipReader.new(sio)</code> </li> - <li class="covered" data-hits="3" data-linenumber="100"> - <span class="hits">3</span> + <li class="covered" data-hits="45" data-linenumber="100"> + <span class="hits">45</span> <code class="ruby"> gz.read</code> </li> <li class="never" data-hits="" data-linenumber="101"> <code class="ruby"> else</code> </li> - <li class="covered" data-hits="17" data-linenumber="102"> - <span class="hits">17</span> + <li class="covered" data-hits="145" data-linenumber="102"> + <span class="hits">145</span> <code class="ruby"> parsed_response</code> </li> <li class="never" data-hits="" data-linenumber="103"> @@ -9657,15 +9867,15 @@ </div> <div class="source_table" id="643a7de71248aa36e89b67873db1851ac1f94277"> <div class="header"> <h3>lib/contentful/space.rb</h3> - <h4><span class="red">58.33 %</span> covered</h4> + <h4><span class="yellow">83.33 %</span> covered</h4> <div> <b>12</b> relevant lines. - <span class="green"><b>7</b> lines covered</span> and - <span class="red"><b>5</b> lines missed.</span> + <span class="green"><b>10</b> lines covered</span> and + <span class="red"><b>2</b> lines missed.</span> </div> </div> <pre> <ol> @@ -9728,31 +9938,31 @@ <span class="hits">1</span> <code class="ruby"> def initialize(item, *)</code> </li> - <li class="missed" data-hits="0" data-linenumber="11"> + <li class="covered" data-hits="9" data-linenumber="11"> + <span class="hits">9</span> - <code class="ruby"> super</code> </li> <li class="never" data-hits="" data-linenumber="12"> <code class="ruby"></code> </li> - <li class="missed" data-hits="0" data-linenumber="13"> + <li class="covered" data-hits="9" data-linenumber="13"> + <span class="hits">9</span> - <code class="ruby"> @name = item.fetch(&#39;name&#39;, nil)</code> </li> - <li class="missed" data-hits="0" data-linenumber="14"> + <li class="covered" data-hits="27" data-linenumber="14"> + <span class="hits">27</span> - <code class="ruby"> @locales = item.fetch(&#39;locales&#39;, []).map { |locale| Locale.new(locale) }</code> </li> <li class="never" data-hits="" data-linenumber="15"> @@ -9819,15 +10029,15 @@ </div> <div class="source_table" id="9a28747b996dd5978a9815c1df4f61d2b5a04b3a"> <div class="header"> <h3>lib/contentful/support.rb</h3> - <h4><span class="red">61.54 %</span> covered</h4> + <h4><span class="green">100.0 %</span> covered</h4> <div> <b>13</b> relevant lines. - <span class="green"><b>8</b> lines covered</span> and - <span class="red"><b>5</b> lines missed.</span> + <span class="green"><b>13</b> lines covered</span> and + <span class="red"><b>0</b> lines missed.</span> </div> </div> <pre> <ol> @@ -9920,12 +10130,12 @@ <code class="ruby"> .tr(&#39;-&#39;, &#39;_&#39;)</code> </li> - <li class="covered" data-hits="362" data-linenumber="16"> - <span class="hits">362</span> + <li class="covered" data-hits="87540" data-linenumber="16"> + <span class="hits">87540</span> <code class="ruby"> .downcase</code> </li> <li class="never" data-hits="" data-linenumber="17"> @@ -9980,13 +10190,13 @@ <code class="ruby"> value.is_a?(::Hash) &amp;&amp;</code> </li> - <li class="missed" data-hits="0" data-linenumber="26"> + <li class="covered" data-hits="10815" data-linenumber="26"> + <span class="hits">10815</span> - <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="27"> @@ -10034,25 +10244,25 @@ <span class="hits">1</span> <code class="ruby"> def link_array?(value)</code> </li> - <li class="missed" data-hits="0" data-linenumber="35"> + <li class="covered" data-hits="7127" data-linenumber="35"> + <span class="hits">7127</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="36"> <code class="ruby"></code> </li> - <li class="missed" data-hits="0" data-linenumber="37"> + <li class="covered" data-hits="5877" data-linenumber="37"> + <span class="hits">5877</span> - <code class="ruby"> false</code> </li> <li class="never" data-hits="" data-linenumber="38"> @@ -10106,25 +10316,25 @@ <span class="hits">1</span> <code class="ruby"> def resource_for_link(link, includes)</code> </li> - <li class="missed" data-hits="0" data-linenumber="47"> + <li class="covered" data-hits="2330" data-linenumber="47"> + <span class="hits">2330</span> - <code class="ruby"> includes.detect do |i|</code> </li> <li class="never" data-hits="" data-linenumber="48"> <code class="ruby"> i[&#39;sys&#39;][&#39;id&#39;] == link[&#39;sys&#39;][&#39;id&#39;] &amp;&amp;</code> </li> - <li class="missed" data-hits="0" data-linenumber="49"> + <li class="covered" data-hits="16010" data-linenumber="49"> + <span class="hits">16010</span> - <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="50"> @@ -10161,15 +10371,15 @@ </div> <div class="source_table" id="08e9fc511f96d9ce97c068217018817481b30ee0"> <div class="header"> <h3>lib/contentful/sync.rb</h3> - <h4><span class="red">44.74 %</span> covered</h4> + <h4><span class="green">100.0 %</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>38</b> lines covered</span> and + <span class="red"><b>0</b> lines missed.</span> </div> </div> <pre> <ol> @@ -10244,25 +10454,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="40" data-linenumber="13"> + <span class="hits">40</span> - <code class="ruby"> @client = client</code> </li> - <li class="missed" data-hits="0" data-linenumber="14"> + <li class="covered" data-hits="40" data-linenumber="14"> + <span class="hits">40</span> - <code class="ruby"> @next_sync_url = nil</code> </li> - <li class="missed" data-hits="0" data-linenumber="15"> + <li class="covered" data-hits="40" data-linenumber="15"> + <span class="hits">40</span> - <code class="ruby"> @first_page_options_or_url = options_or_url</code> </li> <li class="never" data-hits="" data-linenumber="16"> @@ -10310,43 +10520,43 @@ <span class="hits">1</span> <code class="ruby"> def each_page</code> </li> - <li class="missed" data-hits="0" data-linenumber="24"> + <li class="covered" data-hits="2" data-linenumber="24"> + <span class="hits">2</span> - <code class="ruby"> page = first_page</code> </li> - <li class="missed" data-hits="0" data-linenumber="25"> + <li class="covered" data-hits="2" data-linenumber="25"> + <span class="hits">2</span> - <code class="ruby"> yield page if block_given?</code> </li> <li class="never" data-hits="" data-linenumber="26"> <code class="ruby"></code> </li> - <li class="missed" data-hits="0" data-linenumber="27"> + <li class="covered" data-hits="2" data-linenumber="27"> + <span class="hits">2</span> - <code class="ruby"> until completed?</code> </li> - <li class="missed" data-hits="0" data-linenumber="28"> + <li class="covered" data-hits="2" data-linenumber="28"> + <span class="hits">2</span> - <code class="ruby"> page = page.next_page</code> </li> - <li class="missed" data-hits="0" data-linenumber="29"> + <li class="covered" data-hits="2" data-linenumber="29"> + <span class="hits">2</span> - <code class="ruby"> yield page if block_given?</code> </li> <li class="never" data-hits="" data-linenumber="30"> @@ -10388,13 +10598,13 @@ <span class="hits">1</span> <code class="ruby"> def first_page</code> </li> - <li class="missed" data-hits="0" data-linenumber="37"> + <li class="covered" data-hits="28" data-linenumber="37"> + <span class="hits">28</span> - <code class="ruby"> get(@first_page_options_or_url)</code> </li> <li class="never" data-hits="" data-linenumber="38"> @@ -10436,13 +10646,13 @@ <code class="ruby"> # rubocop:disable Style/DoubleNegation</code> </li> - <li class="missed" data-hits="0" data-linenumber="45"> + <li class="covered" data-hits="4" data-linenumber="45"> + <span class="hits">4</span> - <code class="ruby"> !!next_sync_url</code> </li> <li class="never" data-hits="" data-linenumber="46"> @@ -10484,19 +10694,19 @@ <span class="hits">1</span> <code class="ruby"> def each_item(&amp;block)</code> </li> - <li class="missed" data-hits="0" data-linenumber="53"> + <li class="covered" data-hits="1" data-linenumber="53"> + <span class="hits">1</span> - <code class="ruby"> each_page do |page|</code> </li> - <li class="missed" data-hits="0" data-linenumber="54"> + <li class="covered" data-hits="2" data-linenumber="54"> + <span class="hits">2</span> - <code class="ruby"> page.each_item(&amp;block)</code> </li> <li class="never" data-hits="" data-linenumber="55"> @@ -10526,55 +10736,55 @@ <span class="hits">1</span> <code class="ruby"> def get(options_or_url)</code> </li> - <li class="missed" data-hits="0" data-linenumber="60"> + <li class="covered" data-hits="44" data-linenumber="60"> + <span class="hits">44</span> - <code class="ruby"> page = fetch_page(options_or_url)</code> </li> <li class="never" data-hits="" data-linenumber="61"> <code class="ruby"></code> </li> - <li class="missed" data-hits="0" data-linenumber="62"> + <li class="covered" data-hits="44" data-linenumber="62"> + <span class="hits">44</span> - <code class="ruby"> return page if @client.configuration[:raw_mode]</code> </li> <li class="never" data-hits="" data-linenumber="63"> <code class="ruby"></code> </li> - <li class="missed" data-hits="0" data-linenumber="64"> + <li class="covered" data-hits="41" data-linenumber="64"> + <span class="hits">41</span> - <code class="ruby"> link_page_to_sync! page</code> </li> - <li class="missed" data-hits="0" data-linenumber="65"> + <li class="covered" data-hits="41" data-linenumber="65"> + <span class="hits">41</span> - <code class="ruby"> update_sync_state_from! page</code> </li> <li class="never" data-hits="" data-linenumber="66"> <code class="ruby"></code> </li> - <li class="missed" data-hits="0" data-linenumber="67"> + <li class="covered" data-hits="41" data-linenumber="67"> + <span class="hits">41</span> - <code class="ruby"> page</code> </li> <li class="never" data-hits="" data-linenumber="68"> @@ -10604,19 +10814,19 @@ <span class="hits">1</span> <code class="ruby"> def fetch_page(options_or_url)</code> </li> - <li class="missed" data-hits="0" data-linenumber="73"> + <li class="covered" data-hits="44" data-linenumber="73"> + <span class="hits">44</span> - <code class="ruby"> return Request.new(@client, options_or_url).get if options_or_url.is_a? String</code> </li> - <li class="missed" data-hits="0" data-linenumber="74"> + <li class="covered" data-hits="27" data-linenumber="74"> + <span class="hits">27</span> - <code class="ruby"> Request.new(@client, &#39;/sync&#39;, options_or_url).get</code> </li> <li class="never" data-hits="" data-linenumber="75"> @@ -10634,13 +10844,13 @@ <span class="hits">1</span> <code class="ruby"> def link_page_to_sync!(page)</code> </li> - <li class="missed" data-hits="0" data-linenumber="78"> + <li class="covered" data-hits="41" data-linenumber="78"> + <span class="hits">41</span> - <code class="ruby"> page.instance_variable_set :@sync, self</code> </li> <li class="never" data-hits="" data-linenumber="79"> @@ -10658,13 +10868,13 @@ <span class="hits">1</span> <code class="ruby"> def update_sync_state_from!(page)</code> </li> - <li class="missed" data-hits="0" data-linenumber="82"> + <li class="covered" data-hits="41" data-linenumber="82"> + <span class="hits">41</span> - <code class="ruby"> @next_sync_url = page.next_sync_url</code> </li> <li class="never" data-hits="" data-linenumber="83"> @@ -10689,15 +10899,15 @@ </div> <div class="source_table" id="184eeba38f591ca99b28a4cbdc79d5a46b9a76d8"> <div class="header"> <h3>lib/contentful/sync_page.rb</h3> - <h4><span class="red">57.89 %</span> covered</h4> + <h4><span class="green">94.74 %</span> covered</h4> <div> <b>19</b> relevant lines. - <span class="green"><b>11</b> lines covered</span> and - <span class="red"><b>8</b> lines missed.</span> + <span class="green"><b>18</b> lines covered</span> and + <span class="red"><b>1</b> lines missed.</span> </div> </div> <pre> <ol> @@ -10766,37 +10976,37 @@ <span class="hits">1</span> <code class="ruby"> def initialize(item, default_locale, *)</code> </li> - <li class="missed" data-hits="0" data-linenumber="12"> + <li class="covered" data-hits="41" data-linenumber="12"> + <span class="hits">41</span> - <code class="ruby"> super(item, { default_locale: default_locale }, true)</code> </li> <li class="never" data-hits="" data-linenumber="13"> <code class="ruby"></code> </li> - <li class="missed" data-hits="0" data-linenumber="14"> + <li class="covered" data-hits="41" data-linenumber="14"> + <span class="hits">41</span> - <code class="ruby"> @items = item.fetch(&#39;items&#39;, [])</code> </li> - <li class="missed" data-hits="0" data-linenumber="15"> + <li class="covered" data-hits="41" data-linenumber="15"> + <span class="hits">41</span> - <code class="ruby"> @next_sync_url = item.fetch(&#39;nextSyncUrl&#39;, nil)</code> </li> - <li class="missed" data-hits="0" data-linenumber="16"> + <li class="covered" data-hits="41" data-linenumber="16"> + <span class="hits">41</span> - <code class="ruby"> @next_page_url = item.fetch(&#39;nextPageUrl&#39;, nil)</code> </li> <li class="never" data-hits="" data-linenumber="17"> @@ -10862,13 +11072,13 @@ <span class="hits">1</span> <code class="ruby"> def next_page</code> </li> - <li class="missed" data-hits="0" data-linenumber="28"> + <li class="covered" data-hits="5" data-linenumber="28"> + <span class="hits">5</span> - <code class="ruby"> sync.get(next_page_url) if next_page?</code> </li> <li class="never" data-hits="" data-linenumber="29"> @@ -10910,13 +11120,13 @@ <code class="ruby"> # rubocop:disable Style/DoubleNegation</code> </li> - <li class="missed" data-hits="0" data-linenumber="36"> + <li class="covered" data-hits="7" data-linenumber="36"> + <span class="hits">7</span> - <code class="ruby"> !!next_page_url</code> </li> <li class="never" data-hits="" data-linenumber="37"> @@ -10958,13 +11168,13 @@ <span class="hits">1</span> <code class="ruby"> def last_page?</code> </li> - <li class="missed" data-hits="0" data-linenumber="44"> + <li class="covered" data-hits="2" data-linenumber="44"> + <span class="hits">2</span> - <code class="ruby"> !next_page_url</code> </li> <li class="never" data-hits="" data-linenumber="45"> @@ -10986,10 +11196,8620 @@ </ol> </pre> </div> + <div class="source_table" id="2c78ffc4c20a488a225b6b051f5f37e8c56e336e"> + <div class="header"> + <h3>spec/asset_spec.rb</h3> + <h4><span class="green">100.0 %</span> covered</h4> + <div> + <b>85</b> relevant lines. + <span class="green"><b>85</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::Asset do</code> + </li> + + <li class="covered" data-hits="31" data-linenumber="4"> + <span class="hits">31</span> + + <code class="ruby"> let(:asset) { vcr(&#39;asset&#39;) { create_client.asset(&#39;nyancat&#39;) } }</code> + </li> + + <li class="never" data-hits="" data-linenumber="5"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="6"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;SystemProperties&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="7"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has a #sys getter returning a hash with symbol keys&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="8"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.sys).to be_a Hash</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="9"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.sys.keys.sample).to be_a Symbol</code> + </li> + + <li class="never" data-hits="" data-linenumber="10"> + + + <code class="ruby"> end</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;has #id&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="13"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.id).to eq &#39;nyancat&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="14"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="15"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="16"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #type&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="17"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.type).to eq &#39;Asset&#39;</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;has #space&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="21"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.space).to be_a Contentful::Link</code> + </li> + + <li class="never" data-hits="" data-linenumber="22"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="23"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="24"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #created_at&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="25"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.created_at).to be_a DateTime</code> + </li> + + <li class="never" data-hits="" data-linenumber="26"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="27"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="28"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #updated_at&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="29"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.updated_at).to be_a DateTime</code> + </li> + + <li class="never" data-hits="" data-linenumber="30"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="31"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="32"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #revision&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="33"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.revision).to eq 1</code> + </li> + + <li class="never" data-hits="" data-linenumber="34"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="35"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="36"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="37"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;Fields&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="38"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #title&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="39"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.title).to eq &#39;Nyan Cat&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="40"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="41"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="42"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;could have #description&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="43"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset).to respond_to :description</code> + </li> + + <li class="never" data-hits="" data-linenumber="44"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="45"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="46"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #file&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="47"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.file).to be_a Contentful::File</code> + </li> + + <li class="never" data-hits="" data-linenumber="48"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="49"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="50"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="51"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#image_url&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="52"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;returns #url of #file without parameter&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="53"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.image_url).to eq asset.file.url</code> + </li> + + <li class="never" data-hits="" data-linenumber="54"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="55"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="56"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;adds image options if given&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="57"> + <span class="hits">1</span> + + <code class="ruby"> url = asset.image_url(width: 100, format: &#39;jpg&#39;, quality: 50, focus: &#39;top_right&#39;, fit: &#39;thumb&#39;, fl: &#39;progressive&#39;)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="58"> + <span class="hits">1</span> + + <code class="ruby"> expect(url).to include asset.file.url</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="59"> + <span class="hits">1</span> + + <code class="ruby"> expect(url).to include &#39;?w=100&amp;fm=jpg&amp;q=50&amp;f=top_right&amp;fit=thumb&amp;fl=progressive&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="60"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="61"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="62"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="63"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#url&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="64"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;returns #url of #file without parameter&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="65"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.url).to eq asset.file.url</code> + </li> + + <li class="never" data-hits="" data-linenumber="66"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="67"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="68"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;adds image options if given&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="69"> + <span class="hits">1</span> + + <code class="ruby"> url = asset.url(width: 100, format: &#39;jpg&#39;, quality: 50, focus: &#39;top_right&#39;, fit: &#39;thumb&#39;, fl: &#39;progressive&#39;)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="70"> + <span class="hits">1</span> + + <code class="ruby"> expect(url).to include asset.file.url</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="71"> + <span class="hits">1</span> + + <code class="ruby"> expect(url).to include &#39;?w=100&amp;fm=jpg&amp;q=50&amp;f=top_right&amp;fit=thumb&amp;fl=progressive&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="72"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="73"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="74"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="75"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;can be marshalled&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="76"> + <span class="hits">1</span> + + <code class="ruby"> marshalled = Marshal.dump(asset)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="77"> + <span class="hits">1</span> + + <code class="ruby"> unmarshalled = Marshal.load(marshalled)</code> + </li> + + <li class="never" data-hits="" data-linenumber="78"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="79"> + <span class="hits">1</span> + + <code class="ruby"> expect(unmarshalled.title).to eq &#39;Nyan Cat&#39;</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="80"> + <span class="hits">1</span> + + <code class="ruby"> expect(unmarshalled.file).to be_a Contentful::File</code> + </li> + + <li class="never" data-hits="" data-linenumber="81"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="82"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="83"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;select operator&#39; do</code> + </li> + + <li class="covered" data-hits="5" data-linenumber="84"> + <span class="hits">5</span> + + <code class="ruby"> let(:client) { create_client }</code> + </li> + + <li class="never" data-hits="" data-linenumber="85"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="86"> + <span class="hits">1</span> + + <code class="ruby"> context &#39;with sys sent&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="87"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;properly creates an entry&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="88"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;asset/select_only_sys&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="89"> + <span class="hits">1</span> + + <code class="ruby"> asset = client.assets(select: [&#39;sys&#39;]).first</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="90"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.fields).to be_empty</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="91"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.sys).not_to be_empty</code> + </li> + + <li class="never" data-hits="" data-linenumber="92"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="93"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="94"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="95"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;can contain only one field&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="96"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;asset/select_one_field&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="97"> + <span class="hits">1</span> + + <code class="ruby"> asset = client.assets(select: [&#39;sys&#39;, &#39;fields.file&#39;]).first</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="98"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.fields.keys).to eq([:file])</code> + </li> + + <li class="never" data-hits="" data-linenumber="99"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="100"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="101"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="102"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="103"> + <span class="hits">1</span> + + <code class="ruby"> context &#39;without sys sent&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="104"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will enforce sys anyway&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="105"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;asset/select_no_sys&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="106"> + <span class="hits">1</span> + + <code class="ruby"> asset = client.assets(select: [&#39;fields&#39;], &#39;sys.id&#39; =&gt; &#39;nyancat&#39;).first</code> + </li> + + <li class="never" data-hits="" data-linenumber="107"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="108"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.id).to eq &#39;nyancat&#39;</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="109"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.sys).not_to be_empty</code> + </li> + + <li class="never" data-hits="" data-linenumber="110"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="111"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="112"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="113"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;works with empty array as well, as sys is enforced&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="114"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;asset/select_empty_array&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="115"> + <span class="hits">1</span> + + <code class="ruby"> asset = client.assets(select: [], &#39;sys.id&#39; =&gt; &#39;nyancat&#39;).first</code> + </li> + + <li class="never" data-hits="" data-linenumber="116"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="117"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.id).to eq &#39;nyancat&#39;</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="118"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.sys).not_to be_empty</code> + </li> + + <li class="never" data-hits="" data-linenumber="119"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="120"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="121"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="122"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="123"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="124"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;issues&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="125"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;serializes files correctly for every locale - #129&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="126"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;assets/issues_129&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="127"> + <span class="hits">1</span> + + <code class="ruby"> client = create_client(</code> + </li> + + <li class="never" data-hits="" data-linenumber="128"> + + + <code class="ruby"> space: &#39;bht13amj0fva&#39;,</code> + </li> + + <li class="never" data-hits="" data-linenumber="129"> + + + <code class="ruby"> access_token: &#39;bb703a05e107148bed6ee246a9f6b3678c63fed7335632eb68fe1b689c801534&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="130"> + + + <code class="ruby"> )</code> + </li> + + <li class="never" data-hits="" data-linenumber="131"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="132"> + <span class="hits">1</span> + + <code class="ruby"> asset = client.assets(&#39;sys.id&#39; =&gt; &#39;14bZJKTr6AoaGyeg4kYiWq&#39;, locale: &#39;*&#39;).first</code> + </li> + + <li class="never" data-hits="" data-linenumber="133"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="134"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.file).to be_a ::Contentful::File</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="135"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.file.file_name).to eq &#39;Flag_of_the_United_States.svg&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="136"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="137"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.fields[:file]).to be_a ::Contentful::File</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="138"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.fields[:file].file_name).to eq &#39;Flag_of_the_United_States.svg&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="139"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="140"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.fields(&#39;es&#39;)[:file]).to be_a ::Contentful::File</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="141"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.fields(&#39;es&#39;)[:file].file_name).to eq &#39;Flag_of_Spain.svg&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="142"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="143"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="144"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="145"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;properly serializes files for non-default locales on localized requests - jekyll-contentful-data-import #46&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="146"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;assets/issues_jekyll_46&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="147"> + <span class="hits">1</span> + + <code class="ruby"> client = create_client(</code> + </li> + + <li class="never" data-hits="" data-linenumber="148"> + + + <code class="ruby"> space: &#39;bht13amj0fva&#39;,</code> + </li> + + <li class="never" data-hits="" data-linenumber="149"> + + + <code class="ruby"> access_token: &#39;bb703a05e107148bed6ee246a9f6b3678c63fed7335632eb68fe1b689c801534&#39;,</code> + </li> + + <li class="never" data-hits="" data-linenumber="150"> + + + <code class="ruby"> )</code> + </li> + + <li class="never" data-hits="" data-linenumber="151"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="152"> + <span class="hits">1</span> + + <code class="ruby"> asset = client.assets(&#39;sys.id&#39; =&gt; &#39;14bZJKTr6AoaGyeg4kYiWq&#39;, locale: &#39;es&#39;).first</code> + </li> + + <li class="never" data-hits="" data-linenumber="153"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="154"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.file).to be_a ::Contentful::File</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="155"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.file.file_name).to eq &#39;Flag_of_Spain.svg&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="156"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="157"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="158"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="159"> + + + <code class="ruby">end</code> + </li> + + </ol> + </pre> +</div> + + <div class="source_table" id="4a5ac6ddea0a473438ed9f161683d8faff75e49b"> + <div class="header"> + <h3>spec/auto_includes_spec.rb</h3> + <h4><span class="green">100.0 %</span> covered</h4> + <div> + <b>7</b> relevant lines. + <span class="green"><b>7</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 &#39;Auto-include resources&#39; do</code> + </li> + + <li class="covered" data-hits="3" data-linenumber="4"> + <span class="hits">3</span> + + <code class="ruby"> let(:entries) { vcr(&#39;entries&#39;) { create_client.entries } } # entries come with asset includes</code> + </li> + + <li class="never" data-hits="" data-linenumber="5"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="6"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;replaces Contentful::Links which are actually included with the resource&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="7"> + <span class="hits">1</span> + + <code class="ruby"> asset = entries.items[1].fields[:image]</code> + </li> + + <li class="never" data-hits="" data-linenumber="8"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="9"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset).not_to be_a Contentful::Link</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="10"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset).to be_a Contentful::Asset</code> + </li> + + <li class="never" data-hits="" data-linenumber="11"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="12"> + + + <code class="ruby">end</code> + </li> + + </ol> + </pre> +</div> + + <div class="source_table" id="4bddb7a93327aadfcdb2be2b17fa1f166e9a36d7"> + <div class="header"> + <h3>spec/client_class_spec.rb</h3> + <h4><span class="green">100.0 %</span> covered</h4> + <div> + <b>37</b> relevant lines. + <span class="green"><b>37</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="8" data-linenumber="5"> + <span class="hits">8</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="9" data-linenumber="9"> + <span class="hits">9</span> + + <code class="ruby"> let(:request) { Contentful::Request.new(nil, &#39;/content_types&#39;, nil, &#39;cat&#39;) }</code> + </li> + + <li class="never" data-hits="" data-linenumber="10"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="11"> + <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="12"> + <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="13"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="14"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;content_type&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="15"> + <span class="hits">1</span> + + <code class="ruby"> client.get(request)</code> + </li> + + <li class="never" data-hits="" data-linenumber="16"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="17"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="18"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="19"> + <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="20"> + <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="21"> + <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="22"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="23"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="24"> + <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="25"> + <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="26"> + <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="27"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="28"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="29"> + <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="30"> + <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="31"> + <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="32"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="33"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="34"> + <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="35"> + <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) { raw_fixture(&#39;content_type&#39;) }</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="36"> + <span class="hits">1</span> + + <code class="ruby"> client.get(request)</code> + </li> + + <li class="never" data-hits="" data-linenumber="37"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="38"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="39"> + <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="40"> + <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) { raw_fixture(&#39;content_type&#39;) }</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="41"> + <span class="hits">1</span> + + <code class="ruby"> proxy_client.get(request)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="42"> + <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="43"> + <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="44"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="45"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="46"> + <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="47"> + <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="48"> + <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="49"> + <span class="hits">1</span> + + <code class="ruby"> expect(res).to be_a Contentful::BaseResource</code> + </li> + + <li class="never" data-hits="" data-linenumber="50"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="51"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="52"> + <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="53"> + <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="54"> + <span class="hits">1</span> + + <code class="ruby"> expect(res).to be_a Contentful::Response</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="never" data-hits="" data-linenumber="58"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="59"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="60"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#sync&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="61"> + <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="62"> + <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="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> + + </ol> + </pre> +</div> + + <div class="source_table" id="bb578f091ede06ee0e73520e211d99d517944b3f"> + <div class="header"> + <h3>spec/client_configuration_spec.rb</h3> + <h4><span class="green">100.0 %</span> covered</h4> + <div> + <b>94</b> relevant lines. + <span class="green"><b>94</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 &#39;Client Configuration Options&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="4"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;:space&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="5"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;is required&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="6"> + <span class="hits">1</span> + + <code class="ruby"> expect do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="7"> + <span class="hits">1</span> + + <code class="ruby"> Contentful::Client.new(access_token: &#39;b4c0n73n7fu1&#39;)</code> + </li> + + <li class="never" data-hits="" data-linenumber="8"> + + + <code class="ruby"> end.to raise_error(ArgumentError)</code> + </li> + + <li class="never" data-hits="" data-linenumber="9"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="10"> + + + <code class="ruby"> end</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"> describe &#39;:access_token&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="13"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;is required&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="14"> + <span class="hits">1</span> + + <code class="ruby"> expect do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="15"> + <span class="hits">1</span> + + <code class="ruby"> Contentful::Client.new(space: &#39;cfexampleapi&#39;)</code> + </li> + + <li class="never" data-hits="" data-linenumber="16"> + + + <code class="ruby"> end.to raise_error(ArgumentError)</code> + </li> + + <li class="never" data-hits="" data-linenumber="17"> + + + <code class="ruby"> end</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"> describe &#39;:secure&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="21"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will use https [default]&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="22"> + <span class="hits">1</span> + + <code class="ruby"> expect(</code> + </li> + + <li class="never" data-hits="" data-linenumber="23"> + + + <code class="ruby"> create_client.base_url</code> + </li> + + <li class="never" data-hits="" data-linenumber="24"> + + + <code class="ruby"> ).to start_with &#39;https://&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="25"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="26"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="27"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will use http when secure set to false&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="28"> + <span class="hits">1</span> + + <code class="ruby"> expect(</code> + </li> + + <li class="never" data-hits="" data-linenumber="29"> + + + <code class="ruby"> create_client(secure: false).base_url</code> + </li> + + <li class="never" data-hits="" data-linenumber="30"> + + + <code class="ruby"> ).to start_with &#39;http://&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="31"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="32"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="33"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="34"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;:raise_errors&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="35"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will raise response errors if set to true [default]&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="36"> + <span class="hits">1</span> + + <code class="ruby"> expect_vcr(&#39;not found&#39;)do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="37"> + <span class="hits">1</span> + + <code class="ruby"> create_client.content_type &#39;not found&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="38"> + + + <code class="ruby"> end.to raise_error Contentful::NotFound</code> + </li> + + <li class="never" data-hits="" data-linenumber="39"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="40"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="41"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will not raise response errors if set to false&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="42"> + <span class="hits">1</span> + + <code class="ruby"> res = nil</code> + </li> + + <li class="never" data-hits="" data-linenumber="43"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="44"> + <span class="hits">1</span> + + <code class="ruby"> expect_vcr(&#39;not found&#39;)do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="45"> + <span class="hits">1</span> + + <code class="ruby"> res = create_client(raise_errors: false).content_type &#39;not found&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="46"> + + + <code class="ruby"> end.not_to raise_error</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="47"> + <span class="hits">1</span> + + <code class="ruby"> expect(res).to be_instance_of Contentful::NotFound</code> + </li> + + <li class="never" data-hits="" data-linenumber="48"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="49"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="50"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="51"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;:dynamic_entries&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="52"> + <span class="hits">1</span> + + <code class="ruby"> before :each do</code> + </li> + + <li class="covered" data-hits="6" data-linenumber="53"> + <span class="hits">6</span> + + <code class="ruby"> Contentful::ContentTypeCache.clear!</code> + </li> + + <li class="never" data-hits="" data-linenumber="54"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="55"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="56"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will create dynamic entries if dynamic_entry_cache is not empty&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="57"> + <span class="hits">1</span> + + <code class="ruby"> client = create_client(dynamic_entries: :manual)</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="58"> + <span class="hits">2</span> + + <code class="ruby"> vcr(&#39;entry_cache&#39;) { client.update_dynamic_entry_cache! }</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="59"> + <span class="hits">2</span> + + <code class="ruby"> entry = vcr(&#39;nyancat&#39;) { client.entry(&#39;nyancat&#39;) }</code> + </li> + + <li class="never" data-hits="" data-linenumber="60"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="61"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry).to be_a Contentful::Entry</code> + </li> + + <li class="never" data-hits="" data-linenumber="62"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="63"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="64"> + <span class="hits">1</span> + + <code class="ruby"> context &#39;:auto&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="65"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will call update dynamic_entry_cache on start-up&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="66"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;entry_cache&#39;) do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="67"> + <span class="hits">1</span> + + <code class="ruby"> create_client(dynamic_entries: :auto)</code> + </li> + + <li class="never" data-hits="" data-linenumber="68"> + + + <code class="ruby"> end</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="69"> + <span class="hits">1</span> + + <code class="ruby"> expect(Contentful::ContentTypeCache.cache).not_to be_empty</code> + </li> + + <li class="never" data-hits="" data-linenumber="70"> + + + <code class="ruby"> end</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"> context &#39;:manual&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="74"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will not call #update_dynamic_entry_cache! on start-up&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="75"> + <span class="hits">1</span> + + <code class="ruby"> create_client(dynamic_entries: :manual)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="76"> + <span class="hits">1</span> + + <code class="ruby"> expect(Contentful::ContentTypeCache.cache).to be_empty</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"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="79"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="80"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#update_dynamic_entry_cache!&#39; do</code> + </li> + + <li class="covered" data-hits="3" data-linenumber="81"> + <span class="hits">3</span> + + <code class="ruby"> let(:client) { create_client(dynamic_entries: :manual) }</code> + </li> + + <li class="never" data-hits="" data-linenumber="82"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="83"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will fetch all content_types&#39; do</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="84"> + <span class="hits">2</span> + + <code class="ruby"> expect(client).to receive(:content_types).with(limit: 1000) { {} }</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="85"> + <span class="hits">1</span> + + <code class="ruby"> client.update_dynamic_entry_cache!</code> + </li> + + <li class="never" data-hits="" data-linenumber="86"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="87"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="88"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will save dynamic entries in @dynamic_entry_cache&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="89"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;entry_cache&#39;)do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="90"> + <span class="hits">1</span> + + <code class="ruby"> client.update_dynamic_entry_cache!</code> + </li> + + <li class="never" data-hits="" data-linenumber="91"> + + + <code class="ruby"> end</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="92"> + <span class="hits">1</span> + + <code class="ruby"> expect(Contentful::ContentTypeCache.cache).not_to be_empty</code> + </li> + + <li class="never" data-hits="" data-linenumber="93"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="94"> + + + <code class="ruby"> end</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> + + <code class="ruby"> describe &#39;#register_dynamic_entry&#39; do</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="97"> + <span class="hits">2</span> + + <code class="ruby"> let(:client) { create_client(dynamic_entries: :manual) }</code> + </li> + + <li class="never" data-hits="" data-linenumber="98"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="99"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;can be used to register a dynamic entry manually&#39; do</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="100"> + <span class="hits">2</span> + + <code class="ruby"> cat = vcr(&#39;content_type&#39;) { client.content_type &#39;cat&#39; }</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="101"> + <span class="hits">1</span> + + <code class="ruby"> client.register_dynamic_entry &#39;cat&#39;, cat</code> + </li> + + <li class="never" data-hits="" data-linenumber="102"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="103"> + <span class="hits">1</span> + + <code class="ruby"> expect(Contentful::ContentTypeCache.cache).not_to be_empty</code> + </li> + + <li class="never" data-hits="" data-linenumber="104"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="105"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="106"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="107"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="108"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;:api_url&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="109"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;is &quot;cdn.contentful.com&quot; [default]&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="110"> + <span class="hits">1</span> + + <code class="ruby"> expect(</code> + </li> + + <li class="never" data-hits="" data-linenumber="111"> + + + <code class="ruby"> create_client.configuration[:api_url]</code> + </li> + + <li class="never" data-hits="" data-linenumber="112"> + + + <code class="ruby"> ).to eq &#39;cdn.contentful.com&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="113"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="114"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="115"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will be used as base url&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="116"> + <span class="hits">1</span> + + <code class="ruby"> expect(</code> + </li> + + <li class="never" data-hits="" data-linenumber="117"> + + + <code class="ruby"> create_client(api_url: &#39;cdn2.contentful.com&#39;).base_url</code> + </li> + + <li class="never" data-hits="" data-linenumber="118"> + + + <code class="ruby"> ).to start_with &#39;https://cdn2.contentful.com&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="119"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="120"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="121"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="122"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;:api_version&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="123"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;is 1 [default]&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="124"> + <span class="hits">1</span> + + <code class="ruby"> expect(</code> + </li> + + <li class="never" data-hits="" data-linenumber="125"> + + + <code class="ruby"> create_client.configuration[:api_version]</code> + </li> + + <li class="never" data-hits="" data-linenumber="126"> + + + <code class="ruby"> ).to eq 1</code> + </li> + + <li class="never" data-hits="" data-linenumber="127"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="128"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="129"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will used for the http content type request header&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="130"> + <span class="hits">1</span> + + <code class="ruby"> expect(</code> + </li> + + <li class="never" data-hits="" data-linenumber="131"> + + + <code class="ruby"> create_client(api_version: 2).request_headers[&#39;Content-Type&#39;]</code> + </li> + + <li class="never" data-hits="" data-linenumber="132"> + + + <code class="ruby"> ).to eq &#39;application/vnd.contentful.delivery.v2+json&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="133"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="134"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="135"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="136"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;:authentication_mechanism&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="137"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;:header [default]&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="138"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will add the :access_token as authorization bearer token request header&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="139"> + <span class="hits">1</span> + + <code class="ruby"> expect(</code> + </li> + + <li class="never" data-hits="" data-linenumber="140"> + + + <code class="ruby"> create_client.request_headers[&#39;Authorization&#39;]</code> + </li> + + <li class="never" data-hits="" data-linenumber="141"> + + + <code class="ruby"> ).to eq &#39;Bearer b4c0n73n7fu1&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="142"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="143"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="144"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will not add :access_token to query&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="145"> + <span class="hits">1</span> + + <code class="ruby"> expect(</code> + </li> + + <li class="never" data-hits="" data-linenumber="146"> + + + <code class="ruby"> create_client.request_query({})[&#39;access_token&#39;]</code> + </li> + + <li class="never" data-hits="" data-linenumber="147"> + + + <code class="ruby"> ).to be_nil</code> + </li> + + <li class="never" data-hits="" data-linenumber="148"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="149"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="150"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="151"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;:query_string&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="152"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will add the :access_token to query&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="153"> + <span class="hits">1</span> + + <code class="ruby"> expect(</code> + </li> + + <li class="never" data-hits="" data-linenumber="154"> + + + <code class="ruby"> create_client(authentication_mechanism: :query_string).</code> + </li> + + <li class="never" data-hits="" data-linenumber="155"> + + + <code class="ruby"> request_query({})[&#39;access_token&#39;]</code> + </li> + + <li class="never" data-hits="" data-linenumber="156"> + + + <code class="ruby"> ).to eq &#39;b4c0n73n7fu1&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="157"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="158"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="159"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will not add the :access_token as authorization bearer token request header&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="160"> + <span class="hits">1</span> + + <code class="ruby"> expect(</code> + </li> + + <li class="never" data-hits="" data-linenumber="161"> + + + <code class="ruby"> create_client(authentication_mechanism: :query_string).</code> + </li> + + <li class="never" data-hits="" data-linenumber="162"> + + + <code class="ruby"> request_headers[&#39;Authorization&#39;]</code> + </li> + + <li class="never" data-hits="" data-linenumber="163"> + + + <code class="ruby"> ).to be_nil</code> + </li> + + <li class="never" data-hits="" data-linenumber="164"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="165"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="166"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="167"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="168"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;:resource_mapping&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="169"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;lets you register your own resource classes for certain response types&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="170"> + <span class="hits">1</span> + + <code class="ruby"> class MyBetterAsset &lt; Contentful::Asset</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="171"> + <span class="hits">1</span> + + <code class="ruby"> def https_image_url</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="172"> + <span class="hits">1</span> + + <code class="ruby"> image_url.sub %r{\A//}, &#39;https://&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="173"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="174"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="175"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="176"> + <span class="hits">1</span> + + <code class="ruby"> client = create_client(</code> + </li> + + <li class="never" data-hits="" data-linenumber="177"> + + + <code class="ruby"> resource_mapping: {</code> + </li> + + <li class="never" data-hits="" data-linenumber="178"> + + + <code class="ruby"> &#39;Asset&#39; =&gt; MyBetterAsset,</code> + </li> + + <li class="never" data-hits="" data-linenumber="179"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="180"> + + + <code class="ruby"> )</code> + </li> + + <li class="never" data-hits="" data-linenumber="181"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="2" data-linenumber="182"> + <span class="hits">2</span> + + <code class="ruby"> nyancat = vcr(&#39;asset&#39;) { client.asset &#39;nyancat&#39; }</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="183"> + <span class="hits">1</span> + + <code class="ruby"> expect(nyancat).to be_a MyBetterAsset</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="184"> + <span class="hits">1</span> + + <code class="ruby"> expect(nyancat.https_image_url).to start_with &#39;https&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="185"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="186"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="187"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="188"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;:entry_mapping&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="189"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;lets you register your own entry classes for certain entry types&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="190"> + <span class="hits">1</span> + + <code class="ruby"> class Cat &lt; Contentful::Entry</code> + </li> + + <li class="never" data-hits="" data-linenumber="191"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="192"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="193"> + <span class="hits">1</span> + + <code class="ruby"> client = create_client(</code> + </li> + + <li class="never" data-hits="" data-linenumber="194"> + + + <code class="ruby"> entry_mapping: {</code> + </li> + + <li class="never" data-hits="" data-linenumber="195"> + + + <code class="ruby"> &#39;cat&#39; =&gt; Cat</code> + </li> + + <li class="never" data-hits="" data-linenumber="196"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="197"> + + + <code class="ruby"> )</code> + </li> + + <li class="never" data-hits="" data-linenumber="198"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="2" data-linenumber="199"> + <span class="hits">2</span> + + <code class="ruby"> nyancat = vcr(&#39;entry&#39;) { client.entry &#39;nyancat&#39; }</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="200"> + <span class="hits">2</span> + + <code class="ruby"> finn = vcr(&#39;human&#39;) { client.entry &#39;finn&#39; }</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="201"> + <span class="hits">1</span> + + <code class="ruby"> expect(nyancat).to be_a Cat</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="202"> + <span class="hits">1</span> + + <code class="ruby"> expect(finn).to be_a Contentful::Entry</code> + </li> + + <li class="never" data-hits="" data-linenumber="203"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="204"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="205"> + + + <code class="ruby">end</code> + </li> + + </ol> + </pre> +</div> + + <div class="source_table" id="f379f914cd9849474574ab179462ad1782776c23"> + <div class="header"> + <h3>spec/content_type_spec.rb</h3> + <h4><span class="green">100.0 %</span> covered</h4> + <div> + <b>21</b> relevant lines. + <span class="green"><b>21</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::ContentType do</code> + </li> + + <li class="covered" data-hits="15" data-linenumber="4"> + <span class="hits">15</span> + + <code class="ruby"> let(:content_type) { vcr(&#39;content_type&#39;) { create_client.content_type &#39;cat&#39; } }</code> + </li> + + <li class="never" data-hits="" data-linenumber="5"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="6"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;SystemProperties&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="7"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has a #sys getter returning a hash with symbol keys&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="8"> + <span class="hits">1</span> + + <code class="ruby"> expect(content_type.sys).to be_a Hash</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="9"> + <span class="hits">1</span> + + <code class="ruby"> expect(content_type.sys.keys.sample).to be_a Symbol</code> + </li> + + <li class="never" data-hits="" data-linenumber="10"> + + + <code class="ruby"> end</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;has #id&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="13"> + <span class="hits">1</span> + + <code class="ruby"> expect(content_type.id).to eq &#39;cat&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="14"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="15"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="16"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #type&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="17"> + <span class="hits">1</span> + + <code class="ruby"> expect(content_type.type).to eq &#39;ContentType&#39;</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"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="20"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="21"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;Properties&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="22"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #name&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="23"> + <span class="hits">1</span> + + <code class="ruby"> expect(content_type.name).to eq &#39;Cat&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="24"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="25"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="26"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #description&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="27"> + <span class="hits">1</span> + + <code class="ruby"> expect(content_type.description).to eq &#39;Meow.&#39;</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;has #fields&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="31"> + <span class="hits">1</span> + + <code class="ruby"> expect(content_type.fields).to be_a Array</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="32"> + <span class="hits">1</span> + + <code class="ruby"> expect(content_type.fields.first).to be_a Contentful::Field</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;could have #display_field&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="36"> + <span class="hits">1</span> + + <code class="ruby"> expect(content_type).to respond_to :display_field</code> + </li> + + <li class="never" data-hits="" data-linenumber="37"> + + + <code class="ruby"> end</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">end</code> + </li> + + </ol> + </pre> +</div> + + <div class="source_table" id="e99d0215af34b7e546ce0b354fed15a022218318"> + <div class="header"> + <h3>spec/deleted_asset_spec.rb</h3> + <h4><span class="green">100.0 %</span> covered</h4> + <div> + <b>15</b> relevant lines. + <span class="green"><b>15</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 &#39;DeletedAsset&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="4"> + <span class="hits">1</span> + + <code class="ruby"> let(:deleted_asset)do</code> + </li> + + <li class="covered" data-hits="4" data-linenumber="5"> + <span class="hits">4</span> + + <code class="ruby"> vcr(&#39;sync_deleted_asset&#39;)do</code> + </li> + + <li class="covered" data-hits="4" data-linenumber="6"> + <span class="hits">4</span> + + <code class="ruby"> create_client.sync(initial: true, type: &#39;DeletedAsset&#39;).first_page.items[0]</code> + </li> + + <li class="never" data-hits="" data-linenumber="7"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="8"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="9"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="10"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;SystemProperties&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="11"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has a #sys getter returning a hash with symbol keys&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="12"> + <span class="hits">1</span> + + <code class="ruby"> expect(deleted_asset.sys).to be_a Hash</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="13"> + <span class="hits">1</span> + + <code class="ruby"> expect(deleted_asset.sys.keys.sample).to be_a Symbol</code> + </li> + + <li class="never" data-hits="" data-linenumber="14"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="15"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="16"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #id&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="17"> + <span class="hits">1</span> + + <code class="ruby"> expect(deleted_asset.id).to eq &#39;5c6VY0gWg0gwaIeYkUUiqG&#39;</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;has #type&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="21"> + <span class="hits">1</span> + + <code class="ruby"> expect(deleted_asset.type).to eq &#39;DeletedAsset&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="22"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="23"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="24"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #deleted_at&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="25"> + <span class="hits">1</span> + + <code class="ruby"> expect(deleted_asset.created_at).to be_a DateTime</code> + </li> + + <li class="never" data-hits="" data-linenumber="26"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="27"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="28"> + + + <code class="ruby">end</code> + </li> + + </ol> + </pre> +</div> + + <div class="source_table" id="1df16fd251d7e49d8e62fe77e5052956c52a1262"> + <div class="header"> + <h3>spec/deleted_entry_spec.rb</h3> + <h4><span class="green">100.0 %</span> covered</h4> + <div> + <b>15</b> relevant lines. + <span class="green"><b>15</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 &#39;DeletedEntry&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="4"> + <span class="hits">1</span> + + <code class="ruby"> let(:deleted_entry)do</code> + </li> + + <li class="covered" data-hits="4" data-linenumber="5"> + <span class="hits">4</span> + + <code class="ruby"> vcr(&#39;sync_deleted_entry&#39;)do</code> + </li> + + <li class="covered" data-hits="4" data-linenumber="6"> + <span class="hits">4</span> + + <code class="ruby"> create_client.sync(initial: true, type: &#39;DeletedEntry&#39;).first_page.items[0]</code> + </li> + + <li class="never" data-hits="" data-linenumber="7"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="8"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="9"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="10"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;SystemProperties&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="11"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has a #sys getter returning a hash with symbol keys&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="12"> + <span class="hits">1</span> + + <code class="ruby"> expect(deleted_entry.sys).to be_a Hash</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="13"> + <span class="hits">1</span> + + <code class="ruby"> expect(deleted_entry.sys.keys.sample).to be_a Symbol</code> + </li> + + <li class="never" data-hits="" data-linenumber="14"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="15"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="16"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #id&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="17"> + <span class="hits">1</span> + + <code class="ruby"> expect(deleted_entry.id).to eq &#39;CVebBDcQsSsu6yKKIayy&#39;</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;has #type&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="21"> + <span class="hits">1</span> + + <code class="ruby"> expect(deleted_entry.type).to eq &#39;DeletedEntry&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="22"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="23"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="24"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #deleted_at&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="25"> + <span class="hits">1</span> + + <code class="ruby"> expect(deleted_entry.created_at).to be_a DateTime</code> + </li> + + <li class="never" data-hits="" data-linenumber="26"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="27"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="28"> + + + <code class="ruby">end</code> + </li> + + </ol> + </pre> +</div> + + <div class="source_table" id="e2fa410f4f2677ad9365ae4d49e76d6fd229c5c1"> + <div class="header"> + <h3>spec/entry_spec.rb</h3> + <h4><span class="green">100.0 %</span> covered</h4> + <div> + <b>165</b> relevant lines. + <span class="green"><b>165</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::Entry do</code> + </li> + + <li class="covered" data-hits="21" data-linenumber="4"> + <span class="hits">21</span> + + <code class="ruby"> let(:entry) { vcr(&#39;entry&#39;) { create_client.entry &#39;nyancat&#39; } }</code> + </li> + + <li class="never" data-hits="" data-linenumber="5"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="6"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;SystemProperties&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="7"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has a #sys getter returning a hash with symbol keys&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="8"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.sys).to be_a Hash</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="9"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.sys.keys.sample).to be_a Symbol</code> + </li> + + <li class="never" data-hits="" data-linenumber="10"> + + + <code class="ruby"> end</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;has #id&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="13"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.id).to eq &#39;nyancat&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="14"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="15"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="16"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #type&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="17"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.type).to eq &#39;Entry&#39;</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;has #space&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="21"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.space).to be_a Contentful::Link</code> + </li> + + <li class="never" data-hits="" data-linenumber="22"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="23"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="24"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #content_type&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="25"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.content_type).to be_a Contentful::Link</code> + </li> + + <li class="never" data-hits="" data-linenumber="26"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="27"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="28"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #created_at&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="29"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.created_at).to be_a DateTime</code> + </li> + + <li class="never" data-hits="" data-linenumber="30"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="31"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="32"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #updated_at&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="33"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.updated_at).to be_a DateTime</code> + </li> + + <li class="never" data-hits="" data-linenumber="34"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="35"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="36"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #revision&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="37"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.revision).to eq 5</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"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="40"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="41"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;Fields&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="42"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has a #fields getter returning a hash with symbol keys&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="43"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.sys).to be_a Hash</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="44"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.sys.keys.sample).to be_a Symbol</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"> it &quot;contains the entry&#39;s fields&quot; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="48"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.fields[:color]).to eq &#39;rainbow&#39;</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="49"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.fields[:best_friend]).to be_a Contentful::Entry</code> + </li> + + <li class="never" data-hits="" data-linenumber="50"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="51"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="52"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="53"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;multiple locales&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="54"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;can handle multiple locales&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="55"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;entry_locales&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="56"> + <span class="hits">1</span> + + <code class="ruby"> nyancat = create_client.entries(locale: &quot;*&quot;, &#39;sys.id&#39; =&gt; &#39;nyancat&#39;).items.first</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="57"> + <span class="hits">1</span> + + <code class="ruby"> expect(nyancat.fields(&#39;en-US&#39;)[:name]).to eq &quot;Nyan Cat&quot;</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="58"> + <span class="hits">1</span> + + <code class="ruby"> expect(nyancat.fields(&#39;tlh&#39;)[:name]).to eq &quot;Nyan vIghro&#39;&quot;</code> + </li> + + <li class="never" data-hits="" data-linenumber="59"> + + + <code class="ruby"></code> + </li> + + <li class="never" data-hits="" data-linenumber="60"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="61"> + <span class="hits">1</span> + + <code class="ruby"> expect(nyancat.fields(:&#39;en-US&#39;)[:name]).to eq &quot;Nyan Cat&quot;</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="62"> + <span class="hits">1</span> + + <code class="ruby"> expect(nyancat.fields(:tlh)[:name]).to eq &quot;Nyan vIghro&#39;&quot;</code> + </li> + + <li class="never" data-hits="" data-linenumber="63"> + + + <code class="ruby"> }</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"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="66"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#fields_with_locales&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="67"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;can handle entries with just 1 locale&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="68"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;entry&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="69"> + <span class="hits">1</span> + + <code class="ruby"> nyancat = create_client.entry(&#39;nyancat&#39;)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="70"> + <span class="hits">1</span> + + <code class="ruby"> expect(nyancat.fields_with_locales[:name].size).to eq(1)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="71"> + <span class="hits">1</span> + + <code class="ruby"> expect(nyancat.fields_with_locales[:name][:&#39;en-US&#39;]).to eq(&quot;Nyan Cat&quot;)</code> + </li> + + <li class="never" data-hits="" data-linenumber="72"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="73"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="74"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="75"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;can handle entries with multiple locales&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="76"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;entry_locales&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="77"> + <span class="hits">1</span> + + <code class="ruby"> nyancat = create_client.entries(locale: &quot;*&quot;, &#39;sys.id&#39; =&gt; &#39;nyancat&#39;).items.first</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="78"> + <span class="hits">1</span> + + <code class="ruby"> expect(nyancat.fields_with_locales[:name].size).to eq(2)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="79"> + <span class="hits">1</span> + + <code class="ruby"> expect(nyancat.fields_with_locales[:name][:&#39;en-US&#39;]).to eq(&quot;Nyan Cat&quot;)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="80"> + <span class="hits">1</span> + + <code class="ruby"> expect(nyancat.fields_with_locales[:name][:tlh]).to eq(&quot;Nyan vIghro&#39;&quot;)</code> + </li> + + <li class="never" data-hits="" data-linenumber="81"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="82"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="83"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="84"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;can have references in multiple locales and they are properly solved&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="85"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;multi_locale_reference&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="86"> + <span class="hits">1</span> + + <code class="ruby"> client = create_client(</code> + </li> + + <li class="never" data-hits="" data-linenumber="87"> + + + <code class="ruby"> space: &#39;1sjfpsn7l90g&#39;,</code> + </li> + + <li class="never" data-hits="" data-linenumber="88"> + + + <code class="ruby"> access_token: &#39;e451a3cdfced9000220be41ed9c899866e8d52aa430eaf7c35b09df8fc6326f9&#39;,</code> + </li> + + <li class="never" data-hits="" data-linenumber="89"> + + + <code class="ruby"> dynamic_entries: :auto</code> + </li> + + <li class="never" data-hits="" data-linenumber="90"> + + + <code class="ruby"> )</code> + </li> + + <li class="never" data-hits="" data-linenumber="91"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="92"> + <span class="hits">1</span> + + <code class="ruby"> entry = client.entries(locale: &#39;*&#39;).first</code> + </li> + + <li class="never" data-hits="" data-linenumber="93"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="94"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.image).to be_a ::Contentful::Asset</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="95"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.fields(&#39;zh&#39;)[:image]).to be_a ::Contentful::Asset</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="96"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.fields(&#39;es&#39;)[:image]).to be_a ::Contentful::Asset</code> + </li> + + <li class="never" data-hits="" data-linenumber="97"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="98"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.image.id).not_to eq entry.fields(&#39;zh&#39;)[:image].id</code> + </li> + + <li class="never" data-hits="" data-linenumber="99"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="100"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="101"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="102"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;can have references with arrays in multiple locales and have them properly solved&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="103"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;multi_locale_array_reference&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="104"> + <span class="hits">1</span> + + <code class="ruby"> client = create_client(</code> + </li> + + <li class="never" data-hits="" data-linenumber="105"> + + + <code class="ruby"> space: &#39;cma9f9g4dxvs&#39;,</code> + </li> + + <li class="never" data-hits="" data-linenumber="106"> + + + <code class="ruby"> access_token: &#39;3e4560614990c9ac47343b9eea762bdaaebd845766f619660d7230787fd545e1&#39;,</code> + </li> + + <li class="never" data-hits="" data-linenumber="107"> + + + <code class="ruby"> dynamic_entries: :auto</code> + </li> + + <li class="never" data-hits="" data-linenumber="108"> + + + <code class="ruby"> )</code> + </li> + + <li class="never" data-hits="" data-linenumber="109"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="110"> + <span class="hits">1</span> + + <code class="ruby"> entry = client.entries(content_type: &#39;test&#39;, locale: &#39;*&#39;).first</code> + </li> + + <li class="never" data-hits="" data-linenumber="111"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="112"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.files).to be_a ::Array</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="113"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.references).to be_a ::Array</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="114"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.files.first).to be_a ::Contentful::Asset</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="115"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.references.first.entry?).to be_truthy</code> + </li> + + <li class="never" data-hits="" data-linenumber="116"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="117"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.fields(&#39;zh&#39;)[:files]).to be_a ::Array</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="118"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.fields(&#39;zh&#39;)[:references]).to be_a ::Array</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="119"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.fields(&#39;zh&#39;)[:files].first).to be_a ::Contentful::Asset</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="120"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.fields(&#39;zh&#39;)[:references].first.entry?).to be_truthy</code> + </li> + + <li class="never" data-hits="" data-linenumber="121"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="122"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.files.first.id).not_to eq entry.fields(&#39;zh&#39;)[:files].first.id</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"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="125"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="126"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="127"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="128"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;#raw&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="129"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;entry/raw&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="130"> + <span class="hits">1</span> + + <code class="ruby"> nyancat = create_client.entry(&#39;nyancat&#39;)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="131"> + <span class="hits">1</span> + + <code class="ruby"> expect(nyancat.raw).to eq(create_client(raw_mode: true).entry(&#39;nyancat&#39;).object[&#39;items&#39;].first)</code> + </li> + + <li class="never" data-hits="" data-linenumber="132"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="133"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="134"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="135"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;can be marshalled&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="136"> + <span class="hits">1</span> + + <code class="ruby"> def test_dump(nyancat)</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="137"> + <span class="hits">2</span> + + <code class="ruby"> dump = Marshal.dump(nyancat)</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="138"> + <span class="hits">2</span> + + <code class="ruby"> new_cat = Marshal.load(dump)</code> + </li> + + <li class="never" data-hits="" data-linenumber="139"> + + + <code class="ruby"></code> + </li> + + <li class="never" data-hits="" data-linenumber="140"> + + + <code class="ruby"> # Attributes</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="141"> + <span class="hits">2</span> + + <code class="ruby"> expect(new_cat).to be_a Contentful::Entry</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="142"> + <span class="hits">2</span> + + <code class="ruby"> expect(new_cat.name).to eq &quot;Nyan Cat&quot;</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="143"> + <span class="hits">2</span> + + <code class="ruby"> expect(new_cat.lives).to eq 1337</code> + </li> + + <li class="never" data-hits="" data-linenumber="144"> + + + <code class="ruby"></code> + </li> + + <li class="never" data-hits="" data-linenumber="145"> + + + <code class="ruby"> # Single linked objects</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="146"> + <span class="hits">2</span> + + <code class="ruby"> expect(new_cat.best_friend).to be_a Contentful::Entry</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="147"> + <span class="hits">2</span> + + <code class="ruby"> expect(new_cat.best_friend.name).to eq &quot;Happy Cat&quot;</code> + </li> + + <li class="never" data-hits="" data-linenumber="148"> + + + <code class="ruby"></code> + </li> + + <li class="never" data-hits="" data-linenumber="149"> + + + <code class="ruby"> # Array of linked objects</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="150"> + <span class="hits">2</span> + + <code class="ruby"> expect(new_cat.cat_pack.count).to eq 2</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="151"> + <span class="hits">2</span> + + <code class="ruby"> expect(new_cat.cat_pack[0].name).to eq &quot;Happy Cat&quot;</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="152"> + <span class="hits">2</span> + + <code class="ruby"> expect(new_cat.cat_pack[1].name).to eq &quot;Worried Cat&quot;</code> + </li> + + <li class="never" data-hits="" data-linenumber="153"> + + + <code class="ruby"></code> + </li> + + <li class="never" data-hits="" data-linenumber="154"> + + + <code class="ruby"> # Nested Links</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="155"> + <span class="hits">2</span> + + <code class="ruby"> expect(new_cat.best_friend.best_friend).to be_a Contentful::Entry</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="156"> + <span class="hits">2</span> + + <code class="ruby"> expect(new_cat.best_friend.best_friend.name).to eq &quot;Nyan Cat&quot;</code> + </li> + + <li class="never" data-hits="" data-linenumber="157"> + + + <code class="ruby"></code> + </li> + + <li class="never" data-hits="" data-linenumber="158"> + + + <code class="ruby"> # Asset</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="159"> + <span class="hits">2</span> + + <code class="ruby"> expect(new_cat.image.file.url).to eq &quot;//images.contentful.com/cfexampleapi/4gp6taAwW4CmSgumq2ekUm/9da0cd1936871b8d72343e895a00d611/Nyan_cat_250px_frame.png&quot;</code> + </li> + + <li class="never" data-hits="" data-linenumber="160"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="161"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="162"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;marshals properly&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="163"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;entry/marshall&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="164"> + <span class="hits">1</span> + + <code class="ruby"> nyancat = create_client(gzip_encoded: false, max_include_resolution_depth: 2).entries(include: 2, &#39;sys.id&#39; =&gt; &#39;nyancat&#39;).first</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="165"> + <span class="hits">1</span> + + <code class="ruby"> test_dump(nyancat)</code> + </li> + + <li class="never" data-hits="" data-linenumber="166"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="167"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="168"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="169"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;can remarshall an unmarshalled object&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="170"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;entry/marshall&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="171"> + <span class="hits">1</span> + + <code class="ruby"> nyancat = create_client(max_include_resolution_depth: 2).entries(include: 2, &#39;sys.id&#39; =&gt; &#39;nyancat&#39;).first</code> + </li> + + <li class="never" data-hits="" data-linenumber="172"> + + + <code class="ruby"></code> + </li> + + <li class="never" data-hits="" data-linenumber="173"> + + + <code class="ruby"> # The double load/dump is on purpose</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="174"> + <span class="hits">1</span> + + <code class="ruby"> test_dump(Marshal.load(Marshal.dump(nyancat)))</code> + </li> + + <li class="never" data-hits="" data-linenumber="175"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="176"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="177"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="178"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="179"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;select operator&#39; do</code> + </li> + + <li class="covered" data-hits="6" data-linenumber="180"> + <span class="hits">6</span> + + <code class="ruby"> let(:client) { create_client }</code> + </li> + + <li class="never" data-hits="" data-linenumber="181"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="182"> + <span class="hits">1</span> + + <code class="ruby"> context &#39;with sys sent&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="183"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;properly creates an entry&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="184"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;entry/select_only_sys&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="185"> + <span class="hits">1</span> + + <code class="ruby"> entry = client.entries(select: [&#39;sys&#39;], &#39;sys.id&#39; =&gt; &#39;nyancat&#39;).first</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="186"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.fields).to be_empty</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="187"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.entry?).to be_truthy</code> + </li> + + <li class="never" data-hits="" data-linenumber="188"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="189"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="190"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="191"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;can contain only one field&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="192"> + <span class="hits">1</span> + + <code class="ruby"> context &#39;with content_type sent&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="193"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will properly create the entry with one field&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="194"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;entry/select_one_field_proper&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="195"> + <span class="hits">1</span> + + <code class="ruby"> entry = client.entries(content_type: &#39;cat&#39;, select: [&#39;sys&#39;, &#39;fields.name&#39;], &#39;sys.id&#39; =&gt; &#39;nyancat&#39;).first</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="196"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.fields).not_to be_empty</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="197"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.entry?).to be_truthy</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="198"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.fields[:name]).to eq &#39;Nyan Cat&#39;</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="199"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.fields).to eq({name: &#39;Nyan Cat&#39;})</code> + </li> + + <li class="never" data-hits="" data-linenumber="200"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="201"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="202"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="203"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="204"> + <span class="hits">1</span> + + <code class="ruby"> context &#39;without content_type sent&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="205"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will raise an error&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="206"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;entry/select_one_field&#39;) {</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="207"> + <span class="hits">2</span> + + <code class="ruby"> expect { client.entries(select: [&#39;sys&#39;, &#39;fields.name&#39;], &#39;sys.id&#39; =&gt; &#39;nyancat&#39;) }.to raise_error Contentful::BadRequest</code> + </li> + + <li class="never" data-hits="" data-linenumber="208"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="209"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="210"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="211"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="212"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="213"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="214"> + <span class="hits">1</span> + + <code class="ruby"> context &#39;without sys sent&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="215"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will enforce sys anyway&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="216"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;entry/select_no_sys&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="217"> + <span class="hits">1</span> + + <code class="ruby"> entry = client.entries(select: [&#39;fields&#39;], &#39;sys.id&#39; =&gt; &#39;nyancat&#39;).first</code> + </li> + + <li class="never" data-hits="" data-linenumber="218"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="219"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.id).to eq &#39;nyancat&#39;</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="220"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.sys).not_to be_empty</code> + </li> + + <li class="never" data-hits="" data-linenumber="221"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="222"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="223"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="224"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;works with empty array as well, as sys is enforced&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="225"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;entry/select_empty_array&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="226"> + <span class="hits">1</span> + + <code class="ruby"> entry = client.entries(select: [], &#39;sys.id&#39; =&gt; &#39;nyancat&#39;).first</code> + </li> + + <li class="never" data-hits="" data-linenumber="227"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="228"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.id).to eq &#39;nyancat&#39;</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="229"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.sys).not_to be_empty</code> + </li> + + <li class="never" data-hits="" data-linenumber="230"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="231"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="232"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="233"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="234"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="235"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;include resolution&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="236"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;defaults to 20 depth&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="237"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;entry/include_resolution&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="238"> + <span class="hits">1</span> + + <code class="ruby"> entry = create_client.entry(&#39;nyancat&#39;, include: 2)</code> + </li> + + <li class="never" data-hits="" data-linenumber="239"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="240"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.best_friend.name).to eq &#39;Happy Cat&#39;</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="241"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry</code> + </li> + + <li class="never" data-hits="" data-linenumber="242"> + + + <code class="ruby"> .best_friend.best_friend</code> + </li> + + <li class="never" data-hits="" data-linenumber="243"> + + + <code class="ruby"> .best_friend.best_friend</code> + </li> + + <li class="never" data-hits="" data-linenumber="244"> + + + <code class="ruby"> .best_friend.best_friend</code> + </li> + + <li class="never" data-hits="" data-linenumber="245"> + + + <code class="ruby"> .best_friend.best_friend</code> + </li> + + <li class="never" data-hits="" data-linenumber="246"> + + + <code class="ruby"> .best_friend.best_friend</code> + </li> + + <li class="never" data-hits="" data-linenumber="247"> + + + <code class="ruby"> .best_friend.best_friend</code> + </li> + + <li class="never" data-hits="" data-linenumber="248"> + + + <code class="ruby"> .best_friend.best_friend</code> + </li> + + <li class="never" data-hits="" data-linenumber="249"> + + + <code class="ruby"> .best_friend.best_friend</code> + </li> + + <li class="never" data-hits="" data-linenumber="250"> + + + <code class="ruby"> .best_friend.best_friend</code> + </li> + + <li class="never" data-hits="" data-linenumber="251"> + + + <code class="ruby"> .best_friend.best_friend.name).to eq &#39;Nyan Cat&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="252"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="253"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry</code> + </li> + + <li class="never" data-hits="" data-linenumber="254"> + + + <code class="ruby"> .best_friend.best_friend</code> + </li> + + <li class="never" data-hits="" data-linenumber="255"> + + + <code class="ruby"> .best_friend.best_friend</code> + </li> + + <li class="never" data-hits="" data-linenumber="256"> + + + <code class="ruby"> .best_friend.best_friend</code> + </li> + + <li class="never" data-hits="" data-linenumber="257"> + + + <code class="ruby"> .best_friend.best_friend</code> + </li> + + <li class="never" data-hits="" data-linenumber="258"> + + + <code class="ruby"> .best_friend.best_friend</code> + </li> + + <li class="never" data-hits="" data-linenumber="259"> + + + <code class="ruby"> .best_friend.best_friend</code> + </li> + + <li class="never" data-hits="" data-linenumber="260"> + + + <code class="ruby"> .best_friend.best_friend</code> + </li> + + <li class="never" data-hits="" data-linenumber="261"> + + + <code class="ruby"> .best_friend.best_friend</code> + </li> + + <li class="never" data-hits="" data-linenumber="262"> + + + <code class="ruby"> .best_friend.best_friend</code> + </li> + + <li class="never" data-hits="" data-linenumber="263"> + + + <code class="ruby"> .best_friend.best_friend</code> + </li> + + <li class="never" data-hits="" data-linenumber="264"> + + + <code class="ruby"> .best_friend).to be_a ::Contentful::Link</code> + </li> + + <li class="never" data-hits="" data-linenumber="265"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="266"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="267"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="268"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;can be configured arbitrarily&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="269"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;entry/include_resolution&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="270"> + <span class="hits">1</span> + + <code class="ruby"> entry = create_client(max_include_resolution_depth: 3).entry(&#39;nyancat&#39;, include: 2)</code> + </li> + + <li class="never" data-hits="" data-linenumber="271"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="272"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.best_friend.name).to eq &#39;Happy Cat&#39;</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="273"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry</code> + </li> + + <li class="never" data-hits="" data-linenumber="274"> + + + <code class="ruby"> .best_friend.best_friend</code> + </li> + + <li class="never" data-hits="" data-linenumber="275"> + + + <code class="ruby"> .best_friend.name).to eq &#39;Happy Cat&#39;</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="276"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry</code> + </li> + + <li class="never" data-hits="" data-linenumber="277"> + + + <code class="ruby"> .best_friend.best_friend</code> + </li> + + <li class="never" data-hits="" data-linenumber="278"> + + + <code class="ruby"> .best_friend.best_friend).to be_a ::Contentful::Link</code> + </li> + + <li class="never" data-hits="" data-linenumber="279"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="280"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="281"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="282"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="283"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;issues&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="284"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;Symbol/Text field with null values should be serialized as nil - #117&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="285"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;entries/issue_117&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="286"> + <span class="hits">1</span> + + <code class="ruby"> client = create_client(space: &#39;8jbbayggj9gj&#39;, access_token: &#39;4ce0108f04e55c76476ba84ab0e6149734db73d67cd1b429323ef67f00977e07&#39;)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="287"> + <span class="hits">1</span> + + <code class="ruby"> entry = client.entries.first</code> + </li> + + <li class="never" data-hits="" data-linenumber="288"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="289"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.nil).to be_nil</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="290"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.nil).not_to eq &#39;&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="291"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="292"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="293"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="294"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;JSON Fields should not be treated as locale data - #96&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="295"> + <span class="hits">1</span> + + <code class="ruby"> before do</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="296"> + <span class="hits">2</span> + + <code class="ruby"> vcr(&#39;entry/json_objects_client&#39;) {</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="297"> + <span class="hits">2</span> + + <code class="ruby"> @client = create_client(</code> + </li> + + <li class="never" data-hits="" data-linenumber="298"> + + + <code class="ruby"> space: &#39;h425t6gef30p&#39;,</code> + </li> + + <li class="never" data-hits="" data-linenumber="299"> + + + <code class="ruby"> access_token: &#39;278f7aa72f2eb90c0e002d60f85bf2144c925acd2d37dd990d3ca274f25076cf&#39;,</code> + </li> + + <li class="never" data-hits="" data-linenumber="300"> + + + <code class="ruby"> dynamic_entries: :auto</code> + </li> + + <li class="never" data-hits="" data-linenumber="301"> + + + <code class="ruby"> )</code> + </li> + + <li class="never" data-hits="" data-linenumber="302"> + + + <code class="ruby"></code> + </li> + + <li class="never" data-hits="" data-linenumber="303"> + + + <code class="ruby"> }</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="304"> + <span class="hits">2</span> + + <code class="ruby"> vcr(&#39;entry/json_objects&#39;) {</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="305"> + <span class="hits">2</span> + + <code class="ruby"> @entry = @client.entries.first</code> + </li> + + <li class="never" data-hits="" data-linenumber="306"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="307"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="308"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="309"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;only has default locale&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="310"> + <span class="hits">1</span> + + <code class="ruby"> expect(@entry.locales).to eq [&#39;en-US&#39;]</code> + </li> + + <li class="never" data-hits="" data-linenumber="311"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="312"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="313"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;can obtain all values properly&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="314"> + <span class="hits">1</span> + + <code class="ruby"> expect(@entry.name).to eq(&#39;Test&#39;)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="315"> + <span class="hits">1</span> + + <code class="ruby"> expect(@entry.object_test).to eq({</code> + </li> + + <li class="never" data-hits="" data-linenumber="316"> + + + <code class="ruby"> null: nil,</code> + </li> + + <li class="never" data-hits="" data-linenumber="317"> + + + <code class="ruby"> text: &#39;some text&#39;,</code> + </li> + + <li class="never" data-hits="" data-linenumber="318"> + + + <code class="ruby"> array: [1, 2, 3],</code> + </li> + + <li class="never" data-hits="" data-linenumber="319"> + + + <code class="ruby"> number: 123,</code> + </li> + + <li class="never" data-hits="" data-linenumber="320"> + + + <code class="ruby"> boolean: true,</code> + </li> + + <li class="never" data-hits="" data-linenumber="321"> + + + <code class="ruby"> object: {</code> + </li> + + <li class="never" data-hits="" data-linenumber="322"> + + + <code class="ruby"> null: nil,</code> + </li> + + <li class="never" data-hits="" data-linenumber="323"> + + + <code class="ruby"> text: &#39;bar&#39;,</code> + </li> + + <li class="never" data-hits="" data-linenumber="324"> + + + <code class="ruby"> array: [1, 2, 3],</code> + </li> + + <li class="never" data-hits="" data-linenumber="325"> + + + <code class="ruby"> number: 123,</code> + </li> + + <li class="never" data-hits="" data-linenumber="326"> + + + <code class="ruby"> boolean: false,</code> + </li> + + <li class="never" data-hits="" data-linenumber="327"> + + + <code class="ruby"> object: {foo: &#39;bar&#39;}</code> + </li> + + <li class="never" data-hits="" data-linenumber="328"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="329"> + + + <code class="ruby"> })</code> + </li> + + <li class="never" data-hits="" data-linenumber="330"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="331"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="332"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="333"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;Number (Integer and Decimal) values get properly serialized - #125&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="334"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;entries/issue_125&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="335"> + <span class="hits">1</span> + + <code class="ruby"> client = create_client(space: &#39;zui87wsu8q80&#39;, access_token: &#39;64ff902c58cd14ea063d3ded810d1111a0266537e9aba283bad3319b1762c302&#39;, dynamic_entries: :auto)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="336"> + <span class="hits">1</span> + + <code class="ruby"> entry = client.entries.first</code> + </li> + + <li class="never" data-hits="" data-linenumber="337"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="338"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.integer).to eq 123</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="339"> + <span class="hits">1</span> + + <code class="ruby"> expect(entry.decimal).to eq 12.3</code> + </li> + + <li class="never" data-hits="" data-linenumber="340"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="341"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="342"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="343"> + + + <code class="ruby">end</code> + </li> + + </ol> + </pre> +</div> + + <div class="source_table" id="e6fc8ea12b682273043c21452555b0dba14d3be4"> + <div class="header"> + <h3>spec/error_class_spec.rb</h3> + <h4><span class="green">100.0 %</span> covered</h4> + <div> + <b>31</b> relevant lines. + <span class="green"><b>31</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::Error do</code> + </li> + + <li class="covered" data-hits="3" data-linenumber="4"> + <span class="hits">3</span> + + <code class="ruby"> let(:r) { Contentful::Response.new raw_fixture(&#39;not_found&#39;, 404) }</code> + </li> + + <li class="never" data-hits="" data-linenumber="5"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="6"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#response&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="7"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;returns the response the error has been initialized with&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="8"> + <span class="hits">1</span> + + <code class="ruby"> expect(Contentful::Error.new(r).response).to be r</code> + </li> + + <li class="never" data-hits="" data-linenumber="9"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="10"> + + + <code class="ruby"> end</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"> describe &#39;#message&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="13"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;returns the message found in the response json&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="14"> + <span class="hits">1</span> + + <code class="ruby"> expect(Contentful::Error.new(r).message).not_to be_nil</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="15"> + <span class="hits">1</span> + + <code class="ruby"> expect(Contentful::Error.new(r).message).to \</code> + </li> + + <li class="never" data-hits="" data-linenumber="16"> + + + <code class="ruby"> eq json_fixture(&#39;not_found&#39;)[&#39;message&#39;]</code> + </li> + + <li class="never" data-hits="" data-linenumber="17"> + + + <code class="ruby"> end</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"> describe Contentful::UnparsableJson do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="21"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#message&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="22"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;returns the json parser\&#39;s message&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="23"> + <span class="hits">1</span> + + <code class="ruby"> uj = Contentful::Response.new raw_fixture(&#39;unparsable&#39;)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="24"> + <span class="hits">1</span> + + <code class="ruby"> expect(Contentful::UnparsableJson.new(uj).message).to \</code> + </li> + + <li class="never" data-hits="" data-linenumber="25"> + + + <code class="ruby"> include &#39;unexpected token&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="26"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="27"> + + + <code class="ruby"> end</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"> describe &#39;.[]&#39; do</code> + </li> + + <li class="never" data-hits="" data-linenumber="31"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="32"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;returns BadRequest error class for 400&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="33"> + <span class="hits">1</span> + + <code class="ruby"> expect(Contentful::Error[400]).to eq Contentful::BadRequest</code> + </li> + + <li class="never" data-hits="" data-linenumber="34"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="35"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="36"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;returns Unauthorized error class for 401&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="37"> + <span class="hits">1</span> + + <code class="ruby"> expect(Contentful::Error[401]).to eq Contentful::Unauthorized</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;returns AccessDenied error class for 403&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="41"> + <span class="hits">1</span> + + <code class="ruby"> expect(Contentful::Error[403]).to eq Contentful::AccessDenied</code> + </li> + + <li class="never" data-hits="" data-linenumber="42"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="43"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="44"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;returns NotFound error class for 404&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="45"> + <span class="hits">1</span> + + <code class="ruby"> expect(Contentful::Error[404]).to eq Contentful::NotFound</code> + </li> + + <li class="never" data-hits="" data-linenumber="46"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="47"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="48"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;returns ServerError error class for 500&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="49"> + <span class="hits">1</span> + + <code class="ruby"> expect(Contentful::Error[500]).to eq Contentful::ServerError</code> + </li> + + <li class="never" data-hits="" data-linenumber="50"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="51"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="52"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;returns ServiceUnavailable error class for 503&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="53"> + <span class="hits">1</span> + + <code class="ruby"> expect(Contentful::Error[503]).to eq Contentful::ServiceUnavailable</code> + </li> + + <li class="never" data-hits="" data-linenumber="54"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="55"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="56"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;returns generic error class for any other value&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="57"> + <span class="hits">1</span> + + <code class="ruby"> expect(Contentful::Error[nil]).to eq Contentful::Error</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="58"> + <span class="hits">1</span> + + <code class="ruby"> expect(Contentful::Error[200]).to eq Contentful::Error</code> + </li> + + <li class="never" data-hits="" data-linenumber="59"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="60"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="61"> + + + <code class="ruby"></code> + </li> + + <li class="never" data-hits="" data-linenumber="62"> + + + <code class="ruby">end</code> + </li> + + </ol> + </pre> +</div> + + <div class="source_table" id="9f27a3ca01ab4c32a44ea83bd3641978588f6b28"> + <div class="header"> + <h3>spec/error_requests_spec.rb</h3> + <h4><span class="green">100.0 %</span> covered</h4> + <div> + <b>44</b> relevant lines. + <span class="green"><b>44</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">class NonCachingClient &lt; Contentful::Client</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="4"> + <span class="hits">1</span> + + <code class="ruby"> def request_headers</code> + </li> + + <li class="covered" data-hits="8" data-linenumber="5"> + <span class="hits">8</span> + + <code class="ruby"> headers = super</code> + </li> + + <li class="covered" data-hits="8" data-linenumber="6"> + <span class="hits">8</span> + + <code class="ruby"> headers[&#39;Cf-No-Cache&#39;] = &#39;foobar&#39;</code> + </li> + + <li class="covered" data-hits="8" data-linenumber="7"> + <span class="hits">8</span> + + <code class="ruby"> headers</code> + </li> + + <li class="never" data-hits="" data-linenumber="8"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="9"> + + + <code class="ruby">end</code> + </li> + + <li class="never" data-hits="" data-linenumber="10"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="11"> + <span class="hits">1</span> + + <code class="ruby">class RetryLoggerMock &lt; Logger</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="12"> + <span class="hits">1</span> + + <code class="ruby"> attr_reader :retry_attempts</code> + </li> + + <li class="never" data-hits="" data-linenumber="13"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="14"> + <span class="hits">1</span> + + <code class="ruby"> def initialize(*)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="15"> + <span class="hits">1</span> + + <code class="ruby"> super</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="16"> + <span class="hits">1</span> + + <code class="ruby"> @retry_attempts = 0</code> + </li> + + <li class="never" data-hits="" data-linenumber="17"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="18"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="19"> + <span class="hits">1</span> + + <code class="ruby"> def info(message)</code> + </li> + + <li class="covered" data-hits="5" data-linenumber="20"> + <span class="hits">5</span> + + <code class="ruby"> super</code> + </li> + + <li class="covered" data-hits="5" data-linenumber="21"> + <span class="hits">5</span> + + <code class="ruby"> @retry_attempts += 1 if message.include?(&#39;Contentful API Rate Limit Hit! Retrying&#39;)</code> + </li> + + <li class="never" data-hits="" data-linenumber="22"> + + + <code class="ruby"> end</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">describe &#39;Error Requests&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="26"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will return 404 (Unauthorized) if resource not found&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="27"> + <span class="hits">1</span> + + <code class="ruby"> expect_vcr(&#39;not found&#39;)do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="28"> + <span class="hits">1</span> + + <code class="ruby"> create_client.content_type &#39;not found&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="29"> + + + <code class="ruby"> end.to raise_error(Contentful::NotFound)</code> + </li> + + <li class="never" data-hits="" data-linenumber="30"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="31"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="32"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will return 400 (BadRequest) if invalid parameters have been passed&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="33"> + <span class="hits">1</span> + + <code class="ruby"> expect_vcr(&#39;bad request&#39;)do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="34"> + <span class="hits">1</span> + + <code class="ruby"> create_client.entries(some: &#39;parameter&#39;)</code> + </li> + + <li class="never" data-hits="" data-linenumber="35"> + + + <code class="ruby"> end.to raise_error(Contentful::BadRequest)</code> + </li> + + <li class="never" data-hits="" data-linenumber="36"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="37"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="38"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will return 403 (AccessDenied) if ...&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="39"> + <span class="hits">1</span> + + <code class="ruby"> skip</code> + </li> + + <li class="never" data-hits="" data-linenumber="40"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="41"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="42"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will return 401 (Unauthorized) if wrong credentials are given&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="43"> + <span class="hits">1</span> + + <code class="ruby"> client = Contentful::Client.new(space: &#39;wrong&#39;, access_token: &#39;credentials&#39;)</code> + </li> + + <li class="never" data-hits="" data-linenumber="44"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="45"> + <span class="hits">1</span> + + <code class="ruby"> expect_vcr(&#39;unauthorized&#39;){</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="46"> + <span class="hits">1</span> + + <code class="ruby"> client.entry(&#39;nyancat&#39;)</code> + </li> + + <li class="never" data-hits="" data-linenumber="47"> + + + <code class="ruby"> }.to raise_error(Contentful::Unauthorized)</code> + </li> + + <li class="never" data-hits="" data-linenumber="48"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="49"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="50"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will return 500 (ServerError) if ...&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="51"> + <span class="hits">1</span> + + <code class="ruby"> skip</code> + </li> + + <li class="never" data-hits="" data-linenumber="52"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="53"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="54"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will return a 429 if the ratelimit is reached and is not set to retry&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="55"> + <span class="hits">1</span> + + <code class="ruby"> client = Contentful::Client.new(space: &#39;wrong&#39;, access_token: &#39;credentials&#39;, max_rate_limit_retries: 0)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="56"> + <span class="hits">1</span> + + <code class="ruby"> expect_vcr(&#39;ratelimit&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="57"> + <span class="hits">1</span> + + <code class="ruby"> client.entry(&#39;nyancat&#39;)</code> + </li> + + <li class="never" data-hits="" data-linenumber="58"> + + + <code class="ruby"> }.to raise_error(Contentful::RateLimitExceeded)</code> + </li> + + <li class="never" data-hits="" data-linenumber="59"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="60"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="61"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will retry on 429 by default&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="62"> + <span class="hits">1</span> + + <code class="ruby"> logger = RetryLoggerMock.new(STDOUT)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="63"> + <span class="hits">1</span> + + <code class="ruby"> client = NonCachingClient.new(</code> + </li> + + <li class="never" data-hits="" data-linenumber="64"> + + + <code class="ruby"> api_url: &#39;cdnorigin.flinkly.com&#39;,</code> + </li> + + <li class="never" data-hits="" data-linenumber="65"> + + + <code class="ruby"> space: &#39;164vhtp008kz&#39;,</code> + </li> + + <li class="never" data-hits="" data-linenumber="66"> + + + <code class="ruby"> access_token: &#39;7699b6c6f6cee9b6abaa216c71fbcb3eee56cb6f082f57b5e21b2b50f86bdea0&#39;,</code> + </li> + + <li class="never" data-hits="" data-linenumber="67"> + + + <code class="ruby"> raise_errors: true,</code> + </li> + + <li class="never" data-hits="" data-linenumber="68"> + + + <code class="ruby"> logger: logger</code> + </li> + + <li class="never" data-hits="" data-linenumber="69"> + + + <code class="ruby"> )</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"> vcr(&#39;ratelimit_retry&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="72"> + <span class="hits">1</span> + + <code class="ruby"> 3.times {</code> + </li> + + <li class="covered" data-hits="3" data-linenumber="73"> + <span class="hits">3</span> + + <code class="ruby"> client.assets</code> + </li> + + <li class="never" data-hits="" data-linenumber="74"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="75"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="76"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="77"> + <span class="hits">1</span> + + <code class="ruby"> expect(logger.retry_attempts).to eq 1</code> + </li> + + <li class="never" data-hits="" data-linenumber="78"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="79"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="80"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will return 503 (ServiceUnavailable) when the service is unavailable&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="81"> + <span class="hits">1</span> + + <code class="ruby"> client = Contentful::Client.new(space: &#39;wrong&#39;, access_token: &#39;credentials&#39;)</code> + </li> + + <li class="never" data-hits="" data-linenumber="82"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="83"> + <span class="hits">1</span> + + <code class="ruby"> expect_vcr(&#39;unavailable&#39;){</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="84"> + <span class="hits">1</span> + + <code class="ruby"> client.entry(&#39;nyancat&#39;)</code> + </li> + + <li class="never" data-hits="" data-linenumber="85"> + + + <code class="ruby"> }.to raise_error(Contentful::ServiceUnavailable)</code> + </li> + + <li class="never" data-hits="" data-linenumber="86"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="87"> + + + <code class="ruby">end</code> + </li> + + </ol> + </pre> +</div> + + <div class="source_table" id="07d657815563102eeee2c2ef567bd847fd344df4"> + <div class="header"> + <h3>spec/field_spec.rb</h3> + <h4><span class="green">100.0 %</span> covered</h4> + <div> + <b>31</b> relevant lines. + <span class="green"><b>31</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::Field do</code> + </li> + + <li class="covered" data-hits="13" data-linenumber="4"> + <span class="hits">13</span> + + <code class="ruby"> let(:field) { vcr(&#39;field&#39;) { create_client.content_type(&#39;cat&#39;).fields.first } }</code> + </li> + + <li class="covered" data-hits="3" data-linenumber="5"> + <span class="hits">3</span> + + <code class="ruby"> let(:linkField) { vcr(&#39;linkField&#39;) {</code> + </li> + + <li class="covered" data-hits="18" data-linenumber="6"> + <span class="hits">18</span> + + <code class="ruby"> create_client.content_type(&#39;cat&#39;).fields.select { |f| f.id == &#39;image&#39; }.first</code> + </li> + + <li class="never" data-hits="" data-linenumber="7"> + + + <code class="ruby"> } }</code> + </li> + + <li class="covered" data-hits="3" data-linenumber="8"> + <span class="hits">3</span> + + <code class="ruby"> let(:arrayField) { vcr(&#39;arrayField&#39;) {</code> + </li> + + <li class="never" data-hits="" data-linenumber="9"> + + + <code class="ruby"> Contentful::Client.new(</code> + </li> + + <li class="never" data-hits="" data-linenumber="10"> + + + <code class="ruby"> space: &#39;wl1z0pal05vy&#39;,</code> + </li> + + <li class="never" data-hits="" data-linenumber="11"> + + + <code class="ruby"> access_token: &#39;9b76e1bbc29eb513611a66b9fc5fb7acd8d95e83b0f7d6bacfe7ec926c819806&#39;</code> + </li> + + <li class="covered" data-hits="26" data-linenumber="12"> + <span class="hits">26</span> + + <code class="ruby"> ).content_type(&#39;2PqfXUJwE8qSYKuM0U6w8M&#39;).fields.select { |f| f.id == &#39;categories&#39; }.first</code> + </li> + + <li class="never" data-hits="" data-linenumber="13"> + + + <code class="ruby"> } }</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"> describe &#39;Properties&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="16"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #id&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="17"> + <span class="hits">1</span> + + <code class="ruby"> expect(field.id).to eq &#39;name&#39;</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;has #name&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="21"> + <span class="hits">1</span> + + <code class="ruby"> expect(field.name).to eq &#39;Name&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="22"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="23"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="24"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #type&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="25"> + <span class="hits">1</span> + + <code class="ruby"> expect(field.type).to eq &#39;Text&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="26"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="27"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="28"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;could have #items&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="29"> + <span class="hits">1</span> + + <code class="ruby"> expect(field).to respond_to :items</code> + </li> + + <li class="never" data-hits="" data-linenumber="30"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="31"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="32"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #required&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="33"> + <span class="hits">1</span> + + <code class="ruby"> expect(field.required).to be_truthy</code> + </li> + + <li class="never" data-hits="" data-linenumber="34"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="35"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="36"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #localized&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="37"> + <span class="hits">1</span> + + <code class="ruby"> expect(field.required).to be_truthy</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"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="40"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="41"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;Link field properties&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="42"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #type&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="43"> + <span class="hits">1</span> + + <code class="ruby"> expect(linkField.type).to eq &#39;Link&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="44"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="45"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="46"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #linkType&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="47"> + <span class="hits">1</span> + + <code class="ruby"> expect(linkField.link_type).to eq &#39;Asset&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="48"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="49"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="50"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="51"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;Array field properties&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="52"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #type&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="53"> + <span class="hits">1</span> + + <code class="ruby"> expect(arrayField.type).to eq &#39;Array&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="54"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="55"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="56"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #items&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="57"> + <span class="hits">1</span> + + <code class="ruby"> expect(arrayField.items.type).to eq &#39;Link&#39;</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="58"> + <span class="hits">1</span> + + <code class="ruby"> expect(arrayField.items.link_type).to eq &#39;Entry&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="59"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="60"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="61"> + + + <code class="ruby">end</code> + </li> + + </ol> + </pre> +</div> + + <div class="source_table" id="8464f409a73a4563d695d98bb65faf6f98700a69"> + <div class="header"> + <h3>spec/file_spec.rb</h3> + <h4><span class="green">100.0 %</span> covered</h4> + <div> + <b>12</b> relevant lines. + <span class="green"><b>12</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::File do</code> + </li> + + <li class="covered" data-hits="9" data-linenumber="4"> + <span class="hits">9</span> + + <code class="ruby"> let(:file) { vcr(&#39;asset&#39;) { create_client.asset(&#39;nyancat&#39;).file } }</code> + </li> + + <li class="never" data-hits="" data-linenumber="5"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="6"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;Properties&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="7"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #file_name&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="8"> + <span class="hits">1</span> + + <code class="ruby"> expect(file.file_name).to eq &#39;Nyan_cat_250px_frame.png&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="9"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="10"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="11"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #content_type&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="12"> + <span class="hits">1</span> + + <code class="ruby"> expect(file.content_type).to eq &#39;image/png&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="13"> + + + <code class="ruby"> end</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"> it &#39;has #url&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="16"> + <span class="hits">1</span> + + <code class="ruby"> expect(file.url).to eq &#39;//images.contentful.com/cfexampleapi/4gp6taAwW4CmSgumq2ekUm/9da0cd1936871b8d72343e895a00d611/Nyan_cat_250px_frame.png&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="17"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="18"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="19"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #details&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="20"> + <span class="hits">1</span> + + <code class="ruby"> expect(file.details).to be_instance_of Hash</code> + </li> + + <li class="never" data-hits="" data-linenumber="21"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="22"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="23"> + + + <code class="ruby">end</code> + </li> + + </ol> + </pre> +</div> + + <div class="source_table" id="a5d839137ee573e08f4ad1521c424bce039ee1f1"> + <div class="header"> + <h3>spec/link_spec.rb</h3> + <h4><span class="green">100.0 %</span> covered</h4> + <div> + <b>23</b> relevant lines. + <span class="green"><b>23</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::Link do</code> + </li> + + <li class="covered" data-hits="3" data-linenumber="4"> + <span class="hits">3</span> + + <code class="ruby"> let(:client) { create_client }</code> + </li> + + <li class="covered" data-hits="13" data-linenumber="5"> + <span class="hits">13</span> + + <code class="ruby"> let(:entry) { vcr(&#39;entry&#39;) { create_client.entry(&#39;nyancat&#39;) } }</code> + </li> + + <li class="covered" data-hits="6" data-linenumber="6"> + <span class="hits">6</span> + + <code class="ruby"> let(:link) { entry.space }</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="7"> + <span class="hits">2</span> + + <code class="ruby"> let(:content_type_link) { entry.content_type }</code> + </li> + + <li class="never" data-hits="" data-linenumber="8"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="9"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;SystemProperties&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="10"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has a #sys getter returning a hash with symbol keys&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="11"> + <span class="hits">1</span> + + <code class="ruby"> expect(link.sys).to be_a Hash</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="12"> + <span class="hits">1</span> + + <code class="ruby"> expect(link.sys.keys.sample).to be_a Symbol</code> + </li> + + <li class="never" data-hits="" data-linenumber="13"> + + + <code class="ruby"> end</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"> it &#39;has #id&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="16"> + <span class="hits">1</span> + + <code class="ruby"> expect(link.id).to eq &#39;cfexampleapi&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="17"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="18"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="19"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #type&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="20"> + <span class="hits">1</span> + + <code class="ruby"> expect(link.type).to eq &#39;Link&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="21"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="22"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="23"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #link_type&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="24"> + <span class="hits">1</span> + + <code class="ruby"> expect(link.link_type).to eq &#39;Space&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="25"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="26"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="27"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="28"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#resolve&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="29"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;queries the api for the resource&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="30"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;space&#39;)do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="31"> + <span class="hits">1</span> + + <code class="ruby"> expect(link.resolve(client)).to be_a Contentful::Space</code> + </li> + + <li class="never" data-hits="" data-linenumber="32"> + + + <code class="ruby"> end</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;queries the api for the resource (different link object)&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="36"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;content_type&#39;)do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="37"> + <span class="hits">1</span> + + <code class="ruby"> expect(content_type_link.resolve(client)).to be_a Contentful::ContentType</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"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="40"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="41"> + + + <code class="ruby">end</code> + </li> + + </ol> + </pre> +</div> + + <div class="source_table" id="eaa592f21041f4b53044f71ffee7d250f377eab1"> + <div class="header"> + <h3>spec/locale_spec.rb</h3> + <h4><span class="green">100.0 %</span> covered</h4> + <div> + <b>10</b> relevant lines. + <span class="green"><b>10</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::Locale do</code> + </li> + + <li class="covered" data-hits="7" data-linenumber="4"> + <span class="hits">7</span> + + <code class="ruby"> let(:locale) { vcr(&#39;locale&#39;) { create_client.space.locales.first } }</code> + </li> + + <li class="never" data-hits="" data-linenumber="5"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="6"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;Properties&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="7"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #code&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="8"> + <span class="hits">1</span> + + <code class="ruby"> expect(locale.code).to eq &#39;en-US&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="9"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="10"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="11"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #name&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="12"> + <span class="hits">1</span> + + <code class="ruby"> expect(locale.name).to eq &#39;English&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="13"> + + + <code class="ruby"> end</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"> it &#39;has #default&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="16"> + <span class="hits">1</span> + + <code class="ruby"> expect(locale.default).to eq true</code> + </li> + + <li class="never" data-hits="" data-linenumber="17"> + + + <code class="ruby"> end</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">end</code> + </li> + + </ol> + </pre> +</div> + + <div class="source_table" id="8647a31735515e8ec137e8f4cfe897b934044177"> + <div class="header"> + <h3>spec/location_spec.rb</h3> + <h4><span class="green">100.0 %</span> covered</h4> + <div> + <b>12</b> relevant lines. + <span class="green"><b>12</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::Location do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="4"> + <span class="hits">1</span> + + <code class="ruby"> let(:location)do</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="5"> + <span class="hits">2</span> + + <code class="ruby"> vcr(&#39;location&#39;)do</code> + </li> + + <li class="never" data-hits="" data-linenumber="6"> + + + <code class="ruby"> Contentful::Client.new(</code> + </li> + + <li class="never" data-hits="" data-linenumber="7"> + + + <code class="ruby"> space: &#39;lzjz8hygvfgu&#39;,</code> + </li> + + <li class="never" data-hits="" data-linenumber="8"> + + + <code class="ruby"> access_token: &#39;0c6ef483524b5e46b3bafda1bf355f38f5f40b4830f7599f790a410860c7c271&#39;,</code> + </li> + + <li class="never" data-hits="" data-linenumber="9"> + + + <code class="ruby"> dynamic_entries: :auto,</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="10"> + <span class="hits">2</span> + + <code class="ruby"> ).entry(&#39;3f6fq5ylFCi4kIYAQKsAYG&#39;).location</code> + </li> + + <li class="never" data-hits="" data-linenumber="11"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="12"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="13"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="14"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;Properties&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="15"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #lat&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="16"> + <span class="hits">1</span> + + <code class="ruby"> expect(location.lat).to be_a Float</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="17"> + <span class="hits">1</span> + + <code class="ruby"> expect(location.lat.to_i).to eq 36</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;has #lon&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="21"> + <span class="hits">1</span> + + <code class="ruby"> expect(location.lon).to be_a Float</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="22"> + <span class="hits">1</span> + + <code class="ruby"> expect(location.lon.to_i).to eq(-94)</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"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="25"> + + + <code class="ruby">end</code> + </li> + + </ol> + </pre> +</div> + + <div class="source_table" id="c70e94e28321e3e98ee16888808ff671ce904cb7"> + <div class="header"> + <h3>spec/request_spec.rb</h3> + <h4><span class="green">100.0 %</span> covered</h4> + <div> + <b>31</b> relevant lines. + <span class="green"><b>31</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::Request 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="1" data-linenumber="5"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;calls client&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="6"> + <span class="hits">1</span> + + <code class="ruby"> client = create_client</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="7"> + <span class="hits">1</span> + + <code class="ruby"> request = Contentful::Request.new(client, &#39;/content_types&#39;, nil, &#39;nyancat&#39;)</code> + </li> + + <li class="never" data-hits="" data-linenumber="8"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="9"> + <span class="hits">1</span> + + <code class="ruby"> expect(client).to receive(:get).with(request)</code> + </li> + + <li class="never" data-hits="" data-linenumber="10"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="11"> + <span class="hits">1</span> + + <code class="ruby"> request.get</code> + </li> + + <li class="never" data-hits="" data-linenumber="12"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="13"> + + + <code class="ruby"> end</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"> describe &#39;#query&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="16"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;converts arrays given in query to comma strings&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="17"> + <span class="hits">1</span> + + <code class="ruby"> client = create_client</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="18"> + <span class="hits">1</span> + + <code class="ruby"> request = Contentful::Request.new(client, &#39;/entries&#39;, &#39;fields.likes[in]&#39; =&gt; %w(jake finn))</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="19"> + <span class="hits">1</span> + + <code class="ruby"> expect(request.query[:&#39;fields.likes[in]&#39;]).to eq &#39;jake,finn&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="20"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="21"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="22"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="23"> + <span class="hits">1</span> + + <code class="ruby"> context &#39;[single resource]&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="24"> + <span class="hits">1</span> + + <code class="ruby"> let(:request)do</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="25"> + <span class="hits">2</span> + + <code class="ruby"> Contentful::Request.new(create_client, &#39;/content_types&#39;, nil, &#39;nyancat&#39;)</code> + </li> + + <li class="never" data-hits="" data-linenumber="26"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="27"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="28"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#url&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="29"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;contais endpoint&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="30"> + <span class="hits">1</span> + + <code class="ruby"> expect(request.url).to include &#39;content_types&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="31"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="32"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="33"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;contains id&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="34"> + <span class="hits">1</span> + + <code class="ruby"> expect(request.url).to include &#39;nyancat&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="35"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="36"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="37"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="38"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="39"> + <span class="hits">1</span> + + <code class="ruby"> context &#39;[multi resource]&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="40"> + <span class="hits">1</span> + + <code class="ruby"> let(:request)do</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="41"> + <span class="hits">2</span> + + <code class="ruby"> Contentful::Request.new(create_client, &#39;/content_types&#39;, &#39;something&#39; =&gt; &#39;requested&#39;)</code> + </li> + + <li class="never" data-hits="" data-linenumber="42"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="43"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="44"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#query&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="45"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;contains query&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="46"> + <span class="hits">1</span> + + <code class="ruby"> expect(request.query).not_to be_empty</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="47"> + <span class="hits">1</span> + + <code class="ruby"> expect(request.query[:something]).to eq &#39;requested&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="48"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="49"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="50"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="51"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#url&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="52"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;contais endpoint&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="53"> + <span class="hits">1</span> + + <code class="ruby"> expect(request.url).to include &#39;content_types&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="54"> + + + <code class="ruby"> end</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">end</code> + </li> + + </ol> + </pre> +</div> + + <div class="source_table" id="cf18e3b209bc737b0c313a4b779c0388af161e0f"> + <div class="header"> + <h3>spec/resource_building_spec.rb</h3> + <h4><span class="green">100.0 %</span> covered</h4> + <div> + <b>21</b> relevant lines. + <span class="green"><b>21</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 &#39;Resource Building Examples&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="4"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;can deal with arrays&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="5"> + <span class="hits">1</span> + + <code class="ruby"> request = Contentful::Request.new(nil, &#39;entries&#39;)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="6"> + <span class="hits">1</span> + + <code class="ruby"> response = Contentful::Response.new(raw_fixture(&#39;link_array&#39;), request)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="7"> + <span class="hits">1</span> + + <code class="ruby"> resource = Contentful::ResourceBuilder.new(response.object).run</code> + </li> + + <li class="never" data-hits="" data-linenumber="8"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="9"> + <span class="hits">1</span> + + <code class="ruby"> expect(resource.fields[:links]).to be_a Array</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="10"> + <span class="hits">1</span> + + <code class="ruby"> expect(resource.fields[:links].first).to be_a Contentful::Link</code> + </li> + + <li class="never" data-hits="" data-linenumber="11"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="12"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="13"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;replaces links with included versions if present&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="14"> + <span class="hits">1</span> + + <code class="ruby"> request = Contentful::Request.new(nil, &#39;entries&#39;)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="15"> + <span class="hits">1</span> + + <code class="ruby"> response = Contentful::Response.new(raw_fixture(&#39;includes&#39;), request)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="16"> + <span class="hits">1</span> + + <code class="ruby"> resource = Contentful::ResourceBuilder.new(response.object).run.first</code> + </li> + + <li class="never" data-hits="" data-linenumber="17"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="18"> + <span class="hits">1</span> + + <code class="ruby"> expect(resource.fields[:links]).to be_a Array</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="19"> + <span class="hits">1</span> + + <code class="ruby"> expect(resource.fields[:links].first).to be_a Contentful::Entry</code> + </li> + + <li class="never" data-hits="" data-linenumber="20"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="21"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="22"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;can also reference itself&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="23"> + <span class="hits">1</span> + + <code class="ruby"> request = Contentful::Request.new(nil, &#39;entries&#39;)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="24"> + <span class="hits">1</span> + + <code class="ruby"> response = Contentful::Response.new(raw_fixture(&#39;self_link&#39;), request)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="25"> + <span class="hits">1</span> + + <code class="ruby"> resource = Contentful::ResourceBuilder.new(response.object).run.first</code> + </li> + + <li class="never" data-hits="" data-linenumber="26"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="27"> + <span class="hits">1</span> + + <code class="ruby"> other_resource = resource.fields[:e]</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="28"> + <span class="hits">1</span> + + <code class="ruby"> expect(other_resource).to be_a Contentful::Entry</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="29"> + <span class="hits">1</span> + + <code class="ruby"> expect(other_resource.fields[:e]).to eq resource</code> + </li> + + <li class="never" data-hits="" data-linenumber="30"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="31"> + + + <code class="ruby">end</code> + </li> + + </ol> + </pre> +</div> + + <div class="source_table" id="76ffc59eacc7c1b8b583c5ad169fbdbbd3844575"> + <div class="header"> + <h3>spec/response_spec.rb</h3> + <h4><span class="green">100.0 %</span> covered</h4> + <div> + <b>35</b> relevant lines. + <span class="green"><b>35</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::Response do</code> + </li> + + <li class="covered" data-hits="5" data-linenumber="4"> + <span class="hits">5</span> + + <code class="ruby"> let(:successful_response) { Contentful::Response.new raw_fixture(&#39;nyancat&#39;), Contentful::Request.new(nil, &#39;/entries&#39;, nil, &#39;nyancat&#39;) }</code> + </li> + + <li class="covered" data-hits="3" data-linenumber="5"> + <span class="hits">3</span> + + <code class="ruby"> let(:error_response) { Contentful::Response.new raw_fixture(&#39;not_found&#39;, 404) }</code> + </li> + + <li class="covered" data-hits="3" data-linenumber="6"> + <span class="hits">3</span> + + <code class="ruby"> let(:unparsable_response) { Contentful::Response.new raw_fixture(&#39;unparsable&#39;) }</code> + </li> + + <li class="never" data-hits="" data-linenumber="7"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="8"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#raw&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="9"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;returns the raw response it has been initalized with&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="10"> + <span class="hits">1</span> + + <code class="ruby"> expect(successful_response.raw.to_s).to eql raw_fixture(&#39;nyancat&#39;).to_s</code> + </li> + + <li class="never" data-hits="" data-linenumber="11"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="12"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="13"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="14"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#object&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="15"> + <span class="hits">1</span> + + <code class="ruby"> it &quot;returns the repsonse&#39;s parsed json&quot; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="16"> + <span class="hits">1</span> + + <code class="ruby"> expect(successful_response.object).to eq json_fixture(&#39;nyancat&#39;)</code> + </li> + + <li class="never" data-hits="" data-linenumber="17"> + + + <code class="ruby"> end</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"> describe &#39;#request&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="21"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;returns the request the response has been initalized with&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="22"> + <span class="hits">1</span> + + <code class="ruby"> expect(successful_response.request).to be_a Contentful::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"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="25"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="26"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#status&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="27"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;returns :ok for normal responses&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="28"> + <span class="hits">1</span> + + <code class="ruby"> expect(successful_response.status).to eq :ok</code> + </li> + + <li class="never" data-hits="" data-linenumber="29"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="30"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="31"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;returns :error for error responses&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="32"> + <span class="hits">1</span> + + <code class="ruby"> expect(error_response.status).to eq :error</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;returns :error for unparsable json responses&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="36"> + <span class="hits">1</span> + + <code class="ruby"> expect(unparsable_response.status).to eq :error</code> + </li> + + <li class="never" data-hits="" data-linenumber="37"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="38"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="39"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;returns :error for responses without content&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="40"> + <span class="hits">1</span> + + <code class="ruby"> raw_response = &#39;&#39;</code> + </li> + + <li class="covered" data-hits="3" data-linenumber="41"> + <span class="hits">3</span> + + <code class="ruby"> allow(raw_response).to receive(:status) { 204 }</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="42"> + <span class="hits">1</span> + + <code class="ruby"> no_content_response = Contentful::Response.new raw_response</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="43"> + <span class="hits">1</span> + + <code class="ruby"> expect(no_content_response.status).to eq :no_content</code> + </li> + + <li class="never" data-hits="" data-linenumber="44"> + + + <code class="ruby"> end</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;#error_message&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="48"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;returns contentful error message for contentful errors&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="49"> + <span class="hits">1</span> + + <code class="ruby"> expect(error_response.error_message).to eq &#39;The resource could not be found.&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="50"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="51"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="52"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;returns json parser error message for json parse errors&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="53"> + <span class="hits">1</span> + + <code class="ruby"> expect(unparsable_response.error_message).to include &#39;unexpected token&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="54"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="55"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="56"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;returns a ServiceUnavailable error on a 503&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="57"> + <span class="hits">1</span> + + <code class="ruby"> error_response = Contentful::Response.new raw_fixture(&#39;not_found&#39;, 503)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="58"> + <span class="hits">1</span> + + <code class="ruby"> expect(error_response.status).to eql :error</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="59"> + <span class="hits">1</span> + + <code class="ruby"> expect(error_response.object).to be_kind_of Contentful::ServiceUnavailable</code> + </li> + + <li class="never" data-hits="" data-linenumber="60"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="61"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="62"> + + + <code class="ruby">end</code> + </li> + + </ol> + </pre> +</div> + + <div class="source_table" id="44a6c47dc83d7c9458fa55ecc21bc7cb341e554d"> + <div class="header"> + <h3>spec/space_spec.rb</h3> + <h4><span class="green">100.0 %</span> covered</h4> + <div> + <b>17</b> relevant lines. + <span class="green"><b>17</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::Space do</code> + </li> + + <li class="covered" data-hits="11" data-linenumber="4"> + <span class="hits">11</span> + + <code class="ruby"> let(:space) { vcr(&#39;space&#39;) { create_client.space } }</code> + </li> + + <li class="never" data-hits="" data-linenumber="5"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="6"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;SystemProperties&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="7"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has a #sys getter returning a hash with symbol keys&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="8"> + <span class="hits">1</span> + + <code class="ruby"> expect(space.sys).to be_a Hash</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="9"> + <span class="hits">1</span> + + <code class="ruby"> expect(space.sys.keys.sample).to be_a Symbol</code> + </li> + + <li class="never" data-hits="" data-linenumber="10"> + + + <code class="ruby"> end</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;has #id&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="13"> + <span class="hits">1</span> + + <code class="ruby"> expect(space.id).to eq &#39;cfexampleapi&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="14"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="15"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="16"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #type&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="17"> + <span class="hits">1</span> + + <code class="ruby"> expect(space.type).to eq &#39;Space&#39;</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"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="20"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="21"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;Properties&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="22"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #name&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="23"> + <span class="hits">1</span> + + <code class="ruby"> expect(space.name).to eq &#39;Contentful Example API&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="24"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="25"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="26"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #locales&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="27"> + <span class="hits">1</span> + + <code class="ruby"> expect(space.locales).to be_a Array</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="28"> + <span class="hits">1</span> + + <code class="ruby"> expect(space.locales.first).to be_a Contentful::Locale</code> + </li> + + <li class="never" data-hits="" data-linenumber="29"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="30"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="31"> + + + <code class="ruby">end</code> + </li> + + </ol> + </pre> +</div> + <div class="source_table" id="45dd9d664eac2364c4ac42cdc14e09395c27eb0d"> <div class="header"> <h3>spec/support/client.rb</h3> <h4><span class="green">100.0 %</span> covered</h4> <div> @@ -11006,12 +19826,12 @@ <span class="hits">1</span> <code class="ruby">def create_client(options = {})</code> </li> - <li class="covered" data-hits="20" data-linenumber="2"> - <span class="hits">20</span> + <li class="covered" data-hits="174" data-linenumber="2"> + <span class="hits">174</span> <code class="ruby"> Contentful::Client.new({</code> </li> <li class="never" data-hits="" data-linenumber="3"> @@ -11043,15 +19863,15 @@ </div> <div class="source_table" id="f082498d33dd96aab89c6037b28476bc417390d0"> <div class="header"> <h3>spec/support/json_responses.rb</h3> - <h4><span class="red">33.33 %</span> covered</h4> + <h4><span class="green">100.0 %</span> covered</h4> <div> <b>9</b> relevant lines. - <span class="green"><b>3</b> lines covered</span> and - <span class="red"><b>6</b> lines missed.</span> + <span class="green"><b>9</b> lines covered</span> and + <span class="red"><b>0</b> lines missed.</span> </div> </div> <pre> <ol> @@ -11072,43 +19892,43 @@ <span class="hits">1</span> <code class="ruby">def raw_fixture(which, status = 200, _as_json = false)</code> </li> - <li class="missed" data-hits="0" data-linenumber="4"> + <li class="covered" data-hits="18" data-linenumber="4"> + <span class="hits">18</span> - <code class="ruby"> object = Object.new</code> </li> - <li class="missed" data-hits="0" data-linenumber="5"> + <li class="covered" data-hits="46" data-linenumber="5"> + <span class="hits">46</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="34" data-linenumber="6"> + <span class="hits">34</span> - <code class="ruby"> allow(object).to receive(:headers) { {} }</code> </li> - <li class="missed" data-hits="0" data-linenumber="7"> + <li class="covered" data-hits="41" data-linenumber="7"> + <span class="hits">41</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="never" data-hits="" data-linenumber="8"> <code class="ruby"></code> </li> - <li class="missed" data-hits="0" data-linenumber="9"> + <li class="covered" data-hits="18" data-linenumber="9"> + <span class="hits">18</span> - <code class="ruby"> object</code> </li> <li class="never" data-hits="" data-linenumber="10"> @@ -11126,13 +19946,13 @@ <span class="hits">1</span> <code class="ruby">def json_fixture(which, _as_json = false)</code> </li> - <li class="missed" data-hits="0" data-linenumber="13"> + <li class="covered" data-hits="2" data-linenumber="13"> + <span class="hits">2</span> - <code class="ruby"> MultiJson.load(</code> </li> <li class="never" data-hits="" data-linenumber="14"> @@ -11157,15 +19977,15 @@ </div> <div class="source_table" id="c693737d49ae3b6a7a82c79c2f67b288c4f4401c"> <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> @@ -11228,12 +20048,12 @@ <span class="hits">1</span> <code class="ruby">def vcr(name, &amp;block)</code> </li> - <li class="covered" data-hits="20" data-linenumber="11"> - <span class="hits">20</span> + <li class="covered" data-hits="162" data-linenumber="11"> + <span class="hits">162</span> <code class="ruby"> VCR.use_cassette(name, &amp;block)</code> </li> <li class="never" data-hits="" data-linenumber="12"> @@ -11252,16 +20072,1642 @@ <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="14" data-linenumber="15"> + <span class="hits">14</span> - <code class="ruby"> expect { VCR.use_cassette(name, &amp;block) }</code> </li> <li class="never" data-hits="" data-linenumber="16"> + + + <code class="ruby">end</code> + </li> + + </ol> + </pre> +</div> + + <div class="source_table" id="7a8446ffd5e1fc71d0bd203ed5f7ad781f390d2f"> + <div class="header"> + <h3>spec/sync_page_spec.rb</h3> + <h4><span class="green">100.0 %</span> covered</h4> + <div> + <b>54</b> relevant lines. + <span class="green"><b>54</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::SyncPage do</code> + </li> + + <li class="covered" data-hits="15" data-linenumber="4"> + <span class="hits">15</span> + + <code class="ruby"> let(:page_with_more) { vcr(&#39;sync_page&#39;) { create_client.sync(initial: true).first_page } }</code> + </li> + + <li class="covered" data-hits="23" data-linenumber="5"> + <span class="hits">23</span> + + <code class="ruby"> let(:page) { vcr(&#39;sync_page_2&#39;) { create_client.sync.get(&#39;https://cdn.contentful.com/spaces/cfexampleapi/sync?sync_token=w5ZGw6JFwqZmVcKsE8Kow4grw45QdybCr8Okw6AYwqbDksO3ehvDpUPCgcKsKXbCiAwPC8K2w4LDvsOkw6nCjhPDpcOQADElWsOoU8KGR3HCtsOAwqd6wp_Dulp8w6LDsF_CtsK7Kk05wrMvwrLClMOgG2_Dn2sGPg&#39;) } }</code> + </li> + + <li class="never" data-hits="" data-linenumber="6"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="7"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;SystemProperties&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="8"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has a #sys getter returning a hash with symbol keys&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="9"> + <span class="hits">1</span> + + <code class="ruby"> expect(page.sys).to be_a Hash</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="10"> + <span class="hits">1</span> + + <code class="ruby"> expect(page.sys.keys.sample).to be_a Symbol</code> + </li> + + <li class="never" data-hits="" data-linenumber="11"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="12"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="13"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #type&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="14"> + <span class="hits">1</span> + + <code class="ruby"> expect(page.type).to eq &#39;Array&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="15"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="16"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="17"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="18"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;Properties&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="19"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;has #items which contain resources&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="20"> + <span class="hits">1</span> + + <code class="ruby"> expect(page_with_more.items).to be_a Array</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="21"> + <span class="hits">1</span> + + <code class="ruby"> expect(page_with_more.items.sample).to be_a Contentful::BaseResource</code> + </li> + + <li class="never" data-hits="" data-linenumber="22"> + + + <code class="ruby"> end</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"> describe &#39;Fields&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="26"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;properly deals with nested locale fields&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="27"> + <span class="hits">1</span> + + <code class="ruby"> expect(page_with_more.items.first.fields[:name]).to eq &#39;London&#39;</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"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="30"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="31"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#each&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="32"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;is an Enumerator&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="33"> + <span class="hits">1</span> + + <code class="ruby"> expect(page.each).to be_a Enumerator</code> + </li> + + <li class="never" data-hits="" data-linenumber="34"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="35"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="36"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;iterates over items&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="37"> + <span class="hits">1</span> + + <code class="ruby"> expect(page.each.to_a).to eq page.items</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;includes Enumerable&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="41"> + <span class="hits">1</span> + + <code class="ruby"> expect(page.map { |r| r.type }).to eq page.items.map { |r| r.type }</code> + </li> + + <li class="never" data-hits="" data-linenumber="42"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="43"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="44"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="45"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#next_sync_url&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="46"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will return the next_sync_url if there is one&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="47"> + <span class="hits">1</span> + + <code class="ruby"> expect(page.next_sync_url).to be_a String</code> + </li> + + <li class="never" data-hits="" data-linenumber="48"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="49"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="50"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will return nil if note last page, yet&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="51"> + <span class="hits">1</span> + + <code class="ruby"> expect(page_with_more.next_sync_url).to be_nil</code> + </li> + + <li class="never" data-hits="" data-linenumber="52"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="53"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="54"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="55"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#next_page_url&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="56"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will return the next_page_url if there is one&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="57"> + <span class="hits">1</span> + + <code class="ruby"> expect(page_with_more.next_page_url).to be_a String</code> + </li> + + <li class="never" data-hits="" data-linenumber="58"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="59"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="60"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will return nil if on last page&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="61"> + <span class="hits">1</span> + + <code class="ruby"> expect(page.next_page_url).to be_nil</code> + </li> + + <li class="never" data-hits="" data-linenumber="62"> + + + <code class="ruby"> end</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"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="65"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#next_page&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="66"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;requests the next page&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="67"> + <span class="hits">1</span> + + <code class="ruby"> next_page = vcr(&#39;sync_page_2&#39;)do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="68"> + <span class="hits">1</span> + + <code class="ruby"> page_with_more.next_page</code> + </li> + + <li class="never" data-hits="" data-linenumber="69"> + + + <code class="ruby"> end</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="70"> + <span class="hits">1</span> + + <code class="ruby"> expect(next_page).to be_a Contentful::SyncPage</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;will return nil if last page&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="74"> + <span class="hits">1</span> + + <code class="ruby"> expect(page.next_page_url).to be_nil</code> + </li> + + <li class="never" data-hits="" data-linenumber="75"> + + + <code class="ruby"> end</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"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="78"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#next_page?&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="79"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will return true if there is a next page&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="80"> + <span class="hits">1</span> + + <code class="ruby"> expect(page_with_more.next_page?).to be_truthy</code> + </li> + + <li class="never" data-hits="" data-linenumber="81"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="82"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="83"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will return false if last page&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="84"> + <span class="hits">1</span> + + <code class="ruby"> expect(page.next_page?).to be_falsey</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> + + <li class="never" data-hits="" data-linenumber="87"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="88"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#last_page?&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="89"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will return true if no more pages available&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="90"> + <span class="hits">1</span> + + <code class="ruby"> expect(page.last_page?).to be_truthy</code> + </li> + + <li class="never" data-hits="" data-linenumber="91"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="92"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="93"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will return false if more pages available&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="94"> + <span class="hits">1</span> + + <code class="ruby"> expect(page_with_more.last_page?).to be_falsey</code> + </li> + + <li class="never" data-hits="" data-linenumber="95"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="96"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="97"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="98"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#sync&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="99"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;returns the sync that created the page&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="100"> + <span class="hits">1</span> + + <code class="ruby"> expect(page.sync).to be_a Contentful::Sync</code> + </li> + + <li class="never" data-hits="" data-linenumber="101"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="102"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="103"> + + + <code class="ruby">end</code> + </li> + + </ol> + </pre> +</div> + + <div class="source_table" id="f1367d8fdfda61033cd1f804f1c79d5e70adaca8"> + <div class="header"> + <h3>spec/sync_spec.rb</h3> + <h4><span class="green">100.0 %</span> covered</h4> + <div> + <b>71</b> relevant lines. + <span class="green"><b>71</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::Sync do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="4"> + <span class="hits">1</span> + + <code class="ruby"> before :each do</code> + </li> + + <li class="covered" data-hits="13" data-linenumber="5"> + <span class="hits">13</span> + + <code class="ruby"> Contentful::ContentTypeCache.clear!</code> + </li> + + <li class="never" data-hits="" data-linenumber="6"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="7"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="8"> + <span class="hits">1</span> + + <code class="ruby"> let(:first_page) do</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="9"> + <span class="hits">2</span> + + <code class="ruby"> vcr(&#39;sync_page&#39;)do</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="10"> + <span class="hits">2</span> + + <code class="ruby"> create_client.sync(initial: true).first_page</code> + </li> + + <li class="never" data-hits="" data-linenumber="11"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="12"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="13"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="14"> + <span class="hits">1</span> + + <code class="ruby"> let(:last_page) do</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="15"> + <span class="hits">2</span> + + <code class="ruby"> vcr(&#39;sync_page&#39;)do</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="16"> + <span class="hits">2</span> + + <code class="ruby"> vcr(&#39;sync_page_2&#39;)do</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="17"> + <span class="hits">2</span> + + <code class="ruby"> create_client.sync(initial: true).first_page.next_page</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"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="20"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="21"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="22"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#initialize&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="23"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;takes an options hash on initialization&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="24"> + <span class="hits">1</span> + + <code class="ruby"> expect do</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="25"> + <span class="hits">2</span> + + <code class="ruby"> vcr(&#39;sync_deletion&#39;) { create_client.sync(initial: true, type: &#39;Deletion&#39;).first_page }</code> + </li> + + <li class="never" data-hits="" data-linenumber="26"> + + + <code class="ruby"> end.not_to raise_exception</code> + </li> + + <li class="never" data-hits="" data-linenumber="27"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="28"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="29"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;takes a next_sync_url on initialization&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="30"> + <span class="hits">1</span> + + <code class="ruby"> expect do</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="31"> + <span class="hits">2</span> + + <code class="ruby"> vcr(&#39;sync_page_2&#39;) { create_client.sync(&#39;https://cdn.contentful.com/spaces/cfexampleapi/sync?sync_token=w5ZGw6JFwqZmVcKsE8Kow4grw45QdybCr8Okw6AYwqbDksO3ehvDpUPCgcKsKXbCiAwPC8K2w4LDvsOkw6nCjhPDpcOQADElWsOoU8KGR3HCtsOAwqd6wp_Dulp8w6LDsF_CtsK7Kk05wrMvwrLClMOgG2_Dn2sGPg&#39;).first_page }</code> + </li> + + <li class="never" data-hits="" data-linenumber="32"> + + + <code class="ruby"> end.not_to raise_exception</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"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="35"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="36"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#first_page&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="37"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;returns only the first page of a new sync&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="38"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;sync_page&#39;)do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="39"> + <span class="hits">1</span> + + <code class="ruby"> expect(create_client.sync(initial: true).first_page).to be_a Contentful::SyncPage</code> + </li> + + <li class="never" data-hits="" data-linenumber="40"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="41"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="42"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="43"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="44"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#each_page&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="45"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;iterates through sync pages&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="46"> + <span class="hits">1</span> + + <code class="ruby"> sync = create_client.sync(initial: true)</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="47"> + <span class="hits">2</span> + + <code class="ruby"> vcr(&#39;sync_page&#39;){ vcr(&#39;sync_page_2&#39;){</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="48"> + <span class="hits">1</span> + + <code class="ruby"> count = 0</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="49"> + <span class="hits">1</span> + + <code class="ruby"> sync.each_page do |page|</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="50"> + <span class="hits">2</span> + + <code class="ruby"> expect(page).to be_a Contentful::SyncPage</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="51"> + <span class="hits">2</span> + + <code class="ruby"> count += 1</code> + </li> + + <li class="never" data-hits="" data-linenumber="52"> + + + <code class="ruby"> end</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="53"> + <span class="hits">1</span> + + <code class="ruby"> expect(count).to eq 2</code> + </li> + + <li class="never" data-hits="" data-linenumber="54"> + + + <code class="ruby"> }}</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"> describe &#39;#next_sync_url&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="59"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;is empty if there are still more pages to request in the current sync&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="60"> + <span class="hits">1</span> + + <code class="ruby"> expect(first_page.next_sync_url).to be_nil</code> + </li> + + <li class="never" data-hits="" data-linenumber="61"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="62"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="63"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;returns the url to continue the sync next time&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="64"> + <span class="hits">1</span> + + <code class="ruby"> expect(last_page.next_sync_url).to be_a String</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"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="67"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="68"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#completed?&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="69"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will return true if no more pages to request in the current sync&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="70"> + <span class="hits">1</span> + + <code class="ruby"> expect(first_page.next_sync_url).to be_falsey</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;will return true if not all pages requested, yet&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="74"> + <span class="hits">1</span> + + <code class="ruby"> expect(last_page.next_sync_url).to be_truthy</code> + </li> + + <li class="never" data-hits="" data-linenumber="75"> + + + <code class="ruby"> end</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"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="78"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;#each_item&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="79"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will directly iterate through all resources&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="80"> + <span class="hits">1</span> + + <code class="ruby"> sync = create_client.sync(initial: true)</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="81"> + <span class="hits">2</span> + + <code class="ruby"> vcr(&#39;sync_page&#39;){ vcr(&#39;sync_page_2&#39;){</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="82"> + <span class="hits">1</span> + + <code class="ruby"> sync.each_item do |item|</code> + </li> + + <li class="covered" data-hits="14" data-linenumber="83"> + <span class="hits">14</span> + + <code class="ruby"> expect(item).to be_a Contentful::BaseResource</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"> }}</code> + </li> + + <li class="never" data-hits="" data-linenumber="86"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="87"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="88"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="89"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;Resource parsing&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="90"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;will correctly parse the `file` field of an asset&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="91"> + <span class="hits">1</span> + + <code class="ruby"> sync = create_client.sync(initial: true)</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="92"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;sync_page&#39;) {</code> + </li> + + <li class="covered" data-hits="15" data-linenumber="93"> + <span class="hits">15</span> + + <code class="ruby"> asset = sync.first_page.items.select { |item| item.is_a?(Contentful::Asset) }.first</code> + </li> + + <li class="never" data-hits="" data-linenumber="94"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="95"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.file.file_name).to eq &#39;doge.jpg&#39;</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="96"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.file.content_type).to eq &#39;image/jpeg&#39;</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="97"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.file.details[&#39;image&#39;][&#39;width&#39;]).to eq 5800</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="98"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.file.details[&#39;image&#39;][&#39;height&#39;]).to eq 4350</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="99"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.file.details[&#39;size&#39;]).to eq 522943</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="100"> + <span class="hits">1</span> + + <code class="ruby"> expect(asset.file.url).to eq &#39;//images.contentful.com/cfexampleapi/1x0xpXu4pSGS4OukSyWGUK/cc1239c6385428ef26f4180190532818/doge.jpg&#39;</code> + </li> + + <li class="never" data-hits="" data-linenumber="101"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="102"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="103"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="104"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="105"> + <span class="hits">1</span> + + <code class="ruby"> describe &#39;raw_mode&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="106"> + <span class="hits">1</span> + + <code class="ruby"> before do</code> + </li> + + <li class="covered" data-hits="3" data-linenumber="107"> + <span class="hits">3</span> + + <code class="ruby"> @sync = create_client(raw_mode: true).sync(initial: true)</code> + </li> + + <li class="never" data-hits="" data-linenumber="108"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="109"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="110"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;should not fail&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="111"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;sync_page_short&#39;) {</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="112"> + <span class="hits">2</span> + + <code class="ruby"> expect { @sync.first_page }.not_to raise_error</code> + </li> + + <li class="never" data-hits="" data-linenumber="113"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="114"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="115"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="116"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;should return a raw Response&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="117"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;sync_page_short&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="118"> + <span class="hits">1</span> + + <code class="ruby"> expect(@sync.first_page).to be_a Contentful::Response</code> + </li> + + <li class="never" data-hits="" data-linenumber="119"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="120"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="121"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="1" data-linenumber="122"> + <span class="hits">1</span> + + <code class="ruby"> it &#39;should return JSON&#39; do</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="123"> + <span class="hits">1</span> + + <code class="ruby"> expected = {</code> + </li> + + <li class="never" data-hits="" data-linenumber="124"> + + + <code class="ruby"> &quot;sys&quot; =&gt; {&quot;type&quot; =&gt; &quot;Array&quot;},</code> + </li> + + <li class="never" data-hits="" data-linenumber="125"> + + + <code class="ruby"> &quot;items&quot; =&gt; [</code> + </li> + + <li class="never" data-hits="" data-linenumber="126"> + + + <code class="ruby"> {</code> + </li> + + <li class="never" data-hits="" data-linenumber="127"> + + + <code class="ruby"> &quot;sys&quot; =&gt; {</code> + </li> + + <li class="never" data-hits="" data-linenumber="128"> + + + <code class="ruby"> &quot;space&quot; =&gt; {</code> + </li> + + <li class="never" data-hits="" data-linenumber="129"> + + + <code class="ruby"> &quot;sys&quot; =&gt; {</code> + </li> + + <li class="never" data-hits="" data-linenumber="130"> + + + <code class="ruby"> &quot;type&quot; =&gt; &quot;Link&quot;,</code> + </li> + + <li class="never" data-hits="" data-linenumber="131"> + + + <code class="ruby"> &quot;linkType&quot; =&gt; &quot;Space&quot;,</code> + </li> + + <li class="never" data-hits="" data-linenumber="132"> + + + <code class="ruby"> &quot;id&quot; =&gt; &quot;cfexampleapi&quot;}</code> + </li> + + <li class="never" data-hits="" data-linenumber="133"> + + + <code class="ruby"> },</code> + </li> + + <li class="never" data-hits="" data-linenumber="134"> + + + <code class="ruby"> &quot;type&quot; =&gt; &quot;Entry&quot;,</code> + </li> + + <li class="never" data-hits="" data-linenumber="135"> + + + <code class="ruby"> &quot;contentType&quot; =&gt; {</code> + </li> + + <li class="never" data-hits="" data-linenumber="136"> + + + <code class="ruby"> &quot;sys&quot; =&gt; {</code> + </li> + + <li class="never" data-hits="" data-linenumber="137"> + + + <code class="ruby"> &quot;type&quot; =&gt; &quot;Link&quot;,</code> + </li> + + <li class="never" data-hits="" data-linenumber="138"> + + + <code class="ruby"> &quot;linkType&quot; =&gt; &quot;ContentType&quot;,</code> + </li> + + <li class="never" data-hits="" data-linenumber="139"> + + + <code class="ruby"> &quot;id&quot; =&gt; &quot;1t9IbcfdCk6m04uISSsaIK&quot;</code> + </li> + + <li class="never" data-hits="" data-linenumber="140"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="141"> + + + <code class="ruby"> },</code> + </li> + + <li class="never" data-hits="" data-linenumber="142"> + + + <code class="ruby"> &quot;id&quot; =&gt; &quot;5ETMRzkl9KM4omyMwKAOki&quot;,</code> + </li> + + <li class="never" data-hits="" data-linenumber="143"> + + + <code class="ruby"> &quot;revision&quot; =&gt; 2,</code> + </li> + + <li class="never" data-hits="" data-linenumber="144"> + + + <code class="ruby"> &quot;createdAt&quot; =&gt; &quot;2014-02-21T13:42:57.752Z&quot;,</code> + </li> + + <li class="never" data-hits="" data-linenumber="145"> + + + <code class="ruby"> &quot;updatedAt&quot; =&gt; &quot;2014-04-16T12:44:02.691Z&quot;</code> + </li> + + <li class="never" data-hits="" data-linenumber="146"> + + + <code class="ruby"> },</code> + </li> + + <li class="never" data-hits="" data-linenumber="147"> + + + <code class="ruby"> &quot;fields&quot; =&gt; {</code> + </li> + + <li class="never" data-hits="" data-linenumber="148"> + + + <code class="ruby"> &quot;name&quot; =&gt; {&quot;en-US&quot;=&gt;&quot;London&quot;},</code> + </li> + + <li class="never" data-hits="" data-linenumber="149"> + + + <code class="ruby"> &quot;center&quot; =&gt; {</code> + </li> + + <li class="never" data-hits="" data-linenumber="150"> + + + <code class="ruby"> &quot;en-US&quot; =&gt; {&quot;lat&quot;=&gt;51.508515, &quot;lon&quot;=&gt;-0.12548719999995228}</code> + </li> + + <li class="never" data-hits="" data-linenumber="151"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="152"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="153"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="154"> + + + <code class="ruby"> ],</code> + </li> + + <li class="never" data-hits="" data-linenumber="155"> + + + <code class="ruby"> &quot;nextSyncUrl&quot; =&gt; &quot;https://cdn.contentful.com/spaces/cfexampleapi/sync?sync_token=w5ZGw6JFwqZmVcKsE8Kow4grw45QdybCr8Okw6AYwqbDksO3ehvDpUPCgcKsKXbCiAwPC8K2w4LDvsOkw6nCjhPDpcOQADElWsOoU8KGR3HCtsOAwqd6wp_Dulp8w6LDsF_CtsK7Kk05wrMvwrLClMOgG2_Dn2sGPg&quot;</code> + </li> + + <li class="never" data-hits="" data-linenumber="156"> + + + <code class="ruby"> }</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="157"> + <span class="hits">1</span> + + <code class="ruby"> vcr(&#39;sync_page_short&#39;) {</code> + </li> + + <li class="covered" data-hits="1" data-linenumber="158"> + <span class="hits">1</span> + + <code class="ruby"> expect(@sync.first_page.object).to eql expected</code> + </li> + + <li class="never" data-hits="" data-linenumber="159"> + + + <code class="ruby"> }</code> + </li> + + <li class="never" data-hits="" data-linenumber="160"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="161"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="162"> <code class="ruby">end</code> </li>