houston 2.2.3 → 2.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +27 -24
  4. data/LICENSE +1 -1
  5. data/README.md +60 -15
  6. data/Rakefile +4 -8
  7. data/coverage/assets/{0.8.0 → 0.10.0}/application.css +0 -0
  8. data/coverage/assets/{0.8.0 → 0.10.0}/application.js +1079 -931
  9. data/coverage/assets/{0.8.0 → 0.10.0}/colorbox/border.png +0 -0
  10. data/coverage/assets/{0.8.0 → 0.10.0}/colorbox/controls.png +0 -0
  11. data/coverage/assets/{0.8.0 → 0.10.0}/colorbox/loading.gif +0 -0
  12. data/coverage/assets/{0.8.0 → 0.10.0}/colorbox/loading_background.png +0 -0
  13. data/coverage/assets/{0.7.1 → 0.10.0}/favicon_green.png +0 -0
  14. data/coverage/assets/{0.7.1 → 0.10.0}/favicon_red.png +0 -0
  15. data/coverage/assets/{0.7.1 → 0.10.0}/favicon_yellow.png +0 -0
  16. data/coverage/assets/{0.7.1 → 0.10.0}/loading.gif +0 -0
  17. data/coverage/assets/{0.7.1 → 0.10.0}/magnify.png +0 -0
  18. data/coverage/assets/{0.7.1 → 0.10.0}/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  19. data/coverage/assets/{0.7.1 → 0.10.0}/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  20. data/coverage/assets/{0.7.1 → 0.10.0}/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  21. data/coverage/assets/{0.7.1 → 0.10.0}/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  22. data/coverage/assets/{0.7.1 → 0.10.0}/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  23. data/coverage/assets/{0.7.1 → 0.10.0}/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  24. data/coverage/assets/{0.7.1 → 0.10.0}/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  25. data/coverage/assets/{0.7.1 → 0.10.0}/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  26. data/coverage/assets/{0.7.1 → 0.10.0}/smoothness/images/ui-icons_222222_256x240.png +0 -0
  27. data/coverage/assets/{0.7.1 → 0.10.0}/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  28. data/coverage/assets/{0.7.1 → 0.10.0}/smoothness/images/ui-icons_454545_256x240.png +0 -0
  29. data/coverage/assets/{0.7.1 → 0.10.0}/smoothness/images/ui-icons_888888_256x240.png +0 -0
  30. data/coverage/assets/{0.7.1 → 0.10.0}/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  31. data/coverage/index.html +296 -184
  32. data/houston.gemspec +17 -17
  33. data/lib/houston/client.rb +16 -8
  34. data/lib/houston/connection.rb +1 -1
  35. data/lib/houston/notification.rb +33 -30
  36. data/lib/houston/version.rb +1 -1
  37. data/spec/client_spec.rb +13 -13
  38. data/spec/notification_spec.rb +25 -21
  39. data/spec/spec_helper.rb +2 -2
  40. metadata +56 -97
  41. data/coverage/assets/0.7.1/application.css +0 -1110
  42. data/coverage/assets/0.7.1/application.js +0 -626
  43. data/coverage/assets/0.7.1/fancybox/blank.gif +0 -0
  44. data/coverage/assets/0.7.1/fancybox/fancy_close.png +0 -0
  45. data/coverage/assets/0.7.1/fancybox/fancy_loading.png +0 -0
  46. data/coverage/assets/0.7.1/fancybox/fancy_nav_left.png +0 -0
  47. data/coverage/assets/0.7.1/fancybox/fancy_nav_right.png +0 -0
  48. data/coverage/assets/0.7.1/fancybox/fancy_shadow_e.png +0 -0
  49. data/coverage/assets/0.7.1/fancybox/fancy_shadow_n.png +0 -0
  50. data/coverage/assets/0.7.1/fancybox/fancy_shadow_ne.png +0 -0
  51. data/coverage/assets/0.7.1/fancybox/fancy_shadow_nw.png +0 -0
  52. data/coverage/assets/0.7.1/fancybox/fancy_shadow_s.png +0 -0
  53. data/coverage/assets/0.7.1/fancybox/fancy_shadow_se.png +0 -0
  54. data/coverage/assets/0.7.1/fancybox/fancy_shadow_sw.png +0 -0
  55. data/coverage/assets/0.7.1/fancybox/fancy_shadow_w.png +0 -0
  56. data/coverage/assets/0.7.1/fancybox/fancy_title_left.png +0 -0
  57. data/coverage/assets/0.7.1/fancybox/fancy_title_main.png +0 -0
  58. data/coverage/assets/0.7.1/fancybox/fancy_title_over.png +0 -0
  59. data/coverage/assets/0.7.1/fancybox/fancy_title_right.png +0 -0
  60. data/coverage/assets/0.7.1/fancybox/fancybox-x.png +0 -0
  61. data/coverage/assets/0.7.1/fancybox/fancybox-y.png +0 -0
  62. data/coverage/assets/0.7.1/fancybox/fancybox.png +0 -0
  63. data/coverage/assets/0.8.0/favicon_green.png +0 -0
  64. data/coverage/assets/0.8.0/favicon_red.png +0 -0
  65. data/coverage/assets/0.8.0/favicon_yellow.png +0 -0
  66. data/coverage/assets/0.8.0/loading.gif +0 -0
  67. data/coverage/assets/0.8.0/magnify.png +0 -0
  68. data/coverage/assets/0.8.0/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  69. data/coverage/assets/0.8.0/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  70. data/coverage/assets/0.8.0/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  71. data/coverage/assets/0.8.0/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  72. data/coverage/assets/0.8.0/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  73. data/coverage/assets/0.8.0/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  74. data/coverage/assets/0.8.0/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  75. data/coverage/assets/0.8.0/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  76. data/coverage/assets/0.8.0/smoothness/images/ui-icons_222222_256x240.png +0 -0
  77. data/coverage/assets/0.8.0/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  78. data/coverage/assets/0.8.0/smoothness/images/ui-icons_454545_256x240.png +0 -0
  79. data/coverage/assets/0.8.0/smoothness/images/ui-icons_888888_256x240.png +0 -0
  80. data/coverage/assets/0.8.0/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  81. data/houston-2.2.2.gem +0 -0
@@ -3,38 +3,38 @@
3
3
  <head>
4
4
  <title>Code coverage for Houston</title>
5
5
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
6
- <script src='./assets/0.8.0/application.js' type='text/javascript'></script>
7
- <link href='./assets/0.8.0/application.css' media='screen, projection, print' rel='stylesheet' type='text/css'>
8
- <link rel="shortcut icon" type="image/png" href="./assets/0.8.0/favicon_red.png" />
9
- <link rel="icon" type="image/png" href="./assets/0.8.0/favicon.png" />
6
+ <script src='./assets/0.10.0/application.js' type='text/javascript'></script>
7
+ <link href='./assets/0.10.0/application.css' media='screen, projection, print' rel='stylesheet' type='text/css'>
8
+ <link rel="shortcut icon" type="image/png" href="./assets/0.10.0/favicon_red.png" />
9
+ <link rel="icon" type="image/png" href="./assets/0.10.0/favicon.png" />
10
10
  </head>
11
11
 
12
12
  <body>
13
13
  <div id="loading">
14
- <img src="./assets/0.8.0/loading.gif" alt="loading"/>
14
+ <img src="./assets/0.10.0/loading.gif" alt="loading"/>
15
15
  </div>
16
16
  <div id="wrapper" style="display:none;">
17
- <div class="timestamp">Generated <abbr class="timeago" title="2015-01-18T09:23:41-08:00">2015-01-18T09:23:41-08:00</abbr></div>
17
+ <div class="timestamp">Generated <abbr class="timeago" title="2017-01-11T12:32:00+03:00">2017-01-11T12:32:00+03:00</abbr></div>
18
18
  <ul class="group_tabs"></ul>
19
19
 
20
20
  <div id="content">
21
21
  <div class="file_list_container" id="AllFiles">
22
22
  <h2>
23
23
  <span class="group_name">All Files</span>
24
- (<span class="covered_percent"><span class="red">74.68%</span></span>
24
+ (<span class="covered_percent"><span class="red">74.85%</span></span>
25
25
  covered at
26
26
  <span class="covered_strength">
27
27
  <span class="green">
28
- 5.64
28
+ 6.2
29
29
  </span>
30
30
  </span> hits/line)
31
31
  </h2>
32
32
  <a name="AllFiles"></a>
33
33
  <div>
34
- <b>4</b> files in total.
35
- <b>158</b> relevant lines.
36
- <span class="green"><b>118</b> lines covered</span> and
37
- <span class="red"><b>40</b> lines missed </span>
34
+ <b>5</b> files in total.
35
+ <b>167</b> relevant lines.
36
+ <span class="green"><b>125</b> lines covered</span> and
37
+ <span class="red"><b>42</b> lines missed </span>
38
38
  </div>
39
39
  <table class="file_list">
40
40
  <thead>
@@ -51,7 +51,7 @@
51
51
  <tbody>
52
52
 
53
53
  <tr>
54
- <td class="strong"><a href="#28f862b31fdfb88d6f36a66abba5e0998ef8aa33" class="src_link" title="lib/houston.rb">lib/houston.rb</a></td>
54
+ <td class="strong"><a href="#72d7df740003fec9ba7330c9230dc3a1edee4945" class="src_link" title="lib/houston.rb">lib/houston.rb</a></td>
55
55
  <td class="green strong">100.0 %</td>
56
56
  <td>4</td>
57
57
  <td>4</td>
@@ -61,17 +61,17 @@
61
61
  </tr>
62
62
 
63
63
  <tr>
64
- <td class="strong"><a href="#a3eaf6c199f250e522479598f621cf8c25128a64" class="src_link" title="lib/houston/client.rb">lib/houston/client.rb</a></td>
65
- <td class="red strong">69.81 %</td>
66
- <td>84</td>
67
- <td>53</td>
68
- <td>37</td>
69
- <td>16</td>
70
- <td>2.5</td>
64
+ <td class="strong"><a href="#c4c7250bbb95849a2925fcae422513df8e00e04e" class="src_link" title="lib/houston/client.rb">lib/houston/client.rb</a></td>
65
+ <td class="red strong">68.97 %</td>
66
+ <td>92</td>
67
+ <td>58</td>
68
+ <td>40</td>
69
+ <td>18</td>
70
+ <td>2.8</td>
71
71
  </tr>
72
72
 
73
73
  <tr>
74
- <td class="strong"><a href="#f24bc8dc5a3b650c85198e750604fb16d9511c42" class="src_link" title="lib/houston/connection.rb">lib/houston/connection.rb</a></td>
74
+ <td class="strong"><a href="#6ad9dbe47d23364c5492cfc7f56fc9540e1a205f" class="src_link" title="lib/houston/connection.rb">lib/houston/connection.rb</a></td>
75
75
  <td class="red strong">42.5 %</td>
76
76
  <td>65</td>
77
77
  <td>40</td>
@@ -81,13 +81,23 @@
81
81
  </tr>
82
82
 
83
83
  <tr>
84
- <td class="strong"><a href="#7ea710ee036930b7540634e0cd00f6d863839f93" class="src_link" title="lib/houston/notification.rb">lib/houston/notification.rb</a></td>
85
- <td class="green strong">98.36 %</td>
86
- <td>118</td>
87
- <td>61</td>
88
- <td>60</td>
84
+ <td class="strong"><a href="#77241215823ec249590ac9f1602fb0bded160262" class="src_link" title="lib/houston/notification.rb">lib/houston/notification.rb</a></td>
85
+ <td class="green strong">98.41 %</td>
86
+ <td>121</td>
87
+ <td>63</td>
88
+ <td>62</td>
89
89
  <td>1</td>
90
- <td>12.1</td>
90
+ <td>13.5</td>
91
+ </tr>
92
+
93
+ <tr>
94
+ <td class="strong"><a href="#e8b12a361feeb011b347553315d0176790f5020a" class="src_link" title="lib/houston/version.rb">lib/houston/version.rb</a></td>
95
+ <td class="green strong">100.0 %</td>
96
+ <td>3</td>
97
+ <td>2</td>
98
+ <td>2</td>
99
+ <td>0</td>
100
+ <td>1.0</td>
91
101
  </tr>
92
102
 
93
103
  </tbody>
@@ -99,14 +109,14 @@
99
109
  </div>
100
110
 
101
111
  <div id="footer">
102
- Generated by <a href="http://github.com/colszowka/simplecov">simplecov</a> v0.9.0
103
- and simplecov-html v0.8.0<br/>
112
+ Generated by <a href="http://github.com/colszowka/simplecov">simplecov</a> v0.12.0
113
+ and simplecov-html v0.10.0<br/>
104
114
  using RSpec
105
115
  </div>
106
116
 
107
117
  <div class="source_files">
108
118
 
109
- <div class="source_table" id="28f862b31fdfb88d6f36a66abba5e0998ef8aa33">
119
+ <div class="source_table" id="72d7df740003fec9ba7330c9230dc3a1edee4945">
110
120
  <div class="header">
111
121
  <h3>lib/houston.rb</h3>
112
122
  <h4><span class="green">100.0 %</span> covered</h4>
@@ -148,14 +158,14 @@
148
158
  </pre>
149
159
  </div>
150
160
 
151
- <div class="source_table" id="a3eaf6c199f250e522479598f621cf8c25128a64">
161
+ <div class="source_table" id="c4c7250bbb95849a2925fcae422513df8e00e04e">
152
162
  <div class="header">
153
163
  <h3>lib/houston/client.rb</h3>
154
- <h4><span class="red">69.81 %</span> covered</h4>
164
+ <h4><span class="red">68.97 %</span> covered</h4>
155
165
  <div>
156
- <b>53</b> relevant lines.
157
- <span class="green"><b>37</b> lines covered</span> and
158
- <span class="red"><b>16</b> lines missed.</span>
166
+ <b>58</b> relevant lines.
167
+ <span class="green"><b>40</b> lines covered</span> and
168
+ <span class="red"><b>18</b> lines missed.</span>
159
169
  </div>
160
170
  </div>
161
171
 
@@ -171,13 +181,13 @@
171
181
  <li class="covered" data-hits="1" data-linenumber="2">
172
182
  <span class="hits">1</span>
173
183
 
174
- <code class="ruby"> APPLE_PRODUCTION_GATEWAY_URI = &quot;apn://gateway.push.apple.com:2195&quot;</code>
184
+ <code class="ruby"> APPLE_PRODUCTION_GATEWAY_URI = &#39;apn://gateway.push.apple.com:2195&#39;</code>
175
185
  </li>
176
186
 
177
187
  <li class="covered" data-hits="1" data-linenumber="3">
178
188
  <span class="hits">1</span>
179
189
 
180
- <code class="ruby"> APPLE_PRODUCTION_FEEDBACK_URI = &quot;apn://feedback.push.apple.com:2196&quot;</code>
190
+ <code class="ruby"> APPLE_PRODUCTION_FEEDBACK_URI = &#39;apn://feedback.push.apple.com:2196&#39;</code>
181
191
  </li>
182
192
 
183
193
  <li class="never" data-hits="" data-linenumber="4">
@@ -189,13 +199,13 @@
189
199
  <li class="covered" data-hits="1" data-linenumber="5">
190
200
  <span class="hits">1</span>
191
201
 
192
- <code class="ruby"> APPLE_DEVELOPMENT_GATEWAY_URI = &quot;apn://gateway.sandbox.push.apple.com:2195&quot;</code>
202
+ <code class="ruby"> APPLE_DEVELOPMENT_GATEWAY_URI = &#39;apn://gateway.sandbox.push.apple.com:2195&#39;</code>
193
203
  </li>
194
204
 
195
205
  <li class="covered" data-hits="1" data-linenumber="6">
196
206
  <span class="hits">1</span>
197
207
 
198
- <code class="ruby"> APPLE_DEVELOPMENT_FEEDBACK_URI = &quot;apn://feedback.sandbox.push.apple.com:2196&quot;</code>
208
+ <code class="ruby"> APPLE_DEVELOPMENT_FEEDBACK_URI = &#39;apn://feedback.sandbox.push.apple.com:2196&#39;</code>
199
209
  </li>
200
210
 
201
211
  <li class="never" data-hits="" data-linenumber="7">
@@ -339,7 +349,7 @@
339
349
  <li class="covered" data-hits="13" data-linenumber="30">
340
350
  <span class="hits">13</span>
341
351
 
342
- <code class="ruby"> @certificate = File.read(ENV[&#39;APN_CERTIFICATE&#39;]) if ENV[&#39;APN_CERTIFICATE&#39;]</code>
352
+ <code class="ruby"> @certificate = certificate_data</code>
343
353
  </li>
344
354
 
345
355
  <li class="covered" data-hits="13" data-linenumber="31">
@@ -495,7 +505,7 @@
495
505
  <li class="missed" data-hits="0" data-linenumber="56">
496
506
 
497
507
 
498
- <code class="ruby"> command, status, index = error.unpack(&quot;ccN&quot;)</code>
508
+ <code class="ruby"> command, status, index = error.unpack(&#39;ccN&#39;)</code>
499
509
  </li>
500
510
 
501
511
  <li class="missed" data-hits="0" data-linenumber="57">
@@ -597,7 +607,7 @@
597
607
  <li class="covered" data-hits="4" data-linenumber="73">
598
608
  <span class="hits">4</span>
599
609
 
600
- <code class="ruby"> devices &lt;&lt; {token: token, timestamp: timestamp} if token &amp;&amp; timestamp</code>
610
+ <code class="ruby"> devices &lt;&lt; { token: token, timestamp: timestamp } if token &amp;&amp; timestamp</code>
601
611
  </li>
602
612
 
603
613
  <li class="never" data-hits="" data-linenumber="74">
@@ -645,7 +655,7 @@
645
655
  <li class="covered" data-hits="3" data-linenumber="81">
646
656
  <span class="hits">3</span>
647
657
 
648
- <code class="ruby"> unregistered_devices.collect{|device| device[:token]}</code>
658
+ <code class="ruby"> unregistered_devices.collect { |device| device[:token] }</code>
649
659
  </li>
650
660
 
651
661
  <li class="never" data-hits="" data-linenumber="82">
@@ -657,10 +667,58 @@
657
667
  <li class="never" data-hits="" data-linenumber="83">
658
668
 
659
669
 
670
+ <code class="ruby"></code>
671
+ </li>
672
+
673
+ <li class="covered" data-hits="1" data-linenumber="84">
674
+ <span class="hits">1</span>
675
+
676
+ <code class="ruby"> def certificate_data</code>
677
+ </li>
678
+
679
+ <li class="covered" data-hits="13" data-linenumber="85">
680
+ <span class="hits">13</span>
681
+
682
+ <code class="ruby"> if ENV[&#39;APN_CERTIFICATE&#39;]</code>
683
+ </li>
684
+
685
+ <li class="missed" data-hits="0" data-linenumber="86">
686
+
687
+
688
+ <code class="ruby"> File.read(ENV[&#39;APN_CERTIFICATE&#39;])</code>
689
+ </li>
690
+
691
+ <li class="covered" data-hits="13" data-linenumber="87">
692
+ <span class="hits">13</span>
693
+
694
+ <code class="ruby"> elsif ENV[&#39;APN_CERTIFICATE_DATA&#39;]</code>
695
+ </li>
696
+
697
+ <li class="missed" data-hits="0" data-linenumber="88">
698
+
699
+
700
+ <code class="ruby"> ENV[&#39;APN_CERTIFICATE_DATA&#39;]</code>
701
+ </li>
702
+
703
+ <li class="never" data-hits="" data-linenumber="89">
704
+
705
+
706
+ <code class="ruby"> end</code>
707
+ </li>
708
+
709
+ <li class="never" data-hits="" data-linenumber="90">
710
+
711
+
712
+ <code class="ruby"> end</code>
713
+ </li>
714
+
715
+ <li class="never" data-hits="" data-linenumber="91">
716
+
717
+
660
718
  <code class="ruby"> end</code>
661
719
  </li>
662
720
 
663
- <li class="never" data-hits="" data-linenumber="84">
721
+ <li class="never" data-hits="" data-linenumber="92">
664
722
 
665
723
 
666
724
  <code class="ruby">end</code>
@@ -670,7 +728,7 @@
670
728
  </pre>
671
729
  </div>
672
730
 
673
- <div class="source_table" id="f24bc8dc5a3b650c85198e750604fb16d9511c42">
731
+ <div class="source_table" id="6ad9dbe47d23364c5492cfc7f56fc9540e1a205f">
674
732
  <div class="header">
675
733
  <h3>lib/houston/connection.rb</h3>
676
734
  <h4><span class="red">42.5 %</span> covered</h4>
@@ -969,7 +1027,7 @@
969
1027
  <li class="missed" data-hits="0" data-linenumber="48">
970
1028
 
971
1029
 
972
- <code class="ruby"> not (@ssl and @socket).nil?</code>
1030
+ <code class="ruby"> not (@ssl &amp;&amp; @socket).nil?</code>
973
1031
  </li>
974
1032
 
975
1033
  <li class="never" data-hits="" data-linenumber="49">
@@ -1078,13 +1136,13 @@
1078
1136
  </pre>
1079
1137
  </div>
1080
1138
 
1081
- <div class="source_table" id="7ea710ee036930b7540634e0cd00f6d863839f93">
1139
+ <div class="source_table" id="77241215823ec249590ac9f1602fb0bded160262">
1082
1140
  <div class="header">
1083
1141
  <h3>lib/houston/notification.rb</h3>
1084
- <h4><span class="green">98.36 %</span> covered</h4>
1142
+ <h4><span class="green">98.41 %</span> covered</h4>
1085
1143
  <div>
1086
- <b>61</b> relevant lines.
1087
- <span class="green"><b>60</b> lines covered</span> and
1144
+ <b>63</b> relevant lines.
1145
+ <span class="green"><b>62</b> lines covered</span> and
1088
1146
  <span class="red"><b>1</b> lines missed.</span>
1089
1147
  </div>
1090
1148
  </div>
@@ -1137,67 +1195,67 @@
1137
1195
  <li class="never" data-hits="" data-linenumber="8">
1138
1196
 
1139
1197
 
1140
- <code class="ruby"> 0 =&gt; &quot;No errors encountered&quot;,</code>
1198
+ <code class="ruby"> 0 =&gt; &#39;No errors encountered&#39;,</code>
1141
1199
  </li>
1142
1200
 
1143
1201
  <li class="never" data-hits="" data-linenumber="9">
1144
1202
 
1145
1203
 
1146
- <code class="ruby"> 1 =&gt; &quot;Processing error&quot;,</code>
1204
+ <code class="ruby"> 1 =&gt; &#39;Processing error&#39;,</code>
1147
1205
  </li>
1148
1206
 
1149
1207
  <li class="never" data-hits="" data-linenumber="10">
1150
1208
 
1151
1209
 
1152
- <code class="ruby"> 2 =&gt; &quot;Missing device token&quot;,</code>
1210
+ <code class="ruby"> 2 =&gt; &#39;Missing device token&#39;,</code>
1153
1211
  </li>
1154
1212
 
1155
1213
  <li class="never" data-hits="" data-linenumber="11">
1156
1214
 
1157
1215
 
1158
- <code class="ruby"> 3 =&gt; &quot;Missing topic&quot;,</code>
1216
+ <code class="ruby"> 3 =&gt; &#39;Missing topic&#39;,</code>
1159
1217
  </li>
1160
1218
 
1161
1219
  <li class="never" data-hits="" data-linenumber="12">
1162
1220
 
1163
1221
 
1164
- <code class="ruby"> 4 =&gt; &quot;Missing payload&quot;,</code>
1222
+ <code class="ruby"> 4 =&gt; &#39;Missing payload&#39;,</code>
1165
1223
  </li>
1166
1224
 
1167
1225
  <li class="never" data-hits="" data-linenumber="13">
1168
1226
 
1169
1227
 
1170
- <code class="ruby"> 5 =&gt; &quot;Invalid token size&quot;,</code>
1228
+ <code class="ruby"> 5 =&gt; &#39;Invalid token size&#39;,</code>
1171
1229
  </li>
1172
1230
 
1173
1231
  <li class="never" data-hits="" data-linenumber="14">
1174
1232
 
1175
1233
 
1176
- <code class="ruby"> 6 =&gt; &quot;Invalid topic size&quot;,</code>
1234
+ <code class="ruby"> 6 =&gt; &#39;Invalid topic size&#39;,</code>
1177
1235
  </li>
1178
1236
 
1179
1237
  <li class="never" data-hits="" data-linenumber="15">
1180
1238
 
1181
1239
 
1182
- <code class="ruby"> 7 =&gt; &quot;Invalid payload size&quot;,</code>
1240
+ <code class="ruby"> 7 =&gt; &#39;Invalid payload size&#39;,</code>
1183
1241
  </li>
1184
1242
 
1185
1243
  <li class="never" data-hits="" data-linenumber="16">
1186
1244
 
1187
1245
 
1188
- <code class="ruby"> 8 =&gt; &quot;Invalid token&quot;,</code>
1246
+ <code class="ruby"> 8 =&gt; &#39;Invalid token&#39;,</code>
1189
1247
  </li>
1190
1248
 
1191
1249
  <li class="never" data-hits="" data-linenumber="17">
1192
1250
 
1193
1251
 
1194
- <code class="ruby"> 10 =&gt; &quot;Shutdown&quot;,</code>
1252
+ <code class="ruby"> 10 =&gt; &#39;Shutdown&#39;,</code>
1195
1253
  </li>
1196
1254
 
1197
1255
  <li class="never" data-hits="" data-linenumber="18">
1198
1256
 
1199
1257
 
1200
- <code class="ruby"> 255 =&gt; &quot;Unknown error&quot;</code>
1258
+ <code class="ruby"> 255 =&gt; &#39;Unknown error&#39;</code>
1201
1259
  </li>
1202
1260
 
1203
1261
  <li class="never" data-hits="" data-linenumber="19">
@@ -1281,520 +1339,574 @@
1281
1339
  <li class="covered" data-hits="1" data-linenumber="32">
1282
1340
  <span class="hits">1</span>
1283
1341
 
1284
- <code class="ruby"> attr_accessor :token, :alert, :badge, :sound, :category, :content_available, :custom_data, :id, :expiry, :priority</code>
1342
+ <code class="ruby"> attr_accessor :token, :alert, :badge, :sound, :category, :content_available, :mutable_content,</code>
1285
1343
  </li>
1286
1344
 
1287
- <li class="covered" data-hits="1" data-linenumber="33">
1345
+ <li class="never" data-hits="" data-linenumber="33">
1346
+
1347
+
1348
+ <code class="ruby"> :custom_data, :id, :expiry, :priority</code>
1349
+ </li>
1350
+
1351
+ <li class="covered" data-hits="1" data-linenumber="34">
1288
1352
  <span class="hits">1</span>
1289
1353
 
1290
1354
  <code class="ruby"> attr_reader :sent_at</code>
1291
1355
  </li>
1292
1356
 
1293
- <li class="covered" data-hits="1" data-linenumber="34">
1357
+ <li class="covered" data-hits="1" data-linenumber="35">
1294
1358
  <span class="hits">1</span>
1295
1359
 
1296
1360
  <code class="ruby"> attr_writer :apns_error_code</code>
1297
1361
  </li>
1298
1362
 
1299
- <li class="never" data-hits="" data-linenumber="35">
1363
+ <li class="never" data-hits="" data-linenumber="36">
1300
1364
 
1301
1365
 
1302
1366
  <code class="ruby"></code>
1303
1367
  </li>
1304
1368
 
1305
- <li class="covered" data-hits="1" data-linenumber="36">
1369
+ <li class="covered" data-hits="1" data-linenumber="37">
1306
1370
  <span class="hits">1</span>
1307
1371
 
1308
1372
  <code class="ruby"> alias :device :token</code>
1309
1373
  </li>
1310
1374
 
1311
- <li class="covered" data-hits="1" data-linenumber="37">
1375
+ <li class="covered" data-hits="1" data-linenumber="38">
1312
1376
  <span class="hits">1</span>
1313
1377
 
1314
1378
  <code class="ruby"> alias :device= :token=</code>
1315
1379
  </li>
1316
1380
 
1317
- <li class="never" data-hits="" data-linenumber="38">
1381
+ <li class="never" data-hits="" data-linenumber="39">
1318
1382
 
1319
1383
 
1320
1384
  <code class="ruby"></code>
1321
1385
  </li>
1322
1386
 
1323
- <li class="covered" data-hits="1" data-linenumber="39">
1387
+ <li class="covered" data-hits="1" data-linenumber="40">
1324
1388
  <span class="hits">1</span>
1325
1389
 
1326
1390
  <code class="ruby"> def initialize(options = {})</code>
1327
1391
  </li>
1328
1392
 
1329
- <li class="covered" data-hits="36" data-linenumber="40">
1330
- <span class="hits">36</span>
1393
+ <li class="covered" data-hits="39" data-linenumber="41">
1394
+ <span class="hits">39</span>
1331
1395
 
1332
1396
  <code class="ruby"> @token = options.delete(:token) || options.delete(:device)</code>
1333
1397
  </li>
1334
1398
 
1335
- <li class="covered" data-hits="36" data-linenumber="41">
1336
- <span class="hits">36</span>
1399
+ <li class="covered" data-hits="39" data-linenumber="42">
1400
+ <span class="hits">39</span>
1337
1401
 
1338
1402
  <code class="ruby"> @alert = options.delete(:alert)</code>
1339
1403
  </li>
1340
1404
 
1341
- <li class="covered" data-hits="36" data-linenumber="42">
1342
- <span class="hits">36</span>
1405
+ <li class="covered" data-hits="39" data-linenumber="43">
1406
+ <span class="hits">39</span>
1343
1407
 
1344
1408
  <code class="ruby"> @badge = options.delete(:badge)</code>
1345
1409
  </li>
1346
1410
 
1347
- <li class="covered" data-hits="36" data-linenumber="43">
1348
- <span class="hits">36</span>
1411
+ <li class="covered" data-hits="39" data-linenumber="44">
1412
+ <span class="hits">39</span>
1349
1413
 
1350
1414
  <code class="ruby"> @sound = options.delete(:sound)</code>
1351
1415
  </li>
1352
1416
 
1353
- <li class="covered" data-hits="36" data-linenumber="44">
1354
- <span class="hits">36</span>
1417
+ <li class="covered" data-hits="39" data-linenumber="45">
1418
+ <span class="hits">39</span>
1355
1419
 
1356
1420
  <code class="ruby"> @category = options.delete(:category)</code>
1357
1421
  </li>
1358
1422
 
1359
- <li class="covered" data-hits="36" data-linenumber="45">
1360
- <span class="hits">36</span>
1423
+ <li class="covered" data-hits="39" data-linenumber="46">
1424
+ <span class="hits">39</span>
1361
1425
 
1362
1426
  <code class="ruby"> @expiry = options.delete(:expiry)</code>
1363
1427
  </li>
1364
1428
 
1365
- <li class="covered" data-hits="36" data-linenumber="46">
1366
- <span class="hits">36</span>
1429
+ <li class="covered" data-hits="39" data-linenumber="47">
1430
+ <span class="hits">39</span>
1367
1431
 
1368
1432
  <code class="ruby"> @id = options.delete(:id)</code>
1369
1433
  </li>
1370
1434
 
1371
- <li class="covered" data-hits="36" data-linenumber="47">
1372
- <span class="hits">36</span>
1435
+ <li class="covered" data-hits="39" data-linenumber="48">
1436
+ <span class="hits">39</span>
1373
1437
 
1374
1438
  <code class="ruby"> @priority = options.delete(:priority)</code>
1375
1439
  </li>
1376
1440
 
1377
- <li class="covered" data-hits="36" data-linenumber="48">
1378
- <span class="hits">36</span>
1441
+ <li class="covered" data-hits="39" data-linenumber="49">
1442
+ <span class="hits">39</span>
1379
1443
 
1380
1444
  <code class="ruby"> @content_available = options.delete(:content_available)</code>
1381
1445
  </li>
1382
1446
 
1383
- <li class="never" data-hits="" data-linenumber="49">
1447
+ <li class="covered" data-hits="39" data-linenumber="50">
1448
+ <span class="hits">39</span>
1449
+
1450
+ <code class="ruby"> @mutable_content = options.delete(:mutable_content)</code>
1451
+ </li>
1452
+
1453
+ <li class="never" data-hits="" data-linenumber="51">
1384
1454
 
1385
1455
 
1386
1456
  <code class="ruby"></code>
1387
1457
  </li>
1388
1458
 
1389
- <li class="covered" data-hits="36" data-linenumber="50">
1390
- <span class="hits">36</span>
1459
+ <li class="covered" data-hits="39" data-linenumber="52">
1460
+ <span class="hits">39</span>
1391
1461
 
1392
1462
  <code class="ruby"> @custom_data = options</code>
1393
1463
  </li>
1394
1464
 
1395
- <li class="never" data-hits="" data-linenumber="51">
1465
+ <li class="never" data-hits="" data-linenumber="53">
1396
1466
 
1397
1467
 
1398
1468
  <code class="ruby"> end</code>
1399
1469
  </li>
1400
1470
 
1401
- <li class="never" data-hits="" data-linenumber="52">
1471
+ <li class="never" data-hits="" data-linenumber="54">
1402
1472
 
1403
1473
 
1404
1474
  <code class="ruby"></code>
1405
1475
  </li>
1406
1476
 
1407
- <li class="covered" data-hits="1" data-linenumber="53">
1477
+ <li class="covered" data-hits="1" data-linenumber="55">
1408
1478
  <span class="hits">1</span>
1409
1479
 
1410
1480
  <code class="ruby"> def payload</code>
1411
1481
  </li>
1412
1482
 
1413
- <li class="covered" data-hits="59" data-linenumber="54">
1414
- <span class="hits">59</span>
1483
+ <li class="covered" data-hits="61" data-linenumber="56">
1484
+ <span class="hits">61</span>
1415
1485
 
1416
- <code class="ruby"> json = {}.merge(@custom_data || {}).inject({}){|h,(k,v)| h[k.to_s] = v; h}</code>
1486
+ <code class="ruby"> json = {}.merge(@custom_data || {}).inject({}) { |h, (k, v)| h[k.to_s] = v; h }</code>
1417
1487
  </li>
1418
1488
 
1419
- <li class="never" data-hits="" data-linenumber="55">
1489
+ <li class="never" data-hits="" data-linenumber="57">
1420
1490
 
1421
1491
 
1422
1492
  <code class="ruby"></code>
1423
1493
  </li>
1424
1494
 
1425
- <li class="covered" data-hits="23" data-linenumber="56">
1426
- <span class="hits">23</span>
1495
+ <li class="covered" data-hits="25" data-linenumber="58">
1496
+ <span class="hits">25</span>
1427
1497
 
1428
1498
  <code class="ruby"> json[&#39;aps&#39;] ||= {}</code>
1429
1499
  </li>
1430
1500
 
1431
- <li class="covered" data-hits="23" data-linenumber="57">
1432
- <span class="hits">23</span>
1501
+ <li class="covered" data-hits="25" data-linenumber="59">
1502
+ <span class="hits">25</span>
1433
1503
 
1434
1504
  <code class="ruby"> json[&#39;aps&#39;][&#39;alert&#39;] = @alert if @alert</code>
1435
1505
  </li>
1436
1506
 
1437
- <li class="covered" data-hits="23" data-linenumber="58">
1438
- <span class="hits">23</span>
1507
+ <li class="covered" data-hits="25" data-linenumber="60">
1508
+ <span class="hits">25</span>
1439
1509
 
1440
1510
  <code class="ruby"> json[&#39;aps&#39;][&#39;badge&#39;] = @badge.to_i rescue 0 if @badge</code>
1441
1511
  </li>
1442
1512
 
1443
- <li class="covered" data-hits="23" data-linenumber="59">
1444
- <span class="hits">23</span>
1513
+ <li class="covered" data-hits="25" data-linenumber="61">
1514
+ <span class="hits">25</span>
1445
1515
 
1446
1516
  <code class="ruby"> json[&#39;aps&#39;][&#39;sound&#39;] = @sound if @sound</code>
1447
1517
  </li>
1448
1518
 
1449
- <li class="covered" data-hits="23" data-linenumber="60">
1450
- <span class="hits">23</span>
1519
+ <li class="covered" data-hits="25" data-linenumber="62">
1520
+ <span class="hits">25</span>
1451
1521
 
1452
1522
  <code class="ruby"> json[&#39;aps&#39;][&#39;category&#39;] = @category if @category</code>
1453
1523
  </li>
1454
1524
 
1455
- <li class="covered" data-hits="23" data-linenumber="61">
1456
- <span class="hits">23</span>
1525
+ <li class="covered" data-hits="25" data-linenumber="63">
1526
+ <span class="hits">25</span>
1457
1527
 
1458
1528
  <code class="ruby"> json[&#39;aps&#39;][&#39;content-available&#39;] = 1 if @content_available</code>
1459
1529
  </li>
1460
1530
 
1461
- <li class="never" data-hits="" data-linenumber="62">
1531
+ <li class="covered" data-hits="25" data-linenumber="64">
1532
+ <span class="hits">25</span>
1533
+
1534
+ <code class="ruby"> json[&#39;aps&#39;][&#39;mutable-content&#39;] = 1 if @mutable_content</code>
1535
+ </li>
1536
+
1537
+ <li class="never" data-hits="" data-linenumber="65">
1462
1538
 
1463
1539
 
1464
1540
  <code class="ruby"></code>
1465
1541
  </li>
1466
1542
 
1467
- <li class="covered" data-hits="23" data-linenumber="63">
1468
- <span class="hits">23</span>
1543
+ <li class="covered" data-hits="25" data-linenumber="66">
1544
+ <span class="hits">25</span>
1469
1545
 
1470
1546
  <code class="ruby"> json</code>
1471
1547
  </li>
1472
1548
 
1473
- <li class="never" data-hits="" data-linenumber="64">
1549
+ <li class="never" data-hits="" data-linenumber="67">
1474
1550
 
1475
1551
 
1476
1552
  <code class="ruby"> end</code>
1477
1553
  </li>
1478
1554
 
1479
- <li class="never" data-hits="" data-linenumber="65">
1555
+ <li class="never" data-hits="" data-linenumber="68">
1480
1556
 
1481
1557
 
1482
1558
  <code class="ruby"></code>
1483
1559
  </li>
1484
1560
 
1485
- <li class="covered" data-hits="1" data-linenumber="66">
1561
+ <li class="covered" data-hits="1" data-linenumber="69">
1486
1562
  <span class="hits">1</span>
1487
1563
 
1488
1564
  <code class="ruby"> def message</code>
1489
1565
  </li>
1490
1566
 
1491
- <li class="covered" data-hits="15" data-linenumber="67">
1567
+ <li class="covered" data-hits="15" data-linenumber="70">
1492
1568
  <span class="hits">15</span>
1493
1569
 
1494
1570
  <code class="ruby"> data = [device_token_item,</code>
1495
1571
  </li>
1496
1572
 
1497
- <li class="never" data-hits="" data-linenumber="68">
1573
+ <li class="never" data-hits="" data-linenumber="71">
1498
1574
 
1499
1575
 
1500
1576
  <code class="ruby"> payload_item,</code>
1501
1577
  </li>
1502
1578
 
1503
- <li class="never" data-hits="" data-linenumber="69">
1579
+ <li class="never" data-hits="" data-linenumber="72">
1504
1580
 
1505
1581
 
1506
1582
  <code class="ruby"> identifier_item,</code>
1507
1583
  </li>
1508
1584
 
1509
- <li class="never" data-hits="" data-linenumber="70">
1585
+ <li class="never" data-hits="" data-linenumber="73">
1510
1586
 
1511
1587
 
1512
1588
  <code class="ruby"> expiration_item,</code>
1513
1589
  </li>
1514
1590
 
1515
- <li class="never" data-hits="" data-linenumber="71">
1591
+ <li class="never" data-hits="" data-linenumber="74">
1516
1592
 
1517
1593
 
1518
1594
  <code class="ruby"> priority_item].compact.join</code>
1519
1595
  </li>
1520
1596
 
1521
- <li class="covered" data-hits="15" data-linenumber="72">
1597
+ <li class="covered" data-hits="15" data-linenumber="75">
1522
1598
  <span class="hits">15</span>
1523
1599
 
1524
1600
  <code class="ruby"> [2, data.bytes.count, data].pack(&#39;cNa*&#39;)</code>
1525
1601
  </li>
1526
1602
 
1527
- <li class="never" data-hits="" data-linenumber="73">
1603
+ <li class="never" data-hits="" data-linenumber="76">
1528
1604
 
1529
1605
 
1530
1606
  <code class="ruby"> end</code>
1531
1607
  </li>
1532
1608
 
1533
- <li class="never" data-hits="" data-linenumber="74">
1609
+ <li class="never" data-hits="" data-linenumber="77">
1534
1610
 
1535
1611
 
1536
1612
  <code class="ruby"></code>
1537
1613
  </li>
1538
1614
 
1539
- <li class="covered" data-hits="1" data-linenumber="75">
1615
+ <li class="covered" data-hits="1" data-linenumber="78">
1540
1616
  <span class="hits">1</span>
1541
1617
 
1542
1618
  <code class="ruby"> def mark_as_sent!</code>
1543
1619
  </li>
1544
1620
 
1545
- <li class="covered" data-hits="2" data-linenumber="76">
1621
+ <li class="covered" data-hits="2" data-linenumber="79">
1546
1622
  <span class="hits">2</span>
1547
1623
 
1548
1624
  <code class="ruby"> @sent_at = Time.now</code>
1549
1625
  </li>
1550
1626
 
1551
- <li class="never" data-hits="" data-linenumber="77">
1627
+ <li class="never" data-hits="" data-linenumber="80">
1552
1628
 
1553
1629
 
1554
1630
  <code class="ruby"> end</code>
1555
1631
  </li>
1556
1632
 
1557
- <li class="never" data-hits="" data-linenumber="78">
1633
+ <li class="never" data-hits="" data-linenumber="81">
1558
1634
 
1559
1635
 
1560
1636
  <code class="ruby"></code>
1561
1637
  </li>
1562
1638
 
1563
- <li class="covered" data-hits="1" data-linenumber="79">
1639
+ <li class="covered" data-hits="1" data-linenumber="82">
1564
1640
  <span class="hits">1</span>
1565
1641
 
1566
1642
  <code class="ruby"> def mark_as_unsent!</code>
1567
1643
  </li>
1568
1644
 
1569
- <li class="covered" data-hits="1" data-linenumber="80">
1645
+ <li class="covered" data-hits="1" data-linenumber="83">
1570
1646
  <span class="hits">1</span>
1571
1647
 
1572
1648
  <code class="ruby"> @sent_at = nil</code>
1573
1649
  </li>
1574
1650
 
1575
- <li class="never" data-hits="" data-linenumber="81">
1651
+ <li class="never" data-hits="" data-linenumber="84">
1576
1652
 
1577
1653
 
1578
1654
  <code class="ruby"> end</code>
1579
1655
  </li>
1580
1656
 
1581
- <li class="never" data-hits="" data-linenumber="82">
1657
+ <li class="never" data-hits="" data-linenumber="85">
1582
1658
 
1583
1659
 
1584
1660
  <code class="ruby"></code>
1585
1661
  </li>
1586
1662
 
1587
- <li class="covered" data-hits="1" data-linenumber="83">
1663
+ <li class="covered" data-hits="1" data-linenumber="86">
1588
1664
  <span class="hits">1</span>
1589
1665
 
1590
1666
  <code class="ruby"> def sent?</code>
1591
1667
  </li>
1592
1668
 
1593
- <li class="covered" data-hits="3" data-linenumber="84">
1669
+ <li class="covered" data-hits="3" data-linenumber="87">
1594
1670
  <span class="hits">3</span>
1595
1671
 
1596
1672
  <code class="ruby"> !!@sent_at</code>
1597
1673
  </li>
1598
1674
 
1599
- <li class="never" data-hits="" data-linenumber="85">
1675
+ <li class="never" data-hits="" data-linenumber="88">
1600
1676
 
1601
1677
 
1602
1678
  <code class="ruby"> end</code>
1603
1679
  </li>
1604
1680
 
1605
- <li class="never" data-hits="" data-linenumber="86">
1681
+ <li class="never" data-hits="" data-linenumber="89">
1606
1682
 
1607
1683
 
1608
1684
  <code class="ruby"></code>
1609
1685
  </li>
1610
1686
 
1611
- <li class="covered" data-hits="1" data-linenumber="87">
1687
+ <li class="covered" data-hits="1" data-linenumber="90">
1612
1688
  <span class="hits">1</span>
1613
1689
 
1614
1690
  <code class="ruby"> def valid?</code>
1615
1691
  </li>
1616
1692
 
1617
- <li class="missed" data-hits="0" data-linenumber="88">
1693
+ <li class="missed" data-hits="0" data-linenumber="91">
1618
1694
 
1619
1695
 
1620
1696
  <code class="ruby"> payload.to_json.bytesize &lt;= MAXIMUM_PAYLOAD_SIZE</code>
1621
1697
  </li>
1622
1698
 
1623
- <li class="never" data-hits="" data-linenumber="89">
1699
+ <li class="never" data-hits="" data-linenumber="92">
1624
1700
 
1625
1701
 
1626
1702
  <code class="ruby"> end</code>
1627
1703
  </li>
1628
1704
 
1629
- <li class="never" data-hits="" data-linenumber="90">
1705
+ <li class="never" data-hits="" data-linenumber="93">
1630
1706
 
1631
1707
 
1632
1708
  <code class="ruby"></code>
1633
1709
  </li>
1634
1710
 
1635
- <li class="covered" data-hits="1" data-linenumber="91">
1711
+ <li class="covered" data-hits="1" data-linenumber="94">
1636
1712
  <span class="hits">1</span>
1637
1713
 
1638
1714
  <code class="ruby"> def error</code>
1639
1715
  </li>
1640
1716
 
1641
- <li class="covered" data-hits="3" data-linenumber="92">
1717
+ <li class="covered" data-hits="3" data-linenumber="95">
1642
1718
  <span class="hits">3</span>
1643
1719
 
1644
- <code class="ruby"> APNSError.new(@apns_error_code) if @apns_error_code and @apns_error_code.nonzero?</code>
1720
+ <code class="ruby"> APNSError.new(@apns_error_code) if @apns_error_code &amp;&amp; @apns_error_code.nonzero?</code>
1645
1721
  </li>
1646
1722
 
1647
- <li class="never" data-hits="" data-linenumber="93">
1723
+ <li class="never" data-hits="" data-linenumber="96">
1648
1724
 
1649
1725
 
1650
1726
  <code class="ruby"> end</code>
1651
1727
  </li>
1652
1728
 
1653
- <li class="never" data-hits="" data-linenumber="94">
1729
+ <li class="never" data-hits="" data-linenumber="97">
1654
1730
 
1655
1731
 
1656
1732
  <code class="ruby"></code>
1657
1733
  </li>
1658
1734
 
1659
- <li class="covered" data-hits="1" data-linenumber="95">
1735
+ <li class="covered" data-hits="1" data-linenumber="98">
1660
1736
  <span class="hits">1</span>
1661
1737
 
1662
1738
  <code class="ruby"> private</code>
1663
1739
  </li>
1664
1740
 
1665
- <li class="never" data-hits="" data-linenumber="96">
1741
+ <li class="never" data-hits="" data-linenumber="99">
1666
1742
 
1667
1743
 
1668
1744
  <code class="ruby"></code>
1669
1745
  </li>
1670
1746
 
1671
- <li class="covered" data-hits="1" data-linenumber="97">
1747
+ <li class="covered" data-hits="1" data-linenumber="100">
1672
1748
  <span class="hits">1</span>
1673
1749
 
1674
- <code class="ruby"> def device_token_item</code>
1750
+ <code class="ruby"> def device_token_item</code>
1675
1751
  </li>
1676
1752
 
1677
- <li class="covered" data-hits="15" data-linenumber="98">
1753
+ <li class="covered" data-hits="15" data-linenumber="101">
1678
1754
  <span class="hits">15</span>
1679
1755
 
1680
- <code class="ruby"> [1, 32, @token.gsub(/[&lt;\s&gt;]/, &#39;&#39;)].pack(&#39;cnH64&#39;)</code>
1756
+ <code class="ruby"> [1, 32, @token.gsub(/[&lt;\s&gt;]/, &#39;&#39;)].pack(&#39;cnH64&#39;)</code>
1681
1757
  </li>
1682
1758
 
1683
- <li class="never" data-hits="" data-linenumber="99">
1759
+ <li class="never" data-hits="" data-linenumber="102">
1684
1760
 
1685
1761
 
1686
- <code class="ruby"> end</code>
1762
+ <code class="ruby"> end</code>
1687
1763
  </li>
1688
1764
 
1689
- <li class="never" data-hits="" data-linenumber="100">
1765
+ <li class="never" data-hits="" data-linenumber="103">
1690
1766
 
1691
1767
 
1692
1768
  <code class="ruby"></code>
1693
1769
  </li>
1694
1770
 
1695
- <li class="covered" data-hits="1" data-linenumber="101">
1771
+ <li class="covered" data-hits="1" data-linenumber="104">
1696
1772
  <span class="hits">1</span>
1697
1773
 
1698
- <code class="ruby"> def payload_item</code>
1774
+ <code class="ruby"> def payload_item</code>
1699
1775
  </li>
1700
1776
 
1701
- <li class="covered" data-hits="15" data-linenumber="102">
1777
+ <li class="covered" data-hits="15" data-linenumber="105">
1702
1778
  <span class="hits">15</span>
1703
1779
 
1704
- <code class="ruby"> json = payload.to_json</code>
1780
+ <code class="ruby"> json = payload.to_json</code>
1705
1781
  </li>
1706
1782
 
1707
- <li class="covered" data-hits="15" data-linenumber="103">
1783
+ <li class="covered" data-hits="15" data-linenumber="106">
1708
1784
  <span class="hits">15</span>
1709
1785
 
1710
- <code class="ruby"> [2, json.bytes.count, json].pack(&#39;cna*&#39;)</code>
1786
+ <code class="ruby"> [2, json.bytes.count, json].pack(&#39;cna*&#39;)</code>
1711
1787
  </li>
1712
1788
 
1713
- <li class="never" data-hits="" data-linenumber="104">
1789
+ <li class="never" data-hits="" data-linenumber="107">
1714
1790
 
1715
1791
 
1716
- <code class="ruby"> end</code>
1792
+ <code class="ruby"> end</code>
1717
1793
  </li>
1718
1794
 
1719
- <li class="never" data-hits="" data-linenumber="105">
1795
+ <li class="never" data-hits="" data-linenumber="108">
1720
1796
 
1721
1797
 
1722
1798
  <code class="ruby"></code>
1723
1799
  </li>
1724
1800
 
1725
- <li class="covered" data-hits="1" data-linenumber="106">
1801
+ <li class="covered" data-hits="1" data-linenumber="109">
1726
1802
  <span class="hits">1</span>
1727
1803
 
1728
- <code class="ruby"> def identifier_item</code>
1804
+ <code class="ruby"> def identifier_item</code>
1729
1805
  </li>
1730
1806
 
1731
- <li class="covered" data-hits="15" data-linenumber="107">
1807
+ <li class="covered" data-hits="15" data-linenumber="110">
1732
1808
  <span class="hits">15</span>
1733
1809
 
1734
- <code class="ruby"> [3, 4, @id].pack(&#39;cnN&#39;) unless @id.nil?</code>
1810
+ <code class="ruby"> [3, 4, @id].pack(&#39;cnN&#39;) unless @id.nil?</code>
1735
1811
  </li>
1736
1812
 
1737
- <li class="never" data-hits="" data-linenumber="108">
1813
+ <li class="never" data-hits="" data-linenumber="111">
1738
1814
 
1739
1815
 
1740
- <code class="ruby"> end</code>
1816
+ <code class="ruby"> end</code>
1741
1817
  </li>
1742
1818
 
1743
- <li class="never" data-hits="" data-linenumber="109">
1819
+ <li class="never" data-hits="" data-linenumber="112">
1744
1820
 
1745
1821
 
1746
1822
  <code class="ruby"></code>
1747
1823
  </li>
1748
1824
 
1749
- <li class="covered" data-hits="1" data-linenumber="110">
1825
+ <li class="covered" data-hits="1" data-linenumber="113">
1750
1826
  <span class="hits">1</span>
1751
1827
 
1752
- <code class="ruby"> def expiration_item</code>
1828
+ <code class="ruby"> def expiration_item</code>
1753
1829
  </li>
1754
1830
 
1755
- <li class="covered" data-hits="15" data-linenumber="111">
1831
+ <li class="covered" data-hits="15" data-linenumber="114">
1756
1832
  <span class="hits">15</span>
1757
1833
 
1758
- <code class="ruby"> [4, 4, @expiry.to_i].pack(&#39;cnN&#39;) unless @expiry.nil?</code>
1834
+ <code class="ruby"> [4, 4, @expiry.to_i].pack(&#39;cnN&#39;) unless @expiry.nil?</code>
1759
1835
  </li>
1760
1836
 
1761
- <li class="never" data-hits="" data-linenumber="112">
1837
+ <li class="never" data-hits="" data-linenumber="115">
1762
1838
 
1763
1839
 
1764
- <code class="ruby"> end</code>
1840
+ <code class="ruby"> end</code>
1765
1841
  </li>
1766
1842
 
1767
- <li class="never" data-hits="" data-linenumber="113">
1843
+ <li class="never" data-hits="" data-linenumber="116">
1768
1844
 
1769
1845
 
1770
1846
  <code class="ruby"></code>
1771
1847
  </li>
1772
1848
 
1773
- <li class="covered" data-hits="1" data-linenumber="114">
1849
+ <li class="covered" data-hits="1" data-linenumber="117">
1774
1850
  <span class="hits">1</span>
1775
1851
 
1776
- <code class="ruby"> def priority_item</code>
1852
+ <code class="ruby"> def priority_item</code>
1777
1853
  </li>
1778
1854
 
1779
- <li class="covered" data-hits="15" data-linenumber="115">
1855
+ <li class="covered" data-hits="15" data-linenumber="118">
1780
1856
  <span class="hits">15</span>
1781
1857
 
1782
- <code class="ruby"> [5, 1, @priority].pack(&#39;cnc&#39;) unless @priority.nil?</code>
1858
+ <code class="ruby"> [5, 1, @priority].pack(&#39;cnc&#39;) unless @priority.nil?</code>
1783
1859
  </li>
1784
1860
 
1785
- <li class="never" data-hits="" data-linenumber="116">
1861
+ <li class="never" data-hits="" data-linenumber="119">
1786
1862
 
1787
1863
 
1788
- <code class="ruby"> end</code>
1864
+ <code class="ruby"> end</code>
1789
1865
  </li>
1790
1866
 
1791
- <li class="never" data-hits="" data-linenumber="117">
1867
+ <li class="never" data-hits="" data-linenumber="120">
1792
1868
 
1793
1869
 
1794
1870
  <code class="ruby"> end</code>
1795
1871
  </li>
1796
1872
 
1797
- <li class="never" data-hits="" data-linenumber="118">
1873
+ <li class="never" data-hits="" data-linenumber="121">
1874
+
1875
+
1876
+ <code class="ruby">end</code>
1877
+ </li>
1878
+
1879
+ </ol>
1880
+ </pre>
1881
+ </div>
1882
+
1883
+ <div class="source_table" id="e8b12a361feeb011b347553315d0176790f5020a">
1884
+ <div class="header">
1885
+ <h3>lib/houston/version.rb</h3>
1886
+ <h4><span class="green">100.0 %</span> covered</h4>
1887
+ <div>
1888
+ <b>2</b> relevant lines.
1889
+ <span class="green"><b>2</b> lines covered</span> and
1890
+ <span class="red"><b>0</b> lines missed.</span>
1891
+ </div>
1892
+ </div>
1893
+
1894
+ <pre>
1895
+ <ol>
1896
+
1897
+ <li class="covered" data-hits="1" data-linenumber="1">
1898
+ <span class="hits">1</span>
1899
+
1900
+ <code class="ruby">module Houston</code>
1901
+ </li>
1902
+
1903
+ <li class="covered" data-hits="1" data-linenumber="2">
1904
+ <span class="hits">1</span>
1905
+
1906
+ <code class="ruby"> VERSION = &#39;2.2.4&#39;</code>
1907
+ </li>
1908
+
1909
+ <li class="never" data-hits="" data-linenumber="3">
1798
1910
 
1799
1911
 
1800
1912
  <code class="ruby">end</code>