rpush 8.0.0 → 9.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +20 -6
- data/README.md +8 -65
- data/lib/generators/templates/rpush.rb +9 -16
- data/lib/rpush/client/active_model/fcm/notification.rb +1 -0
- data/lib/rpush/client/active_model.rb +0 -4
- data/lib/rpush/client/active_record/notification.rb +2 -0
- data/lib/rpush/client/active_record.rb +0 -3
- data/lib/rpush/client/redis.rb +0 -3
- data/lib/rpush/configuration.rb +2 -19
- data/lib/rpush/daemon/service_config_methods.rb +0 -2
- data/lib/rpush/daemon/store/active_record.rb +2 -14
- data/lib/rpush/daemon/store/interface.rb +2 -2
- data/lib/rpush/daemon/store/redis.rb +2 -11
- data/lib/rpush/daemon.rb +0 -10
- data/lib/rpush/reflection_collection.rb +1 -2
- data/lib/rpush/version.rb +2 -2
- data/lib/rpush.rb +0 -1
- data/spec/functional/cli_spec.rb +41 -15
- data/spec/functional/embed_spec.rb +57 -26
- data/spec/functional/retry_spec.rb +21 -4
- data/spec/functional/synchronization_spec.rb +1 -1
- data/spec/functional_spec_helper.rb +0 -6
- data/spec/spec_helper.rb +17 -7
- data/spec/unit/client/active_record/shared/app.rb +1 -1
- data/spec/unit/client/shared/fcm/notification.rb +6 -1
- data/spec/unit/daemon/shared/store.rb +0 -42
- metadata +61 -61
- data/lib/rpush/apns_feedback.rb +0 -18
- data/lib/rpush/client/active_model/gcm/app.rb +0 -19
- data/lib/rpush/client/active_model/gcm/expiry_collapse_key_mutual_inclusion_validator.rb +0 -14
- data/lib/rpush/client/active_model/gcm/notification.rb +0 -62
- data/lib/rpush/client/active_record/gcm/app.rb +0 -11
- data/lib/rpush/client/active_record/gcm/notification.rb +0 -11
- data/lib/rpush/client/redis/gcm/app.rb +0 -11
- data/lib/rpush/client/redis/gcm/notification.rb +0 -11
- data/lib/rpush/daemon/apns/delivery.rb +0 -43
- data/lib/rpush/daemon/apns/feedback_receiver.rb +0 -91
- data/lib/rpush/daemon/apns.rb +0 -17
- data/lib/rpush/daemon/dispatcher/apns_tcp.rb +0 -152
- data/lib/rpush/daemon/dispatcher/tcp.rb +0 -22
- data/lib/rpush/daemon/gcm/delivery.rb +0 -241
- data/lib/rpush/daemon/gcm.rb +0 -9
- data/lib/rpush/daemon/tcp_connection.rb +0 -190
- data/spec/functional/apns_spec.rb +0 -162
- data/spec/functional/gcm_priority_spec.rb +0 -40
- data/spec/functional/gcm_spec.rb +0 -46
- data/spec/functional/new_app_spec.rb +0 -44
- data/spec/unit/apns_feedback_spec.rb +0 -39
- data/spec/unit/client/active_record/gcm/app_spec.rb +0 -6
- data/spec/unit/client/active_record/gcm/notification_spec.rb +0 -14
- data/spec/unit/client/redis/gcm/app_spec.rb +0 -5
- data/spec/unit/client/redis/gcm/notification_spec.rb +0 -5
- data/spec/unit/client/shared/gcm/app.rb +0 -4
- data/spec/unit/client/shared/gcm/notification.rb +0 -77
- data/spec/unit/daemon/apns/delivery_spec.rb +0 -108
- data/spec/unit/daemon/apns/feedback_receiver_spec.rb +0 -137
- data/spec/unit/daemon/dispatcher/tcp_spec.rb +0 -32
- data/spec/unit/daemon/gcm/delivery_spec.rb +0 -387
- 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
|
-
|
5
|
-
|
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 = '
|
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 =
|
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
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
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
|
-
|
40
|
-
|
41
|
-
|
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::
|
5
|
-
let(:notification) { Rpush::
|
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.
|
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(
|
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
|
@@ -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::
|
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
|
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:
|
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-
|
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: '
|
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.
|
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: '
|
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.
|
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.
|
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.
|
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:
|
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:
|
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:
|
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:
|
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:
|
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
|