rpush 2.3.2-java → 2.4.0-java

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 (69) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +1 -1
  4. data/lib/generators/rpush_migration_generator.rb +21 -6
  5. data/lib/generators/templates/rpush.rb +5 -5
  6. data/lib/generators/templates/rpush_2_0_0_updates.rb +24 -0
  7. data/lib/rpush/client/active_model/apns/notification.rb +1 -1
  8. data/lib/rpush/client/mongoid/adm/app.rb +14 -0
  9. data/lib/rpush/client/mongoid/adm/notification.rb +11 -0
  10. data/lib/rpush/client/mongoid/apns/app.rb +11 -0
  11. data/lib/rpush/client/mongoid/apns/feedback.rb +21 -0
  12. data/lib/rpush/client/mongoid/apns/notification.rb +15 -0
  13. data/lib/rpush/client/mongoid/app.rb +23 -0
  14. data/lib/rpush/client/mongoid/gcm/app.rb +11 -0
  15. data/lib/rpush/client/mongoid/gcm/notification.rb +11 -0
  16. data/lib/rpush/client/mongoid/notification.rb +43 -0
  17. data/lib/rpush/client/mongoid/wpns/app.rb +11 -0
  18. data/lib/rpush/client/mongoid/wpns/notification.rb +11 -0
  19. data/lib/rpush/client/mongoid.rb +31 -0
  20. data/lib/rpush/client/redis.rb +2 -2
  21. data/lib/rpush/configuration.rb +48 -29
  22. data/lib/rpush/daemon/adm/delivery.rb +1 -1
  23. data/lib/rpush/daemon/apns/feedback_receiver.rb +2 -3
  24. data/lib/rpush/daemon/apns.rb +1 -1
  25. data/lib/rpush/daemon/dispatcher/apns_tcp.rb +2 -1
  26. data/lib/rpush/daemon/feeder.rb +4 -7
  27. data/lib/rpush/daemon/gcm/delivery.rb +1 -1
  28. data/lib/rpush/daemon/interruptible_sleep.rb +5 -50
  29. data/lib/rpush/daemon/proc_title.rb +2 -1
  30. data/lib/rpush/daemon/store/active_record.rb +4 -0
  31. data/lib/rpush/daemon/store/interface.rb +1 -1
  32. data/lib/rpush/daemon/store/mongoid.rb +157 -0
  33. data/lib/rpush/daemon/store/redis.rb +6 -2
  34. data/lib/rpush/deprecatable.rb +1 -2
  35. data/lib/rpush/deprecation.rb +6 -0
  36. data/lib/rpush/embed.rb +5 -0
  37. data/lib/rpush/logger.rb +5 -8
  38. data/lib/rpush/push.rb +5 -0
  39. data/lib/rpush/version.rb +1 -1
  40. data/lib/tasks/quality.rake +1 -1
  41. data/lib/tasks/test.rake +9 -4
  42. data/spec/functional/apns_spec.rb +2 -1
  43. data/spec/functional_spec_helper.rb +2 -2
  44. data/spec/spec_helper.rb +18 -7
  45. data/spec/support/config/mongoid.yml +69 -0
  46. data/spec/support/mongoid_setup.rb +10 -0
  47. data/spec/unit/client/active_record/adm/app_spec.rb +1 -1
  48. data/spec/unit/client/active_record/adm/notification_spec.rb +1 -1
  49. data/spec/unit/client/active_record/apns/app_spec.rb +1 -1
  50. data/spec/unit/client/active_record/apns/feedback_spec.rb +1 -1
  51. data/spec/unit/client/active_record/apns/notification_spec.rb +11 -11
  52. data/spec/unit/client/active_record/app_spec.rb +1 -1
  53. data/spec/unit/client/active_record/gcm/notification_spec.rb +1 -1
  54. data/spec/unit/client/active_record/notification_spec.rb +1 -1
  55. data/spec/unit/client/active_record/wpns/notification_spec.rb +1 -1
  56. data/spec/unit/configuration_spec.rb +7 -0
  57. data/spec/unit/daemon/apns/feedback_receiver_spec.rb +5 -5
  58. data/spec/unit/daemon/feeder_spec.rb +2 -2
  59. data/spec/unit/daemon/proc_title_spec.rb +11 -0
  60. data/spec/unit/daemon/store/active_record/reconnectable_spec.rb +1 -1
  61. data/spec/unit/daemon/store/active_record_spec.rb +21 -12
  62. data/spec/unit/daemon/store/mongoid_spec.rb +339 -0
  63. data/spec/unit/daemon/store/redis_spec.rb +365 -0
  64. data/spec/unit/embed_spec.rb +4 -2
  65. data/spec/unit/logger_spec.rb +14 -5
  66. data/spec/unit/notification_shared.rb +1 -1
  67. data/spec/unit/push_spec.rb +4 -2
  68. data/spec/unit_spec_helper.rb +3 -3
  69. metadata +27 -4
@@ -0,0 +1,365 @@
1
+ require 'unit_spec_helper'
2
+ require 'rpush/daemon/store/redis'
3
+
4
+ describe Rpush::Daemon::Store::Redis do
5
+ let(:app) { Rpush::Client::Redis::Apns::App.create!(name: 'my_app', environment: 'development', certificate: TEST_CERT) }
6
+ let(:notification) { Rpush::Client::Redis::Apns::Notification.create!(device_token: "a" * 64, app: app) }
7
+ let(:store) { Rpush::Daemon::Store::Redis.new }
8
+ let(:time) { Time.now.utc }
9
+ let(:logger) { double(Rpush::Logger, error: nil, internal_logger: nil) }
10
+
11
+ before do
12
+ allow(Rpush).to receive_messages(logger: logger)
13
+ allow(Time).to receive_messages(now: time)
14
+ end
15
+
16
+ it 'updates an notification' do
17
+ expect(notification).to receive(:save!)
18
+ store.update_notification(notification)
19
+ end
20
+
21
+ it 'updates an app' do
22
+ expect(app).to receive(:save!)
23
+ store.update_app(app)
24
+ end
25
+
26
+ it 'finds an app by ID' do
27
+ app
28
+ expect(store.app(app.id)).to eq(app)
29
+ end
30
+
31
+ it 'finds all apps' do
32
+ app
33
+ expect(store.all_apps).to eq([app])
34
+ end
35
+
36
+ it 'translates an Integer notification ID' do
37
+ expect(store.translate_integer_notification_id(notification.id)).to eq(notification.id)
38
+ end
39
+
40
+ it 'returns the pending notification count' do
41
+ notification
42
+ expect(store.pending_delivery_count).to eq(1)
43
+ end
44
+
45
+ describe 'deliverable_notifications' do
46
+ it 'loads notifications in batches' do
47
+ Rpush.config.batch_size = 100
48
+ allow(store).to receive_messages(pending_notification_ids: [1, 2, 3, 4])
49
+ expect(Rpush::Client::Redis::Notification).to receive(:find).exactly(4).times
50
+ store.deliverable_notifications(Rpush.config.batch_size)
51
+ end
52
+
53
+ it 'loads an undelivered notification without deliver_after set' do
54
+ notification.update_attributes!(delivered: false, deliver_after: nil)
55
+ expect(store.deliverable_notifications(Rpush.config.batch_size)).to eq [notification]
56
+ end
57
+
58
+ it 'loads an notification with a deliver_after time in the past' do
59
+ notification.update_attributes!(delivered: false, deliver_after: 1.hour.ago)
60
+ expect(store.deliverable_notifications(Rpush.config.batch_size)).to eq [notification]
61
+ end
62
+
63
+ it 'does not load an notification with a deliver_after time in the future' do
64
+ notification
65
+ notification = store.deliverable_notifications(Rpush.config.batch_size).first
66
+ store.mark_retryable(notification, 1.hour.from_now)
67
+ expect(store.deliverable_notifications(Rpush.config.batch_size)).to be_empty
68
+ end
69
+
70
+ it 'does not load a previously delivered notification' do
71
+ notification
72
+ notification = store.deliverable_notifications(Rpush.config.batch_size).first
73
+ store.mark_delivered(notification, Time.now)
74
+ expect(store.deliverable_notifications(Rpush.config.batch_size)).to be_empty
75
+ end
76
+
77
+ it "does not enqueue a notification that has previously failed delivery" do
78
+ notification
79
+ notification = store.deliverable_notifications(Rpush.config.batch_size).first
80
+ store.mark_failed(notification, 0, "failed", Time.now)
81
+ expect(store.deliverable_notifications(Rpush.config.batch_size)).to be_empty
82
+ end
83
+ end
84
+
85
+ describe 'mark_retryable' do
86
+ it 'increments the retry count' do
87
+ expect do
88
+ store.mark_retryable(notification, time)
89
+ end.to change(notification, :retries).by(1)
90
+ end
91
+
92
+ it 'sets the deliver after timestamp' do
93
+ deliver_after = time + 10.seconds
94
+ expect do
95
+ store.mark_retryable(notification, deliver_after)
96
+ end.to change(notification, :deliver_after).to(deliver_after)
97
+ end
98
+
99
+ it 'saves the notification without validation' do
100
+ expect(notification).to receive(:save!).with(validate: false)
101
+ store.mark_retryable(notification, time)
102
+ end
103
+
104
+ it 'does not save the notification if persist: false' do
105
+ expect(notification).not_to receive(:save!)
106
+ store.mark_retryable(notification, time, persist: false)
107
+ end
108
+ end
109
+
110
+ describe 'mark_ids_retryable' do
111
+ let(:deliver_after) { time + 10.seconds }
112
+
113
+ it 'sets the deliver after timestamp' do
114
+ expect do
115
+ store.mark_ids_retryable([notification.id], deliver_after)
116
+ notification.reload
117
+ end.to change { notification.deliver_after.try(:utc).to_s }.to(deliver_after.utc.to_s)
118
+ end
119
+ end
120
+
121
+ describe 'mark_batch_retryable' do
122
+ let(:deliver_after) { time + 10.seconds }
123
+
124
+ it 'sets the attributes on the object for use in reflections' do
125
+ store.mark_batch_retryable([notification], deliver_after)
126
+ expect(notification.deliver_after).to eq deliver_after
127
+ expect(notification.retries).to eq 1
128
+ end
129
+
130
+ it 'increments the retired count' do
131
+ expect do
132
+ store.mark_batch_retryable([notification], deliver_after)
133
+ notification.reload
134
+ end.to change(notification, :retries).by(1)
135
+ end
136
+
137
+ it 'sets the deliver after timestamp' do
138
+ expect do
139
+ store.mark_batch_retryable([notification], deliver_after)
140
+ notification.reload
141
+ end.to change { notification.deliver_after.try(:utc).to_s }.to(deliver_after.utc.to_s)
142
+ end
143
+ end
144
+
145
+ describe 'mark_delivered' do
146
+ it 'marks the notification as delivered' do
147
+ expect do
148
+ store.mark_delivered(notification, time)
149
+ end.to change(notification, :delivered).to(true)
150
+ end
151
+
152
+ it 'sets the time the notification was delivered' do
153
+ expect do
154
+ store.mark_delivered(notification, time)
155
+ notification.reload
156
+ end.to change { notification.delivered_at.try(:utc).to_s }.to(time.to_s)
157
+ end
158
+
159
+ it 'saves the notification without validation' do
160
+ expect(notification).to receive(:save!).with(validate: false)
161
+ store.mark_delivered(notification, time)
162
+ end
163
+
164
+ it 'does not save the notification if persist: false' do
165
+ expect(notification).not_to receive(:save!)
166
+ store.mark_delivered(notification, time, persist: false)
167
+ end
168
+ end
169
+
170
+ describe 'mark_batch_delivered' do
171
+ it 'sets the attributes on the object for use in reflections' do
172
+ store.mark_batch_delivered([notification])
173
+ expect(notification.delivered_at).to eq time
174
+ expect(notification.delivered).to be_truthy
175
+ end
176
+
177
+ it 'marks the notifications as delivered' do
178
+ expect do
179
+ store.mark_batch_delivered([notification])
180
+ notification.reload
181
+ end.to change(notification, :delivered).to(true)
182
+ end
183
+
184
+ it 'sets the time the notifications were delivered' do
185
+ expect do
186
+ store.mark_batch_delivered([notification])
187
+ notification.reload
188
+ end.to change { notification.delivered_at.try(:utc).to_s }.to(time.to_s)
189
+ end
190
+ end
191
+
192
+ describe 'mark_failed' do
193
+ it 'marks the notification as not delivered' do
194
+ store.mark_failed(notification, nil, '', time)
195
+ expect(notification.delivered).to eq(false)
196
+ end
197
+
198
+ it 'marks the notification as failed' do
199
+ expect do
200
+ store.mark_failed(notification, nil, '', time)
201
+ notification.reload
202
+ end.to change(notification, :failed).to(true)
203
+ end
204
+
205
+ it 'sets the time the notification delivery failed' do
206
+ expect do
207
+ store.mark_failed(notification, nil, '', time)
208
+ notification.reload
209
+ end.to change { notification.failed_at.try(:utc).to_s }.to(time.to_s)
210
+ end
211
+
212
+ it 'sets the error code' do
213
+ expect do
214
+ store.mark_failed(notification, 42, '', time)
215
+ end.to change(notification, :error_code).to(42)
216
+ end
217
+
218
+ it 'sets the error description' do
219
+ expect do
220
+ store.mark_failed(notification, 42, 'Weeee', time)
221
+ end.to change(notification, :error_description).to('Weeee')
222
+ end
223
+
224
+ it 'saves the notification without validation' do
225
+ expect(notification).to receive(:save!).with(validate: false)
226
+ store.mark_failed(notification, nil, '', time)
227
+ end
228
+
229
+ it 'does not save the notification if persist: false' do
230
+ expect(notification).not_to receive(:save!)
231
+ store.mark_failed(notification, nil, '', time, persist: false)
232
+ end
233
+ end
234
+
235
+ describe 'mark_ids_failed' do
236
+ it 'marks the notification as failed' do
237
+ expect do
238
+ store.mark_ids_failed([notification.id], nil, '', Time.now)
239
+ notification.reload
240
+ end.to change(notification, :failed).to(true)
241
+ end
242
+ end
243
+
244
+ describe 'mark_batch_failed' do
245
+ it 'sets the attributes on the object for use in reflections' do
246
+ store.mark_batch_failed([notification], 123, 'an error')
247
+ expect(notification.failed_at).to eq time
248
+ expect(notification.delivered_at).to be_nil
249
+ expect(notification.delivered).to eq(false)
250
+ expect(notification.failed).to be_truthy
251
+ expect(notification.error_code).to eq 123
252
+ expect(notification.error_description).to eq 'an error'
253
+ end
254
+
255
+ it 'marks the notification as not delivered' do
256
+ store.mark_batch_failed([notification], nil, '')
257
+ notification.reload
258
+ expect(notification.delivered).to be_falsey
259
+ end
260
+
261
+ it 'marks the notification as failed' do
262
+ expect do
263
+ store.mark_batch_failed([notification], nil, '')
264
+ notification.reload
265
+ end.to change(notification, :failed).to(true)
266
+ end
267
+
268
+ it 'sets the time the notification delivery failed' do
269
+ expect do
270
+ store.mark_batch_failed([notification], nil, '')
271
+ notification.reload
272
+ end.to change { notification.failed_at.try(:utc).to_s }.to(time.to_s)
273
+ end
274
+
275
+ it 'sets the error code' do
276
+ expect do
277
+ store.mark_batch_failed([notification], 42, '')
278
+ notification.reload
279
+ end.to change(notification, :error_code).to(42)
280
+ end
281
+
282
+ it 'sets the error description' do
283
+ expect do
284
+ store.mark_batch_failed([notification], 42, 'Weeee')
285
+ notification.reload
286
+ end.to change(notification, :error_description).to('Weeee')
287
+ end
288
+ end
289
+
290
+ describe 'create_apns_feedback' do
291
+ it 'creates the Feedback record' do
292
+ expect(Rpush::Client::Redis::Apns::Feedback).to receive(:create!).with(
293
+ failed_at: time, device_token: 'ab' * 32, app_id: app.id)
294
+ store.create_apns_feedback(time, 'ab' * 32, app)
295
+ end
296
+ end
297
+
298
+ describe 'create_gcm_notification' do
299
+ let(:data) { { data: true } }
300
+ let(:attributes) { { device_token: 'ab' * 32 } }
301
+ let(:registration_ids) { %w(123 456) }
302
+ let(:deliver_after) { time + 10.seconds }
303
+ let(:args) { [attributes, data, registration_ids, deliver_after, app] }
304
+
305
+ it 'sets the given attributes' do
306
+ new_notification = store.create_gcm_notification(*args)
307
+ expect(new_notification.device_token).to eq 'ab' * 32
308
+ end
309
+
310
+ it 'sets the given data' do
311
+ new_notification = store.create_gcm_notification(*args)
312
+ expect(new_notification.data).to eq(data: true)
313
+ end
314
+
315
+ it 'sets the given registration IDs' do
316
+ new_notification = store.create_gcm_notification(*args)
317
+ expect(new_notification.registration_ids).to eq registration_ids
318
+ end
319
+
320
+ it 'sets the deliver_after timestamp' do
321
+ new_notification = store.create_gcm_notification(*args)
322
+ expect(new_notification.deliver_after.utc.to_s).to eq deliver_after.to_s
323
+ end
324
+
325
+ it 'saves the new notification' do
326
+ new_notification = store.create_gcm_notification(*args)
327
+ expect(new_notification.new_record?).to be_falsey
328
+ end
329
+ end
330
+
331
+ describe 'create_adm_notification' do
332
+ let(:data) { { data: true } }
333
+ let(:attributes) { { app_id: app.id, collapse_key: 'ckey', delay_while_idle: true } }
334
+ let(:registration_ids) { %w(123 456) }
335
+ let(:deliver_after) { time + 10.seconds }
336
+ let(:args) { [attributes, data, registration_ids, deliver_after, app] }
337
+
338
+ it 'sets the given attributes' do
339
+ new_notification = store.create_adm_notification(*args)
340
+ expect(new_notification.app_id).to eq app.id
341
+ expect(new_notification.collapse_key).to eq 'ckey'
342
+ expect(new_notification.delay_while_idle).to be_truthy
343
+ end
344
+
345
+ it 'sets the given data' do
346
+ new_notification = store.create_adm_notification(*args)
347
+ expect(new_notification.data).to eq(data: true)
348
+ end
349
+
350
+ it 'sets the given registration IDs' do
351
+ new_notification = store.create_adm_notification(*args)
352
+ expect(new_notification.registration_ids).to eq registration_ids
353
+ end
354
+
355
+ it 'sets the deliver_after timestamp' do
356
+ new_notification = store.create_adm_notification(*args)
357
+ expect(new_notification.deliver_after.utc.to_s).to eq deliver_after.to_s
358
+ end
359
+
360
+ it 'saves the new notification' do
361
+ new_notification = store.create_adm_notification(*args)
362
+ expect(new_notification.new_record?).to be_falsey
363
+ end
364
+ end
365
+ end if redis?
@@ -19,8 +19,10 @@ describe Rpush, 'embed' do
19
19
  end
20
20
 
21
21
  it 'overrides the default config options with those given as a hash' do
22
- Rpush.config.push_poll = 4
23
- expect { Rpush.embed(push_poll: 2) }.to change(Rpush.config, :push_poll).to(2)
22
+ Rpush::Deprecation.muted do
23
+ Rpush.config.push_poll = 4
24
+ expect { Rpush.embed(push_poll: 2) }.to change(Rpush.config, :push_poll).to(2)
25
+ end
24
26
  end
25
27
  end
26
28
 
@@ -5,11 +5,11 @@ module Rails
5
5
  end
6
6
 
7
7
  describe Rpush::Logger do
8
- let(:log) { double(:sync= => true) }
8
+ let(:log) { double(:sync= => true, :level= => nil) }
9
9
 
10
10
  before do
11
11
  @logger_class = defined?(ActiveSupport::BufferedLogger) ? ActiveSupport::BufferedLogger : ActiveSupport::Logger
12
- @logger = double(@logger_class.name, info: nil, error: nil, level: 0, auto_flushing: true, :auto_flushing= => nil)
12
+ @logger = double(@logger_class.name, info: nil, error: nil, level: 0, :level= => nil, auto_flushing: true, :auto_flushing= => nil)
13
13
  allow(@logger_class).to receive(:new).and_return(@logger)
14
14
  allow(Rails).to receive_messages(logger: @logger)
15
15
  allow(File).to receive_messages(open: log)
@@ -41,7 +41,7 @@ describe Rpush::Logger do
41
41
  end
42
42
 
43
43
  it 'uses the user-defined logger' do
44
- my_logger = double
44
+ my_logger = double(:level= => nil)
45
45
  Rpush.config.logger = my_logger
46
46
  logger = Rpush::Logger.new
47
47
  expect(my_logger).to receive(:info)
@@ -51,7 +51,7 @@ describe Rpush::Logger do
51
51
 
52
52
  it 'uses ActiveSupport::BufferedLogger if a user-defined logger is not set' do
53
53
  if ActiveSupport.const_defined?('BufferedLogger')
54
- expect(ActiveSupport::BufferedLogger).to receive(:new).with(log, Rails.logger.level)
54
+ expect(ActiveSupport::BufferedLogger).to receive(:new).with(log)
55
55
  Rpush::Logger.new
56
56
  end
57
57
  end
@@ -59,7 +59,16 @@ describe Rpush::Logger do
59
59
  it 'uses ActiveSupport::Logger if BufferedLogger does not exist' do
60
60
  stub_const('ActiveSupport::Logger', double)
61
61
  allow(ActiveSupport).to receive_messages(:const_defined? => false)
62
- expect(ActiveSupport::Logger).to receive(:new).with(log, Rails.logger.level)
62
+ expect(ActiveSupport::Logger).to receive(:new).with(log).and_return(log)
63
+ Rpush::Logger.new
64
+ end
65
+
66
+ it 'sets the log level on the logger' do
67
+ stub_const('ActiveSupport::Logger', double)
68
+ allow(ActiveSupport).to receive_messages(:const_defined? => false)
69
+ expect(ActiveSupport::Logger).to receive(:new).with(log).and_return(log)
70
+ Rpush.config.log_level = ::Logger::Severity::ERROR
71
+ expect(log).to receive(:level=).with(::Logger::Severity::ERROR)
63
72
  Rpush::Logger.new
64
73
  end
65
74
 
@@ -18,7 +18,7 @@ shared_examples_for "an Notification subclass" do
18
18
 
19
19
  it "raises an ArgumentError if something other than a Hash is assigned" do
20
20
  expect do
21
- notification.data = Array.new
21
+ notification.data = []
22
22
  end.to raise_error(ArgumentError, "must be a Hash")
23
23
  end
24
24
 
@@ -33,7 +33,9 @@ describe Rpush, 'push' do
33
33
  end
34
34
 
35
35
  it 'overrides the default config options with those given as a hash' do
36
- Rpush.config.batch_size = 20
37
- expect { Rpush.push(batch_size: 10) }.to change(Rpush.config, :batch_size).to(10)
36
+ Rpush::Deprecation.muted do
37
+ Rpush.config.batch_size = 20
38
+ expect { Rpush.push(batch_size: 10) }.to change(Rpush.config, :batch_size).to(10)
39
+ end
38
40
  end
39
41
  end
@@ -13,9 +13,9 @@ RSpec.configure do |config|
13
13
  config.before(:each) do
14
14
  Modis.with_connection do |redis|
15
15
  redis.keys('rpush:*').each { |key| redis.del(key) }
16
- end
16
+ end if redis?
17
17
 
18
- if unit_example?(self.class.metadata)
18
+ if active_record? && unit_example?(self.class.metadata)
19
19
  connection = ActiveRecord::Base.connection
20
20
 
21
21
  if rails4?
@@ -29,7 +29,7 @@ RSpec.configure do |config|
29
29
  end
30
30
 
31
31
  config.after(:each) do
32
- if unit_example?(self.class.metadata)
32
+ if active_record? && unit_example?(self.class.metadata)
33
33
  connection = ActiveRecord::Base.connection
34
34
 
35
35
  if rails4?
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rpush
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.2
4
+ version: 2.4.0
5
5
  platform: java
6
6
  authors:
7
7
  - Ian Leitch
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-31 00:00:00.000000000 Z
11
+ date: 2015-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -139,6 +139,7 @@ files:
139
139
  - CHANGELOG.md
140
140
  - LICENSE
141
141
  - README.md
142
+ - bin/rpush
142
143
  - lib/generators/rpush_config_generator.rb
143
144
  - lib/generators/rpush_migration_generator.rb
144
145
  - lib/generators/templates/add_adm.rb
@@ -186,6 +187,18 @@ files:
186
187
  - lib/rpush/client/active_record/notification.rb
187
188
  - lib/rpush/client/active_record/wpns/app.rb
188
189
  - lib/rpush/client/active_record/wpns/notification.rb
190
+ - lib/rpush/client/mongoid.rb
191
+ - lib/rpush/client/mongoid/adm/app.rb
192
+ - lib/rpush/client/mongoid/adm/notification.rb
193
+ - lib/rpush/client/mongoid/apns/app.rb
194
+ - lib/rpush/client/mongoid/apns/feedback.rb
195
+ - lib/rpush/client/mongoid/apns/notification.rb
196
+ - lib/rpush/client/mongoid/app.rb
197
+ - lib/rpush/client/mongoid/gcm/app.rb
198
+ - lib/rpush/client/mongoid/gcm/notification.rb
199
+ - lib/rpush/client/mongoid/notification.rb
200
+ - lib/rpush/client/mongoid/wpns/app.rb
201
+ - lib/rpush/client/mongoid/wpns/notification.rb
189
202
  - lib/rpush/client/redis.rb
190
203
  - lib/rpush/client/redis/adm/app.rb
191
204
  - lib/rpush/client/redis/adm/notification.rb
@@ -230,6 +243,7 @@ files:
230
243
  - lib/rpush/daemon/store/active_record.rb
231
244
  - lib/rpush/daemon/store/active_record/reconnectable.rb
232
245
  - lib/rpush/daemon/store/interface.rb
246
+ - lib/rpush/daemon/store/mongoid.rb
233
247
  - lib/rpush/daemon/store/redis.rb
234
248
  - lib/rpush/daemon/string_helpers.rb
235
249
  - lib/rpush/daemon/synchronizer.rb
@@ -264,6 +278,8 @@ files:
264
278
  - spec/support/cert_with_password.pem
265
279
  - spec/support/cert_without_password.pem
266
280
  - spec/support/config/database.yml
281
+ - spec/support/config/mongoid.yml
282
+ - spec/support/mongoid_setup.rb
267
283
  - spec/support/simplecov_helper.rb
268
284
  - spec/support/simplecov_quality_formatter.rb
269
285
  - spec/tmp/.gitkeep
@@ -293,11 +309,14 @@ files:
293
309
  - spec/unit/daemon/dispatcher_loop_spec.rb
294
310
  - spec/unit/daemon/feeder_spec.rb
295
311
  - spec/unit/daemon/gcm/delivery_spec.rb
312
+ - spec/unit/daemon/proc_title_spec.rb
296
313
  - spec/unit/daemon/retryable_error_spec.rb
297
314
  - spec/unit/daemon/service_config_methods_spec.rb
298
315
  - spec/unit/daemon/signal_handler_spec.rb
299
316
  - spec/unit/daemon/store/active_record/reconnectable_spec.rb
300
317
  - spec/unit/daemon/store/active_record_spec.rb
318
+ - spec/unit/daemon/store/mongoid_spec.rb
319
+ - spec/unit/daemon/store/redis_spec.rb
301
320
  - spec/unit/daemon/tcp_connection_spec.rb
302
321
  - spec/unit/daemon/wpns/delivery_spec.rb
303
322
  - spec/unit/daemon_spec.rb
@@ -312,7 +331,6 @@ files:
312
331
  - spec/unit/reflection_collection_spec.rb
313
332
  - spec/unit/rpush_spec.rb
314
333
  - spec/unit_spec_helper.rb
315
- - bin/rpush
316
334
  homepage: https://github.com/rpush/rpush
317
335
  licenses:
318
336
  - MIT
@@ -333,7 +351,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
333
351
  version: '0'
334
352
  requirements: []
335
353
  rubyforge_project:
336
- rubygems_version: 2.1.9
354
+ rubygems_version: 2.4.5
337
355
  signing_key:
338
356
  specification_version: 4
339
357
  summary: The push notification service for Ruby.
@@ -353,6 +371,8 @@ test_files:
353
371
  - spec/support/cert_with_password.pem
354
372
  - spec/support/cert_without_password.pem
355
373
  - spec/support/config/database.yml
374
+ - spec/support/config/mongoid.yml
375
+ - spec/support/mongoid_setup.rb
356
376
  - spec/support/simplecov_helper.rb
357
377
  - spec/support/simplecov_quality_formatter.rb
358
378
  - spec/tmp/.gitkeep
@@ -382,11 +402,14 @@ test_files:
382
402
  - spec/unit/daemon/dispatcher_loop_spec.rb
383
403
  - spec/unit/daemon/feeder_spec.rb
384
404
  - spec/unit/daemon/gcm/delivery_spec.rb
405
+ - spec/unit/daemon/proc_title_spec.rb
385
406
  - spec/unit/daemon/retryable_error_spec.rb
386
407
  - spec/unit/daemon/service_config_methods_spec.rb
387
408
  - spec/unit/daemon/signal_handler_spec.rb
388
409
  - spec/unit/daemon/store/active_record/reconnectable_spec.rb
389
410
  - spec/unit/daemon/store/active_record_spec.rb
411
+ - spec/unit/daemon/store/mongoid_spec.rb
412
+ - spec/unit/daemon/store/redis_spec.rb
390
413
  - spec/unit/daemon/tcp_connection_spec.rb
391
414
  - spec/unit/daemon/wpns/delivery_spec.rb
392
415
  - spec/unit/daemon_spec.rb