rpush 8.0.0 → 9.1.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 (60) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -6
  3. data/README.md +8 -65
  4. data/lib/generators/templates/rpush.rb +9 -16
  5. data/lib/rpush/client/active_model/fcm/notification.rb +1 -0
  6. data/lib/rpush/client/active_model.rb +0 -4
  7. data/lib/rpush/client/active_record/notification.rb +2 -0
  8. data/lib/rpush/client/active_record.rb +0 -3
  9. data/lib/rpush/client/redis.rb +0 -3
  10. data/lib/rpush/configuration.rb +2 -19
  11. data/lib/rpush/daemon/service_config_methods.rb +0 -2
  12. data/lib/rpush/daemon/store/active_record.rb +2 -14
  13. data/lib/rpush/daemon/store/interface.rb +2 -2
  14. data/lib/rpush/daemon/store/redis.rb +2 -11
  15. data/lib/rpush/daemon.rb +0 -10
  16. data/lib/rpush/reflection_collection.rb +1 -2
  17. data/lib/rpush/version.rb +2 -2
  18. data/lib/rpush.rb +0 -1
  19. data/spec/functional/cli_spec.rb +41 -15
  20. data/spec/functional/embed_spec.rb +57 -26
  21. data/spec/functional/retry_spec.rb +21 -4
  22. data/spec/functional/synchronization_spec.rb +1 -1
  23. data/spec/functional_spec_helper.rb +0 -6
  24. data/spec/spec_helper.rb +17 -7
  25. data/spec/unit/client/active_record/shared/app.rb +1 -1
  26. data/spec/unit/client/shared/fcm/notification.rb +6 -1
  27. data/spec/unit/daemon/shared/store.rb +0 -42
  28. metadata +61 -61
  29. data/lib/rpush/apns_feedback.rb +0 -18
  30. data/lib/rpush/client/active_model/gcm/app.rb +0 -19
  31. data/lib/rpush/client/active_model/gcm/expiry_collapse_key_mutual_inclusion_validator.rb +0 -14
  32. data/lib/rpush/client/active_model/gcm/notification.rb +0 -62
  33. data/lib/rpush/client/active_record/gcm/app.rb +0 -11
  34. data/lib/rpush/client/active_record/gcm/notification.rb +0 -11
  35. data/lib/rpush/client/redis/gcm/app.rb +0 -11
  36. data/lib/rpush/client/redis/gcm/notification.rb +0 -11
  37. data/lib/rpush/daemon/apns/delivery.rb +0 -43
  38. data/lib/rpush/daemon/apns/feedback_receiver.rb +0 -91
  39. data/lib/rpush/daemon/apns.rb +0 -17
  40. data/lib/rpush/daemon/dispatcher/apns_tcp.rb +0 -152
  41. data/lib/rpush/daemon/dispatcher/tcp.rb +0 -22
  42. data/lib/rpush/daemon/gcm/delivery.rb +0 -241
  43. data/lib/rpush/daemon/gcm.rb +0 -9
  44. data/lib/rpush/daemon/tcp_connection.rb +0 -190
  45. data/spec/functional/apns_spec.rb +0 -162
  46. data/spec/functional/gcm_priority_spec.rb +0 -40
  47. data/spec/functional/gcm_spec.rb +0 -46
  48. data/spec/functional/new_app_spec.rb +0 -44
  49. data/spec/unit/apns_feedback_spec.rb +0 -39
  50. data/spec/unit/client/active_record/gcm/app_spec.rb +0 -6
  51. data/spec/unit/client/active_record/gcm/notification_spec.rb +0 -14
  52. data/spec/unit/client/redis/gcm/app_spec.rb +0 -5
  53. data/spec/unit/client/redis/gcm/notification_spec.rb +0 -5
  54. data/spec/unit/client/shared/gcm/app.rb +0 -4
  55. data/spec/unit/client/shared/gcm/notification.rb +0 -77
  56. data/spec/unit/daemon/apns/delivery_spec.rb +0 -108
  57. data/spec/unit/daemon/apns/feedback_receiver_spec.rb +0 -137
  58. data/spec/unit/daemon/dispatcher/tcp_spec.rb +0 -32
  59. data/spec/unit/daemon/gcm/delivery_spec.rb +0 -387
  60. data/spec/unit/daemon/tcp_connection_spec.rb +0 -293
@@ -1,49 +1,80 @@
1
1
  require 'functional_spec_helper'
2
2
 
3
3
  describe 'embedding' do
4
- let(:timeout) { 10 }
5
- let(:app) { Rpush::Apns::App.new }
6
- let(:notification) { Rpush::Apns::Notification.new }
7
- let(:tcp_socket) { double(TCPSocket, setsockopt: nil, close: nil) }
8
- let(:ssl_socket) { double(OpenSSL::SSL::SSLSocket, :sync= => nil, connect: nil, write: nil, flush: nil, read: nil, close: nil) }
9
- let(:io_double) { double(select: nil) }
10
-
11
- before do
4
+ def create_app
5
+ app = Rpush::Apns2::App.new
12
6
  app.certificate = TEST_CERT
13
7
  app.name = 'test'
14
- app.environment = 'sandbox'
8
+ app.environment = 'development'
9
+ app.bundle_id = 'com.example.app'
15
10
  app.save!
11
+ app
12
+ end
16
13
 
14
+ let(:fake_device_token) { 'a' * 108 }
15
+ let(:notification_data) { nil }
16
+
17
+ def create_notification(app)
18
+ notification = Rpush::Apns2::Notification.new
17
19
  notification.app = app
20
+ notification.sound = 'default'
18
21
  notification.alert = 'test'
19
- notification.device_token = 'a' * 108
22
+ notification.device_token = fake_device_token
23
+ notification.data = notification_data
24
+ notification.content_available = 1
20
25
  notification.save!
21
-
22
- stub_tcp_connection
26
+ notification
23
27
  end
24
28
 
25
- def stub_tcp_connection
26
- allow_any_instance_of(Rpush::Daemon::TcpConnection).to receive_messages(connect_socket: [tcp_socket, ssl_socket])
27
- allow_any_instance_of(Rpush::Daemon::TcpConnection).to receive_messages(setup_ssl_context: double.as_null_object)
28
- stub_const('Rpush::Daemon::TcpConnection::IO', io_double)
29
- allow(Rpush::Daemon::Apns::FeedbackReceiver).to receive_messages(new: double.as_null_object)
30
- end
29
+ let(:app) { create_app }
30
+ let(:notification) { create_notification(app) }
31
+
32
+ let(:fake_client) {
33
+ double(
34
+ prepare_request: fake_http2_request,
35
+ close: 'ok',
36
+ call_async: 'ok',
37
+ join: 'ok',
38
+ on: 'ok'
39
+ )
40
+ }
41
+ let(:fake_http2_request) { double }
42
+ let(:fake_http_resp_headers) {
43
+ {
44
+ ":status" => "200",
45
+ "apns-id"=>"C6D65840-5E3F-785A-4D91-B97D305C12F6"
46
+ }
47
+ }
48
+ let(:fake_http_resp_body) { '' }
31
49
 
32
50
  before do
33
- Rpush.config.push_poll = 5
51
+ Rpush.config.push_poll = 0.5
52
+
53
+ allow(NetHttp2::Client).
54
+ to receive(:new).and_return(fake_client)
55
+ allow(fake_http2_request).
56
+ to receive(:on).with(:headers).
57
+ and_yield(fake_http_resp_headers)
58
+ allow(fake_http2_request).
59
+ to receive(:on).with(:body_chunk).
60
+ and_yield(fake_http_resp_body)
61
+ allow(fake_http2_request).
62
+ to receive(:on).with(:close).
63
+ and_yield
64
+
34
65
  Rpush.embed
35
66
  end
36
67
 
68
+ after do
69
+ timeout { Rpush.shutdown }
70
+ end
71
+
37
72
  it 'delivers a notification successfully' do
38
73
  expect do
39
- Timeout.timeout(timeout) do
40
- until notification.delivered
41
- notification.reload
42
- sleep 0.1
43
- end
74
+ until notification.delivered
75
+ notification.reload
76
+ sleep 0.1
44
77
  end
45
78
  end.to change(notification, :delivered).to(true)
46
79
  end
47
-
48
- after { Timeout.timeout(timeout) { Rpush.shutdown } }
49
80
  end
@@ -1,10 +1,12 @@
1
1
  require 'functional_spec_helper'
2
2
 
3
3
  describe 'Retries' do
4
- let(:app) { Rpush::Gcm::App.new }
5
- let(:notification) { Rpush::Gcm::Notification.new }
4
+ let(:app) { Rpush::Fcm::App.new }
5
+ let(:notification) { Rpush::Fcm::Notification.new }
6
6
  let(:response) { double(Net::HTTPResponse, code: 200) }
7
7
  let(:http) { double(Net::HTTP::Persistent, request: response, shutdown: nil) }
8
+ let(:fake_device_token) { 'a' * 108 }
9
+ let(:creds) {double(Google::Auth::UserRefreshCredentials)}
8
10
 
9
11
  before do
10
12
  Rpush::Daemon.common_init
@@ -14,7 +16,7 @@ describe 'Retries' do
14
16
  app.save!
15
17
 
16
18
  notification.app_id = app.id
17
- notification.registration_ids = ['foo']
19
+ notification.device_token = 'foo'
18
20
  notification.data = { message: 'test' }
19
21
  notification.save!
20
22
 
@@ -23,7 +25,22 @@ describe 'Retries' do
23
25
  end
24
26
 
25
27
  allow(Net::HTTP::Persistent).to receive_messages(new: http)
26
- allow(response).to receive_messages(body: JSON.dump(results: [{ message_id: notification.registration_ids.first.to_s }]))
28
+ allow(creds).to receive(:fetch_access_token).and_return({'access_token': 'face_access_token'})
29
+
30
+ allow(::Google::Auth::ServiceAccountCredentials).to receive(:fetch_access_token).and_return({access_token: 'bbbbbb'})
31
+ allow(::Google::Auth::ServiceAccountCredentials).to receive(:make_creds).and_return(creds)
32
+ allow_any_instance_of(::Rpush::Daemon::Fcm::Delivery).to receive(:necessary_data_exists?).and_return(true)
33
+
34
+ example_success_body = {
35
+ "multicast_id": 108,
36
+ "success": 1,
37
+ "failure": 0,
38
+ "canonical_ids": 0,
39
+ "results": [
40
+ { "message_id": "1:08" }
41
+ ]
42
+ }.to_json
43
+ allow(response).to receive_messages(body: example_success_body)
27
44
  end
28
45
 
29
46
  it 'delivers a notification due to be retried' do
@@ -2,7 +2,7 @@ require 'functional_spec_helper'
2
2
 
3
3
  describe 'Synchronization' do
4
4
  let(:timeout) { 10 }
5
- let(:app) { Rpush::Gcm::App.new }
5
+ let(:app) { Rpush::Fcm::App.new }
6
6
 
7
7
  def wait_for_num_dispatchers(num)
8
8
  Timeout.timeout(timeout) do
@@ -11,12 +11,6 @@ def timeout(&blk)
11
11
  Timeout.timeout(10, &blk)
12
12
  end
13
13
 
14
- def stub_tcp_connection(tcp_socket, ssl_socket, io_double)
15
- allow_any_instance_of(Rpush::Daemon::TcpConnection).to receive_messages(connect_socket: [tcp_socket, ssl_socket])
16
- allow_any_instance_of(Rpush::Daemon::TcpConnection).to receive_messages(setup_ssl_context: double.as_null_object)
17
- stub_const('Rpush::Daemon::TcpConnection::IO', io_double)
18
- end
19
-
20
14
  RSpec.configure do |config|
21
15
  config.before(:each) do
22
16
  Modis.with_connection do |redis|
data/spec/spec_helper.rb CHANGED
@@ -17,13 +17,6 @@ require 'debug'
17
17
  require 'timecop'
18
18
  require 'activerecord-jdbc-adapter' if defined? JRUBY_VERSION
19
19
 
20
- require 'rpush'
21
- require 'rpush/daemon'
22
- require 'rpush/client/redis'
23
- require 'rpush/client/active_record'
24
- require 'rpush/daemon/store/active_record'
25
- require 'rpush/daemon/store/redis'
26
-
27
20
  def active_record?
28
21
  client == :active_record
29
22
  end
@@ -32,6 +25,21 @@ def redis?
32
25
  client == :redis
33
26
  end
34
27
 
28
+ if active_record?
29
+ require 'active_record'
30
+ if ActiveRecord::Base.respond_to?(:default_column_serializer)
31
+ # New default in Rails 7.1: https://github.com/rails/rails/pull/47422
32
+ ActiveRecord::Base.default_column_serializer = nil
33
+ end
34
+ end
35
+
36
+ require 'rpush'
37
+ require 'rpush/daemon'
38
+ require 'rpush/client/redis'
39
+ require 'rpush/client/active_record'
40
+ require 'rpush/daemon/store/active_record'
41
+ require 'rpush/daemon/store/redis'
42
+
35
43
  require 'support/active_record_setup' if active_record?
36
44
 
37
45
  RPUSH_ROOT = '/tmp/rails_root'
@@ -58,6 +66,8 @@ def after_example_cleanup
58
66
  end
59
67
  Rpush.plugins.values.each(&:unload)
60
68
  Rpush.instance_variable_set('@plugins', {})
69
+ Rpush.reflection_stack.clear
70
+ Rpush.reflection_stack.push(Rpush::ReflectionCollection.new)
61
71
  end
62
72
 
63
73
  RSpec.configure do |config|
@@ -8,7 +8,7 @@ shared_examples_for 'Rpush::Client::ActiveRecord::App' do
8
8
  app = Rpush::Apns::App.new(name: 'test', environment: 'development', certificate: TEST_CERT)
9
9
  expect(app.valid?).to eq(true)
10
10
 
11
- app = Rpush::Gcm::App.new(name: 'test', environment: 'production', auth_key: TEST_CERT)
11
+ app = Rpush::Fcm::App.new(name: 'test', environment: 'production', json_key: TEST_CERT)
12
12
  expect(app.valid?).to eq(true)
13
13
  end
14
14
  end
@@ -26,7 +26,7 @@ shared_examples 'Rpush::Client::Fcm::Notification' do
26
26
  expect(notification.as_json['message']['notification']).to eq({"title"=>"title", "body"=>"body"})
27
27
  end
28
28
 
29
- it "moves notification keys to the correcdt location" do
29
+ it "moves notification keys to the correct location" do
30
30
  notification.app = app
31
31
  notification.device_token = "valid"
32
32
  notification.notification = { "title" => "valid", "body" => "valid", "color" => "valid for android" }
@@ -82,6 +82,11 @@ shared_examples 'Rpush::Client::Fcm::Notification' do
82
82
  expect(notification.as_json['message']).to have_key 'notification'
83
83
  end
84
84
 
85
+ it 'includes the badge if defined' do
86
+ notification.badge = 3
87
+ expect(notification.as_json['message']['apns']['payload']['aps']['badge']).to eq(3)
88
+ end
89
+
85
90
  it 'excludes the notification payload if undefined' do
86
91
  expect(notification.as_json['message']).not_to have_key 'notification'
87
92
  end
@@ -233,48 +233,6 @@ shared_examples 'Rpush::Daemon::Store' do
233
233
  end
234
234
  end
235
235
 
236
- describe 'create_apns_feedback' do
237
- it 'creates the Feedback record' do
238
- expect(Rpush::Apns::Feedback).to receive(:create!).with(
239
- failed_at: time, device_token: 'ab' * 32, app_id: app.id
240
- )
241
- store.create_apns_feedback(time, 'ab' * 32, app)
242
- end
243
- end
244
-
245
- describe 'create_gcm_notification' do
246
- let(:data) { { 'data' => true } }
247
- let(:attributes) { { device_token: 'ab' * 32 } }
248
- let(:registration_ids) { %w[123 456] }
249
- let(:deliver_after) { time + 10.seconds }
250
- let(:args) { [attributes, data, registration_ids, deliver_after, app] }
251
-
252
- it 'sets the given attributes' do
253
- new_notification = store.create_gcm_notification(*args)
254
- expect(new_notification.device_token).to eq 'ab' * 32
255
- end
256
-
257
- it 'sets the given data' do
258
- new_notification = store.create_gcm_notification(*args)
259
- expect(new_notification.data['data']).to be_truthy
260
- end
261
-
262
- it 'sets the given registration IDs' do
263
- new_notification = store.create_gcm_notification(*args)
264
- expect(new_notification.registration_ids).to eq registration_ids
265
- end
266
-
267
- it 'sets the deliver_after timestamp' do
268
- new_notification = store.create_gcm_notification(*args)
269
- expect(new_notification.deliver_after).to eq deliver_after
270
- end
271
-
272
- it 'saves the new notification' do
273
- new_notification = store.create_gcm_notification(*args)
274
- expect(new_notification.new_record?).to be_falsey
275
- end
276
- end
277
-
278
236
  describe 'create_adm_notification' do
279
237
  let(:data) { { 'data' => true } }
280
238
  let(:attributes) { { app_id: app.id, collapse_key: 'ckey', delay_while_idle: true } }
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: 8.0.0
4
+ version: 9.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ian Leitch
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-09-06 00:00:00.000000000 Z
11
+ date: 2024-09-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json
@@ -78,20 +78,26 @@ dependencies:
78
78
  requirements:
79
79
  - - ">="
80
80
  - !ruby/object:Gem::Version
81
- version: '5.2'
81
+ version: '6.0'
82
+ - - "!="
83
+ - !ruby/object:Gem::Version
84
+ version: 7.1.4
82
85
  - - "<"
83
86
  - !ruby/object:Gem::Version
84
- version: 7.1.0
87
+ version: 7.2.0
85
88
  type: :runtime
86
89
  prerelease: false
87
90
  version_requirements: !ruby/object:Gem::Requirement
88
91
  requirements:
89
92
  - - ">="
90
93
  - !ruby/object:Gem::Version
91
- version: '5.2'
94
+ version: '6.0'
95
+ - - "!="
96
+ - !ruby/object:Gem::Version
97
+ version: 7.1.4
92
98
  - - "<"
93
99
  - !ruby/object:Gem::Version
94
- version: 7.1.0
100
+ version: 7.2.0
95
101
  - !ruby/object:Gem::Dependency
96
102
  name: thor
97
103
  requirement: !ruby/object:Gem::Requirement
@@ -328,14 +334,14 @@ dependencies:
328
334
  requirements:
329
335
  - - "~>"
330
336
  - !ruby/object:Gem::Version
331
- version: 1.12.0
337
+ version: '1.66'
332
338
  type: :development
333
339
  prerelease: false
334
340
  version_requirements: !ruby/object:Gem::Requirement
335
341
  requirements:
336
342
  - - "~>"
337
343
  - !ruby/object:Gem::Version
338
- version: 1.12.0
344
+ version: '1.66'
339
345
  - !ruby/object:Gem::Dependency
340
346
  name: rubocop-performance
341
347
  requirement: !ruby/object:Gem::Requirement
@@ -351,7 +357,7 @@ dependencies:
351
357
  - !ruby/object:Gem::Version
352
358
  version: '0'
353
359
  - !ruby/object:Gem::Dependency
354
- name: byebug
360
+ name: rubocop-rake
355
361
  requirement: !ruby/object:Gem::Requirement
356
362
  requirements:
357
363
  - - ">="
@@ -365,7 +371,7 @@ dependencies:
365
371
  - !ruby/object:Gem::Version
366
372
  version: '0'
367
373
  - !ruby/object:Gem::Dependency
368
- name: pg
374
+ name: rubocop-rspec
369
375
  requirement: !ruby/object:Gem::Requirement
370
376
  requirements:
371
377
  - - ">="
@@ -379,7 +385,7 @@ dependencies:
379
385
  - !ruby/object:Gem::Version
380
386
  version: '0'
381
387
  - !ruby/object:Gem::Dependency
382
- name: mysql2
388
+ name: rubocop-rails
383
389
  requirement: !ruby/object:Gem::Requirement
384
390
  requirements:
385
391
  - - ">="
@@ -393,7 +399,21 @@ dependencies:
393
399
  - !ruby/object:Gem::Version
394
400
  version: '0'
395
401
  - !ruby/object:Gem::Dependency
396
- name: sqlite3
402
+ name: byebug
403
+ requirement: !ruby/object:Gem::Requirement
404
+ requirements:
405
+ - - ">="
406
+ - !ruby/object:Gem::Version
407
+ version: '0'
408
+ type: :development
409
+ prerelease: false
410
+ version_requirements: !ruby/object:Gem::Requirement
411
+ requirements:
412
+ - - ">="
413
+ - !ruby/object:Gem::Version
414
+ version: '0'
415
+ - !ruby/object:Gem::Dependency
416
+ name: pg
397
417
  requirement: !ruby/object:Gem::Requirement
398
418
  requirements:
399
419
  - - ">="
@@ -406,6 +426,34 @@ dependencies:
406
426
  - - ">="
407
427
  - !ruby/object:Gem::Version
408
428
  version: '0'
429
+ - !ruby/object:Gem::Dependency
430
+ name: mysql2
431
+ requirement: !ruby/object:Gem::Requirement
432
+ requirements:
433
+ - - ">="
434
+ - !ruby/object:Gem::Version
435
+ version: '0'
436
+ type: :development
437
+ prerelease: false
438
+ version_requirements: !ruby/object:Gem::Requirement
439
+ requirements:
440
+ - - ">="
441
+ - !ruby/object:Gem::Version
442
+ version: '0'
443
+ - !ruby/object:Gem::Dependency
444
+ name: sqlite3
445
+ requirement: !ruby/object:Gem::Requirement
446
+ requirements:
447
+ - - "~>"
448
+ - !ruby/object:Gem::Version
449
+ version: '1.4'
450
+ type: :development
451
+ prerelease: false
452
+ version_requirements: !ruby/object:Gem::Requirement
453
+ requirements:
454
+ - - "~>"
455
+ - !ruby/object:Gem::Version
456
+ version: '1.4'
409
457
  description: The push notification service for Ruby.
410
458
  email:
411
459
  - port001@gmail.com
@@ -449,7 +497,6 @@ files:
449
497
  - lib/generators/templates/rpush_4_2_0_updates.rb
450
498
  - lib/generators/templates/rpush_7_1_0_updates.rb
451
499
  - lib/rpush.rb
452
- - lib/rpush/apns_feedback.rb
453
500
  - lib/rpush/cli.rb
454
501
  - lib/rpush/client/active_model.rb
455
502
  - lib/rpush/client/active_model/adm/app.rb
@@ -468,9 +515,6 @@ files:
468
515
  - lib/rpush/client/active_model/fcm/expiry_collapse_key_mutual_inclusion_validator.rb
469
516
  - lib/rpush/client/active_model/fcm/notification.rb
470
517
  - lib/rpush/client/active_model/fcm/notification_keys_in_allowed_list_validator.rb
471
- - lib/rpush/client/active_model/gcm/app.rb
472
- - lib/rpush/client/active_model/gcm/expiry_collapse_key_mutual_inclusion_validator.rb
473
- - lib/rpush/client/active_model/gcm/notification.rb
474
518
  - lib/rpush/client/active_model/notification.rb
475
519
  - lib/rpush/client/active_model/payload_data_size_validator.rb
476
520
  - lib/rpush/client/active_model/pushy/app.rb
@@ -497,8 +541,6 @@ files:
497
541
  - lib/rpush/client/active_record/app.rb
498
542
  - lib/rpush/client/active_record/fcm/app.rb
499
543
  - lib/rpush/client/active_record/fcm/notification.rb
500
- - lib/rpush/client/active_record/gcm/app.rb
501
- - lib/rpush/client/active_record/gcm/notification.rb
502
544
  - lib/rpush/client/active_record/notification.rb
503
545
  - lib/rpush/client/active_record/pushy/app.rb
504
546
  - lib/rpush/client/active_record/pushy/notification.rb
@@ -523,8 +565,6 @@ files:
523
565
  - lib/rpush/client/redis/app.rb
524
566
  - lib/rpush/client/redis/fcm/app.rb
525
567
  - lib/rpush/client/redis/fcm/notification.rb
526
- - lib/rpush/client/redis/gcm/app.rb
527
- - lib/rpush/client/redis/gcm/notification.rb
528
568
  - lib/rpush/client/redis/notification.rb
529
569
  - lib/rpush/client/redis/pushy/app.rb
530
570
  - lib/rpush/client/redis/pushy/notification.rb
@@ -540,9 +580,6 @@ files:
540
580
  - lib/rpush/daemon.rb
541
581
  - lib/rpush/daemon/adm.rb
542
582
  - lib/rpush/daemon/adm/delivery.rb
543
- - lib/rpush/daemon/apns.rb
544
- - lib/rpush/daemon/apns/delivery.rb
545
- - lib/rpush/daemon/apns/feedback_receiver.rb
546
583
  - lib/rpush/daemon/apns2.rb
547
584
  - lib/rpush/daemon/apns2/delivery.rb
548
585
  - lib/rpush/daemon/apnsp8.rb
@@ -554,17 +591,13 @@ files:
554
591
  - lib/rpush/daemon/delivery.rb
555
592
  - lib/rpush/daemon/delivery_error.rb
556
593
  - lib/rpush/daemon/dispatcher/apns_http2.rb
557
- - lib/rpush/daemon/dispatcher/apns_tcp.rb
558
594
  - lib/rpush/daemon/dispatcher/apnsp8_http2.rb
559
595
  - lib/rpush/daemon/dispatcher/http.rb
560
- - lib/rpush/daemon/dispatcher/tcp.rb
561
596
  - lib/rpush/daemon/dispatcher_loop.rb
562
597
  - lib/rpush/daemon/errors.rb
563
598
  - lib/rpush/daemon/fcm.rb
564
599
  - lib/rpush/daemon/fcm/delivery.rb
565
600
  - lib/rpush/daemon/feeder.rb
566
- - lib/rpush/daemon/gcm.rb
567
- - lib/rpush/daemon/gcm/delivery.rb
568
601
  - lib/rpush/daemon/google_credential_cache.rb
569
602
  - lib/rpush/daemon/interruptible_sleep.rb
570
603
  - lib/rpush/daemon/loggable.rb
@@ -586,7 +619,6 @@ files:
586
619
  - lib/rpush/daemon/store/redis.rb
587
620
  - lib/rpush/daemon/string_helpers.rb
588
621
  - lib/rpush/daemon/synchronizer.rb
589
- - lib/rpush/daemon/tcp_connection.rb
590
622
  - lib/rpush/daemon/webpush.rb
591
623
  - lib/rpush/daemon/webpush/delivery.rb
592
624
  - lib/rpush/daemon/wns.rb
@@ -612,14 +644,10 @@ files:
612
644
  - spec/.rubocop.yml
613
645
  - spec/functional/adm_spec.rb
614
646
  - spec/functional/apns2_spec.rb
615
- - spec/functional/apns_spec.rb
616
647
  - spec/functional/cli_spec.rb
617
648
  - spec/functional/embed_spec.rb
618
649
  - spec/functional/fcm_priority_spec.rb
619
650
  - spec/functional/fcm_spec.rb
620
- - spec/functional/gcm_priority_spec.rb
621
- - spec/functional/gcm_spec.rb
622
- - spec/functional/new_app_spec.rb
623
651
  - spec/functional/pushy_spec.rb
624
652
  - spec/functional/retry_spec.rb
625
653
  - spec/functional/synchronization_spec.rb
@@ -634,7 +662,6 @@ files:
634
662
  - spec/support/simplecov_helper.rb
635
663
  - spec/support/simplecov_quality_formatter.rb
636
664
  - spec/tmp/.gitkeep
637
- - spec/unit/apns_feedback_spec.rb
638
665
  - spec/unit/client/active_record/adm/app_spec.rb
639
666
  - spec/unit/client/active_record/adm/notification_spec.rb
640
667
  - spec/unit/client/active_record/apns/app_spec.rb
@@ -646,8 +673,6 @@ files:
646
673
  - spec/unit/client/active_record/app_spec.rb
647
674
  - spec/unit/client/active_record/fcm/app_spec.rb
648
675
  - spec/unit/client/active_record/fcm/notification_spec.rb
649
- - spec/unit/client/active_record/gcm/app_spec.rb
650
- - spec/unit/client/active_record/gcm/notification_spec.rb
651
676
  - spec/unit/client/active_record/notification_spec.rb
652
677
  - spec/unit/client/active_record/pushy/app_spec.rb
653
678
  - spec/unit/client/active_record/pushy/notification_spec.rb
@@ -670,8 +695,6 @@ files:
670
695
  - spec/unit/client/redis/app_spec.rb
671
696
  - spec/unit/client/redis/fcm/app_spec.rb
672
697
  - spec/unit/client/redis/fcm/notification_spec.rb
673
- - spec/unit/client/redis/gcm/app_spec.rb
674
- - spec/unit/client/redis/gcm/notification_spec.rb
675
698
  - spec/unit/client/redis/notification_spec.rb
676
699
  - spec/unit/client/redis/pushy/app_spec.rb
677
700
  - spec/unit/client/redis/pushy/notification_spec.rb
@@ -689,8 +712,6 @@ files:
689
712
  - spec/unit/client/shared/app.rb
690
713
  - spec/unit/client/shared/fcm/app.rb
691
714
  - spec/unit/client/shared/fcm/notification.rb
692
- - spec/unit/client/shared/gcm/app.rb
693
- - spec/unit/client/shared/gcm/notification.rb
694
715
  - spec/unit/client/shared/notification.rb
695
716
  - spec/unit/client/shared/pushy/app.rb
696
717
  - spec/unit/client/shared/pushy/notification.rb
@@ -703,19 +724,15 @@ files:
703
724
  - spec/unit/configuration_spec.rb
704
725
  - spec/unit/daemon/adm/delivery_spec.rb
705
726
  - spec/unit/daemon/apns/certificate_expired_error_spec.rb
706
- - spec/unit/daemon/apns/delivery_spec.rb
707
- - spec/unit/daemon/apns/feedback_receiver_spec.rb
708
727
  - spec/unit/daemon/apnsp8/delivery_spec.rb
709
728
  - spec/unit/daemon/app_runner_spec.rb
710
729
  - spec/unit/daemon/batch_spec.rb
711
730
  - spec/unit/daemon/delivery_error_spec.rb
712
731
  - spec/unit/daemon/delivery_spec.rb
713
732
  - spec/unit/daemon/dispatcher/http_spec.rb
714
- - spec/unit/daemon/dispatcher/tcp_spec.rb
715
733
  - spec/unit/daemon/dispatcher_loop_spec.rb
716
734
  - spec/unit/daemon/fcm/delivery_spec.rb
717
735
  - spec/unit/daemon/feeder_spec.rb
718
- - spec/unit/daemon/gcm/delivery_spec.rb
719
736
  - spec/unit/daemon/proc_title_spec.rb
720
737
  - spec/unit/daemon/pushy/delivery_spec.rb
721
738
  - spec/unit/daemon/retryable_error_spec.rb
@@ -725,7 +742,6 @@ files:
725
742
  - spec/unit/daemon/store/active_record/reconnectable_spec.rb
726
743
  - spec/unit/daemon/store/active_record_spec.rb
727
744
  - spec/unit/daemon/store/redis_spec.rb
728
- - spec/unit/daemon/tcp_connection_spec.rb
729
745
  - spec/unit/daemon/webpush/delivery_spec.rb
730
746
  - spec/unit/daemon/wns/delivery_spec.rb
731
747
  - spec/unit/daemon/wns/post_request_spec.rb
@@ -761,7 +777,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
761
777
  requirements:
762
778
  - - ">="
763
779
  - !ruby/object:Gem::Version
764
- version: 2.7.0
780
+ version: 3.0.0
765
781
  required_rubygems_version: !ruby/object:Gem::Requirement
766
782
  requirements:
767
783
  - - ">="
@@ -776,14 +792,10 @@ test_files:
776
792
  - spec/.rubocop.yml
777
793
  - spec/functional/adm_spec.rb
778
794
  - spec/functional/apns2_spec.rb
779
- - spec/functional/apns_spec.rb
780
795
  - spec/functional/cli_spec.rb
781
796
  - spec/functional/embed_spec.rb
782
797
  - spec/functional/fcm_priority_spec.rb
783
798
  - spec/functional/fcm_spec.rb
784
- - spec/functional/gcm_priority_spec.rb
785
- - spec/functional/gcm_spec.rb
786
- - spec/functional/new_app_spec.rb
787
799
  - spec/functional/pushy_spec.rb
788
800
  - spec/functional/retry_spec.rb
789
801
  - spec/functional/synchronization_spec.rb
@@ -798,7 +810,6 @@ test_files:
798
810
  - spec/support/simplecov_helper.rb
799
811
  - spec/support/simplecov_quality_formatter.rb
800
812
  - spec/tmp/.gitkeep
801
- - spec/unit/apns_feedback_spec.rb
802
813
  - spec/unit/client/active_record/adm/app_spec.rb
803
814
  - spec/unit/client/active_record/adm/notification_spec.rb
804
815
  - spec/unit/client/active_record/apns/app_spec.rb
@@ -810,8 +821,6 @@ test_files:
810
821
  - spec/unit/client/active_record/app_spec.rb
811
822
  - spec/unit/client/active_record/fcm/app_spec.rb
812
823
  - spec/unit/client/active_record/fcm/notification_spec.rb
813
- - spec/unit/client/active_record/gcm/app_spec.rb
814
- - spec/unit/client/active_record/gcm/notification_spec.rb
815
824
  - spec/unit/client/active_record/notification_spec.rb
816
825
  - spec/unit/client/active_record/pushy/app_spec.rb
817
826
  - spec/unit/client/active_record/pushy/notification_spec.rb
@@ -834,8 +843,6 @@ test_files:
834
843
  - spec/unit/client/redis/app_spec.rb
835
844
  - spec/unit/client/redis/fcm/app_spec.rb
836
845
  - spec/unit/client/redis/fcm/notification_spec.rb
837
- - spec/unit/client/redis/gcm/app_spec.rb
838
- - spec/unit/client/redis/gcm/notification_spec.rb
839
846
  - spec/unit/client/redis/notification_spec.rb
840
847
  - spec/unit/client/redis/pushy/app_spec.rb
841
848
  - spec/unit/client/redis/pushy/notification_spec.rb
@@ -853,8 +860,6 @@ test_files:
853
860
  - spec/unit/client/shared/app.rb
854
861
  - spec/unit/client/shared/fcm/app.rb
855
862
  - spec/unit/client/shared/fcm/notification.rb
856
- - spec/unit/client/shared/gcm/app.rb
857
- - spec/unit/client/shared/gcm/notification.rb
858
863
  - spec/unit/client/shared/notification.rb
859
864
  - spec/unit/client/shared/pushy/app.rb
860
865
  - spec/unit/client/shared/pushy/notification.rb
@@ -867,19 +872,15 @@ test_files:
867
872
  - spec/unit/configuration_spec.rb
868
873
  - spec/unit/daemon/adm/delivery_spec.rb
869
874
  - spec/unit/daemon/apns/certificate_expired_error_spec.rb
870
- - spec/unit/daemon/apns/delivery_spec.rb
871
- - spec/unit/daemon/apns/feedback_receiver_spec.rb
872
875
  - spec/unit/daemon/apnsp8/delivery_spec.rb
873
876
  - spec/unit/daemon/app_runner_spec.rb
874
877
  - spec/unit/daemon/batch_spec.rb
875
878
  - spec/unit/daemon/delivery_error_spec.rb
876
879
  - spec/unit/daemon/delivery_spec.rb
877
880
  - spec/unit/daemon/dispatcher/http_spec.rb
878
- - spec/unit/daemon/dispatcher/tcp_spec.rb
879
881
  - spec/unit/daemon/dispatcher_loop_spec.rb
880
882
  - spec/unit/daemon/fcm/delivery_spec.rb
881
883
  - spec/unit/daemon/feeder_spec.rb
882
- - spec/unit/daemon/gcm/delivery_spec.rb
883
884
  - spec/unit/daemon/proc_title_spec.rb
884
885
  - spec/unit/daemon/pushy/delivery_spec.rb
885
886
  - spec/unit/daemon/retryable_error_spec.rb
@@ -889,7 +890,6 @@ test_files:
889
890
  - spec/unit/daemon/store/active_record/reconnectable_spec.rb
890
891
  - spec/unit/daemon/store/active_record_spec.rb
891
892
  - spec/unit/daemon/store/redis_spec.rb
892
- - spec/unit/daemon/tcp_connection_spec.rb
893
893
  - spec/unit/daemon/webpush/delivery_spec.rb
894
894
  - spec/unit/daemon/wns/delivery_spec.rb
895
895
  - spec/unit/daemon/wns/post_request_spec.rb