houston 2.2.3 → 2.2.4

Sign up to get free protection for your applications and to get access to all the features.
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>