houston 2.2.4 → 2.3.0

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 (35) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile.lock +22 -22
  3. data/README.md +35 -14
  4. data/bin/apn +2 -2
  5. data/coverage/assets/{0.10.0 → 0.10.2}/application.css +0 -0
  6. data/coverage/assets/{0.10.0 → 0.10.2}/application.js +0 -0
  7. data/coverage/assets/{0.10.0 → 0.10.2}/colorbox/border.png +0 -0
  8. data/coverage/assets/{0.10.0 → 0.10.2}/colorbox/controls.png +0 -0
  9. data/coverage/assets/{0.10.0 → 0.10.2}/colorbox/loading.gif +0 -0
  10. data/coverage/assets/{0.10.0 → 0.10.2}/colorbox/loading_background.png +0 -0
  11. data/coverage/assets/{0.10.0 → 0.10.2}/favicon_green.png +0 -0
  12. data/coverage/assets/{0.10.0 → 0.10.2}/favicon_red.png +0 -0
  13. data/coverage/assets/{0.10.0 → 0.10.2}/favicon_yellow.png +0 -0
  14. data/coverage/assets/{0.10.0 → 0.10.2}/loading.gif +0 -0
  15. data/coverage/assets/{0.10.0 → 0.10.2}/magnify.png +0 -0
  16. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  17. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  18. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  19. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  20. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  21. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  22. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  23. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  24. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-icons_222222_256x240.png +0 -0
  25. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  26. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-icons_454545_256x240.png +0 -0
  27. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-icons_888888_256x240.png +0 -0
  28. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  29. data/coverage/index.html +163 -128
  30. data/lib/houston/client.rb +2 -2
  31. data/lib/houston/connection.rb +2 -2
  32. data/lib/houston/notification.rb +6 -1
  33. data/lib/houston/version.rb +1 -1
  34. data/spec/notification_spec.rb +13 -5
  35. metadata +27 -27
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 62b98bdcafd6d8dc99ba994deb3ff5b5963bcb12
4
- data.tar.gz: 58e6036255edb8a4e6403c3b8e63eea765e587e3
2
+ SHA256:
3
+ metadata.gz: 6c931143a682bc5e6807738eb60a0dade3b0cde0fdcea9704ef0b85d81d53487
4
+ data.tar.gz: 77de53e8b15c233315716fcbaac6f1d332319bf29139287841178103b76fe143
5
5
  SHA512:
6
- metadata.gz: 82355e5daa760f2fc1d8998d9f5aad92842fd65db661e9fc1f58c6ca32a8da3b492ee303f6a98e0aab487e383ebf31ded16ad65689d4dbad0c228167937c1c76
7
- data.tar.gz: 7592018c066df70f1bd37b65d7fd387fd921975e7a4ec6893e94d6e57d8692cc01386f14c1ace277db5d9251ca3f910daaebf0f50dbb05f72dca1fd17ea8f0ba
6
+ metadata.gz: ddf28b2482d803ec803f92f93c13de8236276b57f36f524686d5164f83fc4bbb0b79aa05a514acf42b83cc536b3ba0cd44074b0929c682466ee980d13895c009
7
+ data.tar.gz: 0b3e091551866c5389ad13a98b8904c529b3cdc59a87acc88d39ecd98c3a5a3cf2e48138a201b130ccebc717527d2fef4726b5528ee062f0e4f8cb0a4cbeb547
@@ -1,38 +1,38 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- houston (2.2.4)
4
+ houston (2.3.0)
5
5
  commander (~> 4.4)
6
6
  json
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- commander (4.4.3)
11
+ commander (4.4.6)
12
12
  highline (~> 1.7.2)
13
- diff-lcs (1.2.5)
14
- docile (1.1.5)
15
- highline (1.7.8)
16
- json (2.0.2)
17
- rake (12.0.0)
18
- rspec (3.5.0)
19
- rspec-core (~> 3.5.0)
20
- rspec-expectations (~> 3.5.0)
21
- rspec-mocks (~> 3.5.0)
22
- rspec-core (3.5.4)
23
- rspec-support (~> 3.5.0)
24
- rspec-expectations (3.5.0)
13
+ diff-lcs (1.3)
14
+ docile (1.3.1)
15
+ highline (1.7.10)
16
+ json (2.1.0)
17
+ rake (12.3.1)
18
+ rspec (3.8.0)
19
+ rspec-core (~> 3.8.0)
20
+ rspec-expectations (~> 3.8.0)
21
+ rspec-mocks (~> 3.8.0)
22
+ rspec-core (3.8.0)
23
+ rspec-support (~> 3.8.0)
24
+ rspec-expectations (3.8.1)
25
25
  diff-lcs (>= 1.2.0, < 2.0)
26
- rspec-support (~> 3.5.0)
27
- rspec-mocks (3.5.0)
26
+ rspec-support (~> 3.8.0)
27
+ rspec-mocks (3.8.0)
28
28
  diff-lcs (>= 1.2.0, < 2.0)
29
- rspec-support (~> 3.5.0)
30
- rspec-support (3.5.0)
31
- simplecov (0.12.0)
32
- docile (~> 1.1.0)
29
+ rspec-support (~> 3.8.0)
30
+ rspec-support (3.8.0)
31
+ simplecov (0.16.1)
32
+ docile (~> 1.1)
33
33
  json (>= 1.8, < 3)
34
34
  simplecov-html (~> 0.10.0)
35
- simplecov-html (0.10.0)
35
+ simplecov-html (0.10.2)
36
36
 
37
37
  PLATFORMS
38
38
  ruby
@@ -44,4 +44,4 @@ DEPENDENCIES
44
44
  simplecov
45
45
 
46
46
  BUNDLED WITH
47
- 1.13.7
47
+ 1.16.1
data/README.md CHANGED
@@ -26,22 +26,23 @@ require 'houston'
26
26
  # Environment variables are automatically read, or can be overridden by any specified options. You can also
27
27
  # conveniently use `Houston::Client.development` or `Houston::Client.production`.
28
28
  APN = Houston::Client.development
29
- APN.certificate = File.read("/path/to/apple_push_notification.pem")
29
+ APN.certificate = File.read('/path/to/apple_push_notification.pem')
30
30
 
31
31
  # An example of the token sent back when a device registers for notifications
32
- token = "<ce8be627 2e43e855 16033e24 b4c28922 0eeda487 9c477160 b2545e95 b68b5969>"
32
+ token = '<ce8be627 2e43e855 16033e24 b4c28922 0eeda487 9c477160 b2545e95 b68b5969>'
33
33
 
34
34
  # Create a notification that alerts a message to the user, plays a sound, and sets the badge on the app
35
35
  notification = Houston::Notification.new(device: token)
36
- notification.alert = "Hello, World!"
36
+ notification.alert = 'Hello, World!'
37
37
 
38
38
  # Notifications can also change the badge count, have a custom sound, have a category identifier, indicate available Newsstand content, or pass along arbitrary data.
39
39
  notification.badge = 57
40
- notification.sound = "sosumi.aiff"
41
- notification.category = "INVITE_CATEGORY"
40
+ notification.sound = 'sosumi.aiff'
41
+ notification.category = 'INVITE_CATEGORY'
42
42
  notification.content_available = true
43
43
  notification.mutable_content = true
44
- notification.custom_data = { foo: "bar" }
44
+ notification.custom_data = { foo: 'bar' }
45
+ notification.url_args = %w[boarding A998]
45
46
 
46
47
  # And... sent! That's all it takes.
47
48
  APN.push(notification)
@@ -72,10 +73,10 @@ puts "Error: #{notification.error}." if notification.error
72
73
 
73
74
  ### Silent Notifications
74
75
 
75
- To send a silent push notification, set `sound` to an empty string (`""`):
76
+ To send a silent push notification, set `sound` to an empty string (`''`):
76
77
 
77
78
  ```ruby
78
- Houston::Notification.new(sound: "", content_available: true)
79
+ Houston::Notification.new(sound: '', content_available: true)
79
80
  ```
80
81
 
81
82
  ### Mutable Notifications
@@ -91,13 +92,13 @@ Houston::Notification.new(mutable_content: true)
91
92
  If you want to manage your own persistent connection to Apple push services, such as for background workers, here's how to do it:
92
93
 
93
94
  ```ruby
94
- certificate = File.read("/path/to/apple_push_notification.pem")
95
- passphrase = "..."
95
+ certificate = File.read('/path/to/apple_push_notification.pem')
96
+ passphrase = '...'
96
97
  connection = Houston::Connection.new(Houston::APPLE_DEVELOPMENT_GATEWAY_URI, certificate, passphrase)
97
98
  connection.open
98
99
 
99
100
  notification = Houston::Notification.new(device: token)
100
- notification.alert = "Hello, World!"
101
+ notification.alert = 'Hello, World!'
101
102
  connection.write(notification.message)
102
103
 
103
104
  connection.close
@@ -118,9 +119,9 @@ In `lib/tasks/notifications.rake`:
118
119
  ```ruby
119
120
  namespace :notifications do
120
121
  task device_token_feedback: [:environment] do
121
- APN.devices.each do |device_hash|
122
+ APN.unregistered_devices.each do |device_hash|
122
123
  # Format: { token: token, timestamp: timestamp }
123
- device = Device.find_by(token: device_hash['token'])
124
+ device = Device.find_by(token: device_hash[:token])
124
125
  next unless device.present?
125
126
  # Remove device token
126
127
  device.update_attribute(:device_token, nil)
@@ -141,9 +142,11 @@ Houston also comes with the `apn` binary, which provides a convenient way to tes
141
142
 
142
143
  ## Enabling Push Notifications on iOS
143
144
 
144
- ### AppDelegate.m
145
+ ### Objective-C
145
146
 
146
147
  ```objective-c
148
+ // AppDelegate.m
149
+
147
150
  - (void)applicationDidFinishLaunching:(UIApplication *)application {
148
151
  // ...
149
152
 
@@ -165,6 +168,24 @@ didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
165
168
  }
166
169
  ```
167
170
 
171
+ ### Swift
172
+ ```swift
173
+ // AppDelegate.swift
174
+
175
+ func application(_ application: UIApplication, willFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool {
176
+ application.registerForRemoteNotifications()
177
+ return true
178
+ }
179
+
180
+ func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
181
+ // Register the device token with a webservice
182
+ }
183
+
184
+ func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
185
+ print("error \(error)")
186
+ }
187
+ ```
188
+
168
189
  ## Converting Your Certificate
169
190
 
170
191
  > These instructions come from the [APN on Rails](https://github.com/PRX/apn_on_rails) project, which is another great option for sending push notifications.
data/bin/apn CHANGED
@@ -43,7 +43,7 @@ command :push do |c|
43
43
  say_error "Missing certificate file option (-c /path/to/certificate.pem)" and abort unless @certificate
44
44
  say_error "Could not find certificate file '#{@certificate}'" and abort unless File.exists?(@certificate)
45
45
 
46
- @passphrase = options.passphrase ? password : ""
46
+ @passphrase = options.passphrase ? password : nil
47
47
 
48
48
  @alert = options.alert
49
49
  @badge = options.badge.nil? ? nil : options.badge.to_i
@@ -138,7 +138,7 @@ command :feedback do |c|
138
138
  say_error "Missing certificate file option (-c /path/to/certificate.pem)" and abort unless @certificate
139
139
  say_error "Could not find certificate file '#{@certificate}'" and abort unless File.exists?(@certificate)
140
140
 
141
- @passphrase = options.passphrase ? password : ""
141
+ @passphrase = options.passphrase ? password : nil
142
142
 
143
143
  client = (@environment == :production) ? Houston::Client.production : Houston::Client.development
144
144
  client.certificate = File.read(@certificate)
@@ -3,37 +3,37 @@
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.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" />
6
+ <script src='./assets/0.10.2/application.js' type='text/javascript'></script>
7
+ <link href='./assets/0.10.2/application.css' media='screen, projection, print' rel='stylesheet' type='text/css'>
8
+ <link rel="shortcut icon" type="image/png" href="./assets/0.10.2/favicon_red.png" />
9
+ <link rel="icon" type="image/png" href="./assets/0.10.2/favicon.png" />
10
10
  </head>
11
11
 
12
12
  <body>
13
13
  <div id="loading">
14
- <img src="./assets/0.10.0/loading.gif" alt="loading"/>
14
+ <img src="./assets/0.10.2/loading.gif" alt="loading"/>
15
15
  </div>
16
16
  <div id="wrapper" style="display:none;">
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>
17
+ <div class="timestamp">Generated <abbr class="timeago" title="2018-09-08T11:29:01+03:00">2018-09-08T11:29:01+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.85%</span></span>
24
+ (<span class="covered_percent"><span class="red">75.44%</span></span>
25
25
  covered at
26
26
  <span class="covered_strength">
27
27
  <span class="green">
28
- 6.2
28
+ 6.96
29
29
  </span>
30
30
  </span> hits/line)
31
31
  </h2>
32
32
  <a name="AllFiles"></a>
33
33
  <div>
34
34
  <b>5</b> files in total.
35
- <b>167</b> relevant lines.
36
- <span class="green"><b>125</b> lines covered</span> and
35
+ <b>171</b> relevant lines.
36
+ <span class="green"><b>129</b> lines covered</span> and
37
37
  <span class="red"><b>42</b> lines missed </span>
38
38
  </div>
39
39
  <table class="file_list">
@@ -51,7 +51,7 @@
51
51
  <tbody>
52
52
 
53
53
  <tr>
54
- <td class="strong"><a href="#72d7df740003fec9ba7330c9230dc3a1edee4945" class="src_link" title="lib/houston.rb">lib/houston.rb</a></td>
54
+ <td class="strong"><a href="#fe3fdb648409998987089f779b06acf72d5f6cb8" 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,7 +61,7 @@
61
61
  </tr>
62
62
 
63
63
  <tr>
64
- <td class="strong"><a href="#c4c7250bbb95849a2925fcae422513df8e00e04e" class="src_link" title="lib/houston/client.rb">lib/houston/client.rb</a></td>
64
+ <td class="strong"><a href="#3dd251fe8a9cb7c51d78fc140a13632a62324aa2" class="src_link" title="lib/houston/client.rb">lib/houston/client.rb</a></td>
65
65
  <td class="red strong">68.97 %</td>
66
66
  <td>92</td>
67
67
  <td>58</td>
@@ -71,7 +71,7 @@
71
71
  </tr>
72
72
 
73
73
  <tr>
74
- <td class="strong"><a href="#6ad9dbe47d23364c5492cfc7f56fc9540e1a205f" class="src_link" title="lib/houston/connection.rb">lib/houston/connection.rb</a></td>
74
+ <td class="strong"><a href="#2c394c3e520262a03cc8c405bdb70d7d8d4c5bc6" 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,17 +81,17 @@
81
81
  </tr>
82
82
 
83
83
  <tr>
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>
84
+ <td class="strong"><a href="#ba9bba418e382d61a9e6d0ce03566e72e9479a30" class="src_link" title="lib/houston/notification.rb">lib/houston/notification.rb</a></td>
85
+ <td class="green strong">98.51 %</td>
86
+ <td>126</td>
87
+ <td>67</td>
88
+ <td>66</td>
89
89
  <td>1</td>
90
- <td>13.5</td>
90
+ <td>15.0</td>
91
91
  </tr>
92
92
 
93
93
  <tr>
94
- <td class="strong"><a href="#e8b12a361feeb011b347553315d0176790f5020a" class="src_link" title="lib/houston/version.rb">lib/houston/version.rb</a></td>
94
+ <td class="strong"><a href="#8b87415b3bd8a7824eada4b0600da3fd57094386" class="src_link" title="lib/houston/version.rb">lib/houston/version.rb</a></td>
95
95
  <td class="green strong">100.0 %</td>
96
96
  <td>3</td>
97
97
  <td>2</td>
@@ -109,14 +109,14 @@
109
109
  </div>
110
110
 
111
111
  <div id="footer">
112
- Generated by <a href="http://github.com/colszowka/simplecov">simplecov</a> v0.12.0
113
- and simplecov-html v0.10.0<br/>
112
+ Generated by <a href="http://github.com/colszowka/simplecov">simplecov</a> v0.16.1
113
+ and simplecov-html v0.10.2<br/>
114
114
  using RSpec
115
115
  </div>
116
116
 
117
117
  <div class="source_files">
118
118
 
119
- <div class="source_table" id="72d7df740003fec9ba7330c9230dc3a1edee4945">
119
+ <div class="source_table" id="fe3fdb648409998987089f779b06acf72d5f6cb8">
120
120
  <div class="header">
121
121
  <h3>lib/houston.rb</h3>
122
122
  <h4><span class="green">100.0 %</span> covered</h4>
@@ -157,8 +157,9 @@
157
157
  </ol>
158
158
  </pre>
159
159
  </div>
160
+
160
161
 
161
- <div class="source_table" id="c4c7250bbb95849a2925fcae422513df8e00e04e">
162
+ <div class="source_table" id="3dd251fe8a9cb7c51d78fc140a13632a62324aa2">
162
163
  <div class="header">
163
164
  <h3>lib/houston/client.rb</h3>
164
165
  <h4><span class="red">68.97 %</span> covered</h4>
@@ -487,7 +488,7 @@
487
488
  <li class="missed" data-hits="0" data-linenumber="53">
488
489
 
489
490
 
490
- <code class="ruby"> read_socket, write_socket = IO.select([ssl], [ssl], [ssl], nil)</code>
491
+ <code class="ruby"> read_socket, _write_socket = IO.select([ssl], [ssl], [ssl], nil)</code>
491
492
  </li>
492
493
 
493
494
  <li class="missed" data-hits="0" data-linenumber="54">
@@ -505,7 +506,7 @@
505
506
  <li class="missed" data-hits="0" data-linenumber="56">
506
507
 
507
508
 
508
- <code class="ruby"> command, status, index = error.unpack(&#39;ccN&#39;)</code>
509
+ <code class="ruby"> _command, status, index = error.unpack(&#39;ccN&#39;)</code>
509
510
  </li>
510
511
 
511
512
  <li class="missed" data-hits="0" data-linenumber="57">
@@ -727,8 +728,9 @@
727
728
  </ol>
728
729
  </pre>
729
730
  </div>
731
+
730
732
 
731
- <div class="source_table" id="6ad9dbe47d23364c5492cfc7f56fc9540e1a205f">
733
+ <div class="source_table" id="2c394c3e520262a03cc8c405bdb70d7d8d4c5bc6">
732
734
  <div class="header">
733
735
  <h3>lib/houston/connection.rb</h3>
734
736
  <h4><span class="red">42.5 %</span> covered</h4>
@@ -913,13 +915,13 @@
913
915
  <li class="missed" data-hits="0" data-linenumber="29">
914
916
 
915
917
 
916
- <code class="ruby"> @certificate = certificate</code>
918
+ <code class="ruby"> @certificate = certificate.to_s</code>
917
919
  </li>
918
920
 
919
921
  <li class="missed" data-hits="0" data-linenumber="30">
920
922
 
921
923
 
922
- <code class="ruby"> @passphrase = passphrase</code>
924
+ <code class="ruby"> @passphrase = passphrase.to_s unless passphrase.nil? </code>
923
925
  </li>
924
926
 
925
927
  <li class="never" data-hits="" data-linenumber="31">
@@ -1135,14 +1137,15 @@
1135
1137
  </ol>
1136
1138
  </pre>
1137
1139
  </div>
1140
+
1138
1141
 
1139
- <div class="source_table" id="77241215823ec249590ac9f1602fb0bded160262">
1142
+ <div class="source_table" id="ba9bba418e382d61a9e6d0ce03566e72e9479a30">
1140
1143
  <div class="header">
1141
1144
  <h3>lib/houston/notification.rb</h3>
1142
- <h4><span class="green">98.41 %</span> covered</h4>
1145
+ <h4><span class="green">98.51 %</span> covered</h4>
1143
1146
  <div>
1144
- <b>63</b> relevant lines.
1145
- <span class="green"><b>62</b> lines covered</span> and
1147
+ <b>67</b> relevant lines.
1148
+ <span class="green"><b>66</b> lines covered</span> and
1146
1149
  <span class="red"><b>1</b> lines missed.</span>
1147
1150
  </div>
1148
1151
  </div>
@@ -1345,7 +1348,7 @@
1345
1348
  <li class="never" data-hits="" data-linenumber="33">
1346
1349
 
1347
1350
 
1348
- <code class="ruby"> :custom_data, :id, :expiry, :priority</code>
1351
+ <code class="ruby"> :custom_data, :id, :expiry, :priority, :url_args</code>
1349
1352
  </li>
1350
1353
 
1351
1354
  <li class="covered" data-hits="1" data-linenumber="34">
@@ -1390,487 +1393,517 @@
1390
1393
  <code class="ruby"> def initialize(options = {})</code>
1391
1394
  </li>
1392
1395
 
1393
- <li class="covered" data-hits="39" data-linenumber="41">
1394
- <span class="hits">39</span>
1396
+ <li class="covered" data-hits="40" data-linenumber="41">
1397
+ <span class="hits">40</span>
1395
1398
 
1396
1399
  <code class="ruby"> @token = options.delete(:token) || options.delete(:device)</code>
1397
1400
  </li>
1398
1401
 
1399
- <li class="covered" data-hits="39" data-linenumber="42">
1400
- <span class="hits">39</span>
1402
+ <li class="covered" data-hits="40" data-linenumber="42">
1403
+ <span class="hits">40</span>
1401
1404
 
1402
1405
  <code class="ruby"> @alert = options.delete(:alert)</code>
1403
1406
  </li>
1404
1407
 
1405
- <li class="covered" data-hits="39" data-linenumber="43">
1406
- <span class="hits">39</span>
1408
+ <li class="covered" data-hits="40" data-linenumber="43">
1409
+ <span class="hits">40</span>
1407
1410
 
1408
1411
  <code class="ruby"> @badge = options.delete(:badge)</code>
1409
1412
  </li>
1410
1413
 
1411
- <li class="covered" data-hits="39" data-linenumber="44">
1412
- <span class="hits">39</span>
1414
+ <li class="covered" data-hits="40" data-linenumber="44">
1415
+ <span class="hits">40</span>
1413
1416
 
1414
1417
  <code class="ruby"> @sound = options.delete(:sound)</code>
1415
1418
  </li>
1416
1419
 
1417
- <li class="covered" data-hits="39" data-linenumber="45">
1418
- <span class="hits">39</span>
1420
+ <li class="covered" data-hits="40" data-linenumber="45">
1421
+ <span class="hits">40</span>
1419
1422
 
1420
1423
  <code class="ruby"> @category = options.delete(:category)</code>
1421
1424
  </li>
1422
1425
 
1423
- <li class="covered" data-hits="39" data-linenumber="46">
1424
- <span class="hits">39</span>
1426
+ <li class="covered" data-hits="40" data-linenumber="46">
1427
+ <span class="hits">40</span>
1425
1428
 
1426
1429
  <code class="ruby"> @expiry = options.delete(:expiry)</code>
1427
1430
  </li>
1428
1431
 
1429
- <li class="covered" data-hits="39" data-linenumber="47">
1430
- <span class="hits">39</span>
1432
+ <li class="covered" data-hits="40" data-linenumber="47">
1433
+ <span class="hits">40</span>
1431
1434
 
1432
1435
  <code class="ruby"> @id = options.delete(:id)</code>
1433
1436
  </li>
1434
1437
 
1435
- <li class="covered" data-hits="39" data-linenumber="48">
1436
- <span class="hits">39</span>
1438
+ <li class="covered" data-hits="40" data-linenumber="48">
1439
+ <span class="hits">40</span>
1437
1440
 
1438
1441
  <code class="ruby"> @priority = options.delete(:priority)</code>
1439
1442
  </li>
1440
1443
 
1441
- <li class="covered" data-hits="39" data-linenumber="49">
1442
- <span class="hits">39</span>
1444
+ <li class="covered" data-hits="40" data-linenumber="49">
1445
+ <span class="hits">40</span>
1443
1446
 
1444
1447
  <code class="ruby"> @content_available = options.delete(:content_available)</code>
1445
1448
  </li>
1446
1449
 
1447
- <li class="covered" data-hits="39" data-linenumber="50">
1448
- <span class="hits">39</span>
1450
+ <li class="covered" data-hits="40" data-linenumber="50">
1451
+ <span class="hits">40</span>
1449
1452
 
1450
1453
  <code class="ruby"> @mutable_content = options.delete(:mutable_content)</code>
1451
1454
  </li>
1452
1455
 
1453
- <li class="never" data-hits="" data-linenumber="51">
1456
+ <li class="covered" data-hits="40" data-linenumber="51">
1457
+ <span class="hits">40</span>
1458
+
1459
+ <code class="ruby"> @url_args = options.delete(:url_args)</code>
1460
+ </li>
1461
+
1462
+ <li class="never" data-hits="" data-linenumber="52">
1454
1463
 
1455
1464
 
1456
1465
  <code class="ruby"></code>
1457
1466
  </li>
1458
1467
 
1459
- <li class="covered" data-hits="39" data-linenumber="52">
1460
- <span class="hits">39</span>
1468
+ <li class="covered" data-hits="40" data-linenumber="53">
1469
+ <span class="hits">40</span>
1461
1470
 
1462
1471
  <code class="ruby"> @custom_data = options</code>
1463
1472
  </li>
1464
1473
 
1465
- <li class="never" data-hits="" data-linenumber="53">
1474
+ <li class="never" data-hits="" data-linenumber="54">
1475
+
1476
+
1477
+ <code class="ruby"></code>
1478
+ </li>
1479
+
1480
+ <li class="covered" data-hits="40" data-linenumber="55">
1481
+ <span class="hits">40</span>
1482
+
1483
+ <code class="ruby"> @sent_at = nil</code>
1484
+ </li>
1485
+
1486
+ <li class="covered" data-hits="40" data-linenumber="56">
1487
+ <span class="hits">40</span>
1488
+
1489
+ <code class="ruby"> @apns_error_code = nil</code>
1490
+ </li>
1491
+
1492
+ <li class="never" data-hits="" data-linenumber="57">
1466
1493
 
1467
1494
 
1468
1495
  <code class="ruby"> end</code>
1469
1496
  </li>
1470
1497
 
1471
- <li class="never" data-hits="" data-linenumber="54">
1498
+ <li class="never" data-hits="" data-linenumber="58">
1472
1499
 
1473
1500
 
1474
1501
  <code class="ruby"></code>
1475
1502
  </li>
1476
1503
 
1477
- <li class="covered" data-hits="1" data-linenumber="55">
1504
+ <li class="covered" data-hits="1" data-linenumber="59">
1478
1505
  <span class="hits">1</span>
1479
1506
 
1480
1507
  <code class="ruby"> def payload</code>
1481
1508
  </li>
1482
1509
 
1483
- <li class="covered" data-hits="61" data-linenumber="56">
1510
+ <li class="covered" data-hits="61" data-linenumber="60">
1484
1511
  <span class="hits">61</span>
1485
1512
 
1486
1513
  <code class="ruby"> json = {}.merge(@custom_data || {}).inject({}) { |h, (k, v)| h[k.to_s] = v; h }</code>
1487
1514
  </li>
1488
1515
 
1489
- <li class="never" data-hits="" data-linenumber="57">
1516
+ <li class="never" data-hits="" data-linenumber="61">
1490
1517
 
1491
1518
 
1492
1519
  <code class="ruby"></code>
1493
1520
  </li>
1494
1521
 
1495
- <li class="covered" data-hits="25" data-linenumber="58">
1522
+ <li class="covered" data-hits="25" data-linenumber="62">
1496
1523
  <span class="hits">25</span>
1497
1524
 
1498
1525
  <code class="ruby"> json[&#39;aps&#39;] ||= {}</code>
1499
1526
  </li>
1500
1527
 
1501
- <li class="covered" data-hits="25" data-linenumber="59">
1528
+ <li class="covered" data-hits="25" data-linenumber="63">
1502
1529
  <span class="hits">25</span>
1503
1530
 
1504
1531
  <code class="ruby"> json[&#39;aps&#39;][&#39;alert&#39;] = @alert if @alert</code>
1505
1532
  </li>
1506
1533
 
1507
- <li class="covered" data-hits="25" data-linenumber="60">
1534
+ <li class="covered" data-hits="25" data-linenumber="64">
1508
1535
  <span class="hits">25</span>
1509
1536
 
1510
1537
  <code class="ruby"> json[&#39;aps&#39;][&#39;badge&#39;] = @badge.to_i rescue 0 if @badge</code>
1511
1538
  </li>
1512
1539
 
1513
- <li class="covered" data-hits="25" data-linenumber="61">
1540
+ <li class="covered" data-hits="25" data-linenumber="65">
1514
1541
  <span class="hits">25</span>
1515
1542
 
1516
1543
  <code class="ruby"> json[&#39;aps&#39;][&#39;sound&#39;] = @sound if @sound</code>
1517
1544
  </li>
1518
1545
 
1519
- <li class="covered" data-hits="25" data-linenumber="62">
1546
+ <li class="covered" data-hits="25" data-linenumber="66">
1520
1547
  <span class="hits">25</span>
1521
1548
 
1522
1549
  <code class="ruby"> json[&#39;aps&#39;][&#39;category&#39;] = @category if @category</code>
1523
1550
  </li>
1524
1551
 
1525
- <li class="covered" data-hits="25" data-linenumber="63">
1552
+ <li class="covered" data-hits="25" data-linenumber="67">
1526
1553
  <span class="hits">25</span>
1527
1554
 
1528
1555
  <code class="ruby"> json[&#39;aps&#39;][&#39;content-available&#39;] = 1 if @content_available</code>
1529
1556
  </li>
1530
1557
 
1531
- <li class="covered" data-hits="25" data-linenumber="64">
1558
+ <li class="covered" data-hits="25" data-linenumber="68">
1532
1559
  <span class="hits">25</span>
1533
1560
 
1534
1561
  <code class="ruby"> json[&#39;aps&#39;][&#39;mutable-content&#39;] = 1 if @mutable_content</code>
1535
1562
  </li>
1536
1563
 
1537
- <li class="never" data-hits="" data-linenumber="65">
1564
+ <li class="covered" data-hits="25" data-linenumber="69">
1565
+ <span class="hits">25</span>
1566
+
1567
+ <code class="ruby"> json[&#39;aps&#39;][&#39;url-args&#39;] = @url_args if @url_args</code>
1568
+ </li>
1569
+
1570
+ <li class="never" data-hits="" data-linenumber="70">
1538
1571
 
1539
1572
 
1540
1573
  <code class="ruby"></code>
1541
1574
  </li>
1542
1575
 
1543
- <li class="covered" data-hits="25" data-linenumber="66">
1576
+ <li class="covered" data-hits="25" data-linenumber="71">
1544
1577
  <span class="hits">25</span>
1545
1578
 
1546
1579
  <code class="ruby"> json</code>
1547
1580
  </li>
1548
1581
 
1549
- <li class="never" data-hits="" data-linenumber="67">
1582
+ <li class="never" data-hits="" data-linenumber="72">
1550
1583
 
1551
1584
 
1552
1585
  <code class="ruby"> end</code>
1553
1586
  </li>
1554
1587
 
1555
- <li class="never" data-hits="" data-linenumber="68">
1588
+ <li class="never" data-hits="" data-linenumber="73">
1556
1589
 
1557
1590
 
1558
1591
  <code class="ruby"></code>
1559
1592
  </li>
1560
1593
 
1561
- <li class="covered" data-hits="1" data-linenumber="69">
1594
+ <li class="covered" data-hits="1" data-linenumber="74">
1562
1595
  <span class="hits">1</span>
1563
1596
 
1564
1597
  <code class="ruby"> def message</code>
1565
1598
  </li>
1566
1599
 
1567
- <li class="covered" data-hits="15" data-linenumber="70">
1600
+ <li class="covered" data-hits="15" data-linenumber="75">
1568
1601
  <span class="hits">15</span>
1569
1602
 
1570
1603
  <code class="ruby"> data = [device_token_item,</code>
1571
1604
  </li>
1572
1605
 
1573
- <li class="never" data-hits="" data-linenumber="71">
1606
+ <li class="never" data-hits="" data-linenumber="76">
1574
1607
 
1575
1608
 
1576
1609
  <code class="ruby"> payload_item,</code>
1577
1610
  </li>
1578
1611
 
1579
- <li class="never" data-hits="" data-linenumber="72">
1612
+ <li class="never" data-hits="" data-linenumber="77">
1580
1613
 
1581
1614
 
1582
1615
  <code class="ruby"> identifier_item,</code>
1583
1616
  </li>
1584
1617
 
1585
- <li class="never" data-hits="" data-linenumber="73">
1618
+ <li class="never" data-hits="" data-linenumber="78">
1586
1619
 
1587
1620
 
1588
1621
  <code class="ruby"> expiration_item,</code>
1589
1622
  </li>
1590
1623
 
1591
- <li class="never" data-hits="" data-linenumber="74">
1624
+ <li class="never" data-hits="" data-linenumber="79">
1592
1625
 
1593
1626
 
1594
1627
  <code class="ruby"> priority_item].compact.join</code>
1595
1628
  </li>
1596
1629
 
1597
- <li class="covered" data-hits="15" data-linenumber="75">
1630
+ <li class="covered" data-hits="15" data-linenumber="80">
1598
1631
  <span class="hits">15</span>
1599
1632
 
1600
1633
  <code class="ruby"> [2, data.bytes.count, data].pack(&#39;cNa*&#39;)</code>
1601
1634
  </li>
1602
1635
 
1603
- <li class="never" data-hits="" data-linenumber="76">
1636
+ <li class="never" data-hits="" data-linenumber="81">
1604
1637
 
1605
1638
 
1606
1639
  <code class="ruby"> end</code>
1607
1640
  </li>
1608
1641
 
1609
- <li class="never" data-hits="" data-linenumber="77">
1642
+ <li class="never" data-hits="" data-linenumber="82">
1610
1643
 
1611
1644
 
1612
1645
  <code class="ruby"></code>
1613
1646
  </li>
1614
1647
 
1615
- <li class="covered" data-hits="1" data-linenumber="78">
1648
+ <li class="covered" data-hits="1" data-linenumber="83">
1616
1649
  <span class="hits">1</span>
1617
1650
 
1618
1651
  <code class="ruby"> def mark_as_sent!</code>
1619
1652
  </li>
1620
1653
 
1621
- <li class="covered" data-hits="2" data-linenumber="79">
1654
+ <li class="covered" data-hits="2" data-linenumber="84">
1622
1655
  <span class="hits">2</span>
1623
1656
 
1624
1657
  <code class="ruby"> @sent_at = Time.now</code>
1625
1658
  </li>
1626
1659
 
1627
- <li class="never" data-hits="" data-linenumber="80">
1660
+ <li class="never" data-hits="" data-linenumber="85">
1628
1661
 
1629
1662
 
1630
1663
  <code class="ruby"> end</code>
1631
1664
  </li>
1632
1665
 
1633
- <li class="never" data-hits="" data-linenumber="81">
1666
+ <li class="never" data-hits="" data-linenumber="86">
1634
1667
 
1635
1668
 
1636
1669
  <code class="ruby"></code>
1637
1670
  </li>
1638
1671
 
1639
- <li class="covered" data-hits="1" data-linenumber="82">
1672
+ <li class="covered" data-hits="1" data-linenumber="87">
1640
1673
  <span class="hits">1</span>
1641
1674
 
1642
1675
  <code class="ruby"> def mark_as_unsent!</code>
1643
1676
  </li>
1644
1677
 
1645
- <li class="covered" data-hits="1" data-linenumber="83">
1678
+ <li class="covered" data-hits="1" data-linenumber="88">
1646
1679
  <span class="hits">1</span>
1647
1680
 
1648
1681
  <code class="ruby"> @sent_at = nil</code>
1649
1682
  </li>
1650
1683
 
1651
- <li class="never" data-hits="" data-linenumber="84">
1684
+ <li class="never" data-hits="" data-linenumber="89">
1652
1685
 
1653
1686
 
1654
1687
  <code class="ruby"> end</code>
1655
1688
  </li>
1656
1689
 
1657
- <li class="never" data-hits="" data-linenumber="85">
1690
+ <li class="never" data-hits="" data-linenumber="90">
1658
1691
 
1659
1692
 
1660
1693
  <code class="ruby"></code>
1661
1694
  </li>
1662
1695
 
1663
- <li class="covered" data-hits="1" data-linenumber="86">
1696
+ <li class="covered" data-hits="1" data-linenumber="91">
1664
1697
  <span class="hits">1</span>
1665
1698
 
1666
1699
  <code class="ruby"> def sent?</code>
1667
1700
  </li>
1668
1701
 
1669
- <li class="covered" data-hits="3" data-linenumber="87">
1702
+ <li class="covered" data-hits="3" data-linenumber="92">
1670
1703
  <span class="hits">3</span>
1671
1704
 
1672
1705
  <code class="ruby"> !!@sent_at</code>
1673
1706
  </li>
1674
1707
 
1675
- <li class="never" data-hits="" data-linenumber="88">
1708
+ <li class="never" data-hits="" data-linenumber="93">
1676
1709
 
1677
1710
 
1678
1711
  <code class="ruby"> end</code>
1679
1712
  </li>
1680
1713
 
1681
- <li class="never" data-hits="" data-linenumber="89">
1714
+ <li class="never" data-hits="" data-linenumber="94">
1682
1715
 
1683
1716
 
1684
1717
  <code class="ruby"></code>
1685
1718
  </li>
1686
1719
 
1687
- <li class="covered" data-hits="1" data-linenumber="90">
1720
+ <li class="covered" data-hits="1" data-linenumber="95">
1688
1721
  <span class="hits">1</span>
1689
1722
 
1690
1723
  <code class="ruby"> def valid?</code>
1691
1724
  </li>
1692
1725
 
1693
- <li class="missed" data-hits="0" data-linenumber="91">
1726
+ <li class="missed" data-hits="0" data-linenumber="96">
1694
1727
 
1695
1728
 
1696
1729
  <code class="ruby"> payload.to_json.bytesize &lt;= MAXIMUM_PAYLOAD_SIZE</code>
1697
1730
  </li>
1698
1731
 
1699
- <li class="never" data-hits="" data-linenumber="92">
1732
+ <li class="never" data-hits="" data-linenumber="97">
1700
1733
 
1701
1734
 
1702
1735
  <code class="ruby"> end</code>
1703
1736
  </li>
1704
1737
 
1705
- <li class="never" data-hits="" data-linenumber="93">
1738
+ <li class="never" data-hits="" data-linenumber="98">
1706
1739
 
1707
1740
 
1708
1741
  <code class="ruby"></code>
1709
1742
  </li>
1710
1743
 
1711
- <li class="covered" data-hits="1" data-linenumber="94">
1744
+ <li class="covered" data-hits="1" data-linenumber="99">
1712
1745
  <span class="hits">1</span>
1713
1746
 
1714
1747
  <code class="ruby"> def error</code>
1715
1748
  </li>
1716
1749
 
1717
- <li class="covered" data-hits="3" data-linenumber="95">
1750
+ <li class="covered" data-hits="3" data-linenumber="100">
1718
1751
  <span class="hits">3</span>
1719
1752
 
1720
1753
  <code class="ruby"> APNSError.new(@apns_error_code) if @apns_error_code &amp;&amp; @apns_error_code.nonzero?</code>
1721
1754
  </li>
1722
1755
 
1723
- <li class="never" data-hits="" data-linenumber="96">
1756
+ <li class="never" data-hits="" data-linenumber="101">
1724
1757
 
1725
1758
 
1726
1759
  <code class="ruby"> end</code>
1727
1760
  </li>
1728
1761
 
1729
- <li class="never" data-hits="" data-linenumber="97">
1762
+ <li class="never" data-hits="" data-linenumber="102">
1730
1763
 
1731
1764
 
1732
1765
  <code class="ruby"></code>
1733
1766
  </li>
1734
1767
 
1735
- <li class="covered" data-hits="1" data-linenumber="98">
1768
+ <li class="covered" data-hits="1" data-linenumber="103">
1736
1769
  <span class="hits">1</span>
1737
1770
 
1738
1771
  <code class="ruby"> private</code>
1739
1772
  </li>
1740
1773
 
1741
- <li class="never" data-hits="" data-linenumber="99">
1774
+ <li class="never" data-hits="" data-linenumber="104">
1742
1775
 
1743
1776
 
1744
1777
  <code class="ruby"></code>
1745
1778
  </li>
1746
1779
 
1747
- <li class="covered" data-hits="1" data-linenumber="100">
1780
+ <li class="covered" data-hits="1" data-linenumber="105">
1748
1781
  <span class="hits">1</span>
1749
1782
 
1750
1783
  <code class="ruby"> def device_token_item</code>
1751
1784
  </li>
1752
1785
 
1753
- <li class="covered" data-hits="15" data-linenumber="101">
1786
+ <li class="covered" data-hits="15" data-linenumber="106">
1754
1787
  <span class="hits">15</span>
1755
1788
 
1756
1789
  <code class="ruby"> [1, 32, @token.gsub(/[&lt;\s&gt;]/, &#39;&#39;)].pack(&#39;cnH64&#39;)</code>
1757
1790
  </li>
1758
1791
 
1759
- <li class="never" data-hits="" data-linenumber="102">
1792
+ <li class="never" data-hits="" data-linenumber="107">
1760
1793
 
1761
1794
 
1762
1795
  <code class="ruby"> end</code>
1763
1796
  </li>
1764
1797
 
1765
- <li class="never" data-hits="" data-linenumber="103">
1798
+ <li class="never" data-hits="" data-linenumber="108">
1766
1799
 
1767
1800
 
1768
1801
  <code class="ruby"></code>
1769
1802
  </li>
1770
1803
 
1771
- <li class="covered" data-hits="1" data-linenumber="104">
1804
+ <li class="covered" data-hits="1" data-linenumber="109">
1772
1805
  <span class="hits">1</span>
1773
1806
 
1774
1807
  <code class="ruby"> def payload_item</code>
1775
1808
  </li>
1776
1809
 
1777
- <li class="covered" data-hits="15" data-linenumber="105">
1810
+ <li class="covered" data-hits="15" data-linenumber="110">
1778
1811
  <span class="hits">15</span>
1779
1812
 
1780
1813
  <code class="ruby"> json = payload.to_json</code>
1781
1814
  </li>
1782
1815
 
1783
- <li class="covered" data-hits="15" data-linenumber="106">
1816
+ <li class="covered" data-hits="15" data-linenumber="111">
1784
1817
  <span class="hits">15</span>
1785
1818
 
1786
1819
  <code class="ruby"> [2, json.bytes.count, json].pack(&#39;cna*&#39;)</code>
1787
1820
  </li>
1788
1821
 
1789
- <li class="never" data-hits="" data-linenumber="107">
1822
+ <li class="never" data-hits="" data-linenumber="112">
1790
1823
 
1791
1824
 
1792
1825
  <code class="ruby"> end</code>
1793
1826
  </li>
1794
1827
 
1795
- <li class="never" data-hits="" data-linenumber="108">
1828
+ <li class="never" data-hits="" data-linenumber="113">
1796
1829
 
1797
1830
 
1798
1831
  <code class="ruby"></code>
1799
1832
  </li>
1800
1833
 
1801
- <li class="covered" data-hits="1" data-linenumber="109">
1834
+ <li class="covered" data-hits="1" data-linenumber="114">
1802
1835
  <span class="hits">1</span>
1803
1836
 
1804
1837
  <code class="ruby"> def identifier_item</code>
1805
1838
  </li>
1806
1839
 
1807
- <li class="covered" data-hits="15" data-linenumber="110">
1840
+ <li class="covered" data-hits="15" data-linenumber="115">
1808
1841
  <span class="hits">15</span>
1809
1842
 
1810
1843
  <code class="ruby"> [3, 4, @id].pack(&#39;cnN&#39;) unless @id.nil?</code>
1811
1844
  </li>
1812
1845
 
1813
- <li class="never" data-hits="" data-linenumber="111">
1846
+ <li class="never" data-hits="" data-linenumber="116">
1814
1847
 
1815
1848
 
1816
1849
  <code class="ruby"> end</code>
1817
1850
  </li>
1818
1851
 
1819
- <li class="never" data-hits="" data-linenumber="112">
1852
+ <li class="never" data-hits="" data-linenumber="117">
1820
1853
 
1821
1854
 
1822
1855
  <code class="ruby"></code>
1823
1856
  </li>
1824
1857
 
1825
- <li class="covered" data-hits="1" data-linenumber="113">
1858
+ <li class="covered" data-hits="1" data-linenumber="118">
1826
1859
  <span class="hits">1</span>
1827
1860
 
1828
1861
  <code class="ruby"> def expiration_item</code>
1829
1862
  </li>
1830
1863
 
1831
- <li class="covered" data-hits="15" data-linenumber="114">
1864
+ <li class="covered" data-hits="15" data-linenumber="119">
1832
1865
  <span class="hits">15</span>
1833
1866
 
1834
1867
  <code class="ruby"> [4, 4, @expiry.to_i].pack(&#39;cnN&#39;) unless @expiry.nil?</code>
1835
1868
  </li>
1836
1869
 
1837
- <li class="never" data-hits="" data-linenumber="115">
1870
+ <li class="never" data-hits="" data-linenumber="120">
1838
1871
 
1839
1872
 
1840
1873
  <code class="ruby"> end</code>
1841
1874
  </li>
1842
1875
 
1843
- <li class="never" data-hits="" data-linenumber="116">
1876
+ <li class="never" data-hits="" data-linenumber="121">
1844
1877
 
1845
1878
 
1846
1879
  <code class="ruby"></code>
1847
1880
  </li>
1848
1881
 
1849
- <li class="covered" data-hits="1" data-linenumber="117">
1882
+ <li class="covered" data-hits="1" data-linenumber="122">
1850
1883
  <span class="hits">1</span>
1851
1884
 
1852
1885
  <code class="ruby"> def priority_item</code>
1853
1886
  </li>
1854
1887
 
1855
- <li class="covered" data-hits="15" data-linenumber="118">
1888
+ <li class="covered" data-hits="15" data-linenumber="123">
1856
1889
  <span class="hits">15</span>
1857
1890
 
1858
1891
  <code class="ruby"> [5, 1, @priority].pack(&#39;cnc&#39;) unless @priority.nil?</code>
1859
1892
  </li>
1860
1893
 
1861
- <li class="never" data-hits="" data-linenumber="119">
1894
+ <li class="never" data-hits="" data-linenumber="124">
1862
1895
 
1863
1896
 
1864
1897
  <code class="ruby"> end</code>
1865
1898
  </li>
1866
1899
 
1867
- <li class="never" data-hits="" data-linenumber="120">
1900
+ <li class="never" data-hits="" data-linenumber="125">
1868
1901
 
1869
1902
 
1870
1903
  <code class="ruby"> end</code>
1871
1904
  </li>
1872
1905
 
1873
- <li class="never" data-hits="" data-linenumber="121">
1906
+ <li class="never" data-hits="" data-linenumber="126">
1874
1907
 
1875
1908
 
1876
1909
  <code class="ruby">end</code>
@@ -1879,8 +1912,9 @@
1879
1912
  </ol>
1880
1913
  </pre>
1881
1914
  </div>
1915
+
1882
1916
 
1883
- <div class="source_table" id="e8b12a361feeb011b347553315d0176790f5020a">
1917
+ <div class="source_table" id="8b87415b3bd8a7824eada4b0600da3fd57094386">
1884
1918
  <div class="header">
1885
1919
  <h3>lib/houston/version.rb</h3>
1886
1920
  <h4><span class="green">100.0 %</span> covered</h4>
@@ -1903,7 +1937,7 @@
1903
1937
  <li class="covered" data-hits="1" data-linenumber="2">
1904
1938
  <span class="hits">1</span>
1905
1939
 
1906
- <code class="ruby"> VERSION = &#39;2.2.4&#39;</code>
1940
+ <code class="ruby"> VERSION = &#39;2.3.0&#39;</code>
1907
1941
  </li>
1908
1942
 
1909
1943
  <li class="never" data-hits="" data-linenumber="3">
@@ -1915,6 +1949,7 @@
1915
1949
  </ol>
1916
1950
  </pre>
1917
1951
  </div>
1952
+
1918
1953
 
1919
1954
  </div>
1920
1955
  </div>