rpush 8.0.0 → 9.1.0

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