rpush 5.3.0 → 7.0.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 +60 -0
  3. data/README.md +4 -4
  4. data/lib/generators/templates/add_adm.rb +1 -1
  5. data/lib/generators/templates/add_alert_is_json_to_rapns_notifications.rb +2 -2
  6. data/lib/generators/templates/add_app_to_rapns.rb +2 -2
  7. data/lib/generators/templates/add_fail_after_to_rpush_notifications.rb +1 -1
  8. data/lib/generators/templates/add_gcm.rb +11 -25
  9. data/lib/generators/templates/add_rpush.rb +33 -83
  10. data/lib/generators/templates/add_wpns.rb +1 -1
  11. data/lib/generators/templates/create_rapns_apps.rb +1 -1
  12. data/lib/generators/templates/create_rapns_feedback.rb +3 -9
  13. data/lib/generators/templates/create_rapns_notifications.rb +3 -9
  14. data/lib/generators/templates/rename_rapns_to_rpush.rb +9 -33
  15. data/lib/generators/templates/rpush.rb +1 -4
  16. data/lib/generators/templates/rpush_2_0_0_updates.rb +10 -18
  17. data/lib/generators/templates/rpush_2_1_0_updates.rb +1 -1
  18. data/lib/generators/templates/rpush_2_6_0_updates.rb +1 -1
  19. data/lib/generators/templates/rpush_2_7_0_updates.rb +1 -1
  20. data/lib/generators/templates/rpush_3_0_0_updates.rb +1 -1
  21. data/lib/generators/templates/rpush_3_0_1_updates.rb +1 -1
  22. data/lib/generators/templates/rpush_3_1_0_add_pushy.rb +1 -1
  23. data/lib/generators/templates/rpush_3_1_1_updates.rb +1 -1
  24. data/lib/generators/templates/rpush_3_2_0_add_apns_p8.rb +1 -1
  25. data/lib/generators/templates/rpush_3_2_4_updates.rb +1 -1
  26. data/lib/generators/templates/rpush_3_3_0_updates.rb +1 -1
  27. data/lib/generators/templates/rpush_3_3_1_updates.rb +3 -3
  28. data/lib/generators/templates/rpush_4_1_0_updates.rb +1 -1
  29. data/lib/generators/templates/rpush_4_1_1_updates.rb +1 -1
  30. data/lib/generators/templates/rpush_4_2_0_updates.rb +1 -1
  31. data/lib/rpush/client/active_model/apns/app.rb +1 -17
  32. data/lib/rpush/client/active_model/apns/notification.rb +4 -0
  33. data/lib/rpush/client/active_model/apns2/app.rb +7 -1
  34. data/lib/rpush/client/active_model/certificate_private_key_validator.rb +19 -0
  35. data/lib/rpush/client/active_model/webpush/notification.rb +1 -1
  36. data/lib/rpush/client/active_model.rb +1 -0
  37. data/lib/rpush/daemon/apns2/delivery.rb +1 -0
  38. data/lib/rpush/daemon/apnsp8/delivery.rb +7 -1
  39. data/lib/rpush/daemon/store/active_record.rb +11 -7
  40. data/lib/rpush/daemon/string_helpers.rb +1 -1
  41. data/lib/rpush/logger.rb +1 -1
  42. data/lib/rpush/version.rb +2 -2
  43. data/spec/functional/apns2_spec.rb +4 -2
  44. data/spec/functional/retry_spec.rb +1 -1
  45. data/spec/functional/webpush_spec.rb +1 -0
  46. data/spec/spec_helper.rb +1 -1
  47. data/spec/support/active_record_setup.rb +4 -3
  48. data/spec/support/config/database.yml +4 -4
  49. data/spec/support/simplecov_helper.rb +1 -1
  50. data/spec/unit/client/active_record/apns/notification_spec.rb +1 -1
  51. data/spec/unit/client/active_record/apns2/app_spec.rb +1 -0
  52. data/spec/unit/client/active_record/apns2/notification_spec.rb +1 -1
  53. data/spec/unit/client/redis/apns/notification_spec.rb +1 -1
  54. data/spec/unit/client/redis/apns2/notification_spec.rb +1 -1
  55. data/spec/unit/client/shared/apns/notification.rb +15 -0
  56. data/spec/unit/daemon/apnsp8/delivery_spec.rb +53 -0
  57. data/spec/unit/daemon/pushy/delivery_spec.rb +5 -3
  58. data/spec/unit/daemon/store/active_record_spec.rb +7 -0
  59. data/spec/unit/daemon/webpush/delivery_spec.rb +5 -3
  60. metadata +15 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2da7543fed0193b0dcd20169efb5abd8170f15bc5043ef4ce2cb4d0e56380b4f
4
- data.tar.gz: d7ba0f5b1dc97d17a7d23bf623d900b6da26b428ddcf4a8a93fce7641ab20f2d
3
+ metadata.gz: 92cd836109dce22fe3308276ba9dfef44eb2568199527f152beb848711ad6b07
4
+ data.tar.gz: bd276ebd3983b2f59a2382b02ecb1806bc3dc08996e565c097308abd2809b351
5
5
  SHA512:
6
- metadata.gz: 745e0799a2e66d4813b99c4a93eb5d172dcbbe4c1317bd945b1addf177720f489bbdb0d83d918b9ab0ba4b98c35d186c0522d39740541097e16e90d0687487d8
7
- data.tar.gz: e6d249ad9c7366cc54267e4eaa6f3d1bb3670dc6211380aa8bced26b33053cc0fda328f33b72a1d843cdd794e44e0793cd579e49745c60e46aa83155a5d0acca
6
+ metadata.gz: 8971bc32c3b3b9f17a3bfe6d1c4aeb80ca40238d0598061dc6f59eae2f453e3c2cd0cefb2f39092c4842ed220f8c424214d3ce37fa8828b7cd0085324164b061
7
+ data.tar.gz: f825acf76c812b53746c26829206d9c7641566820fb6abdcc1113493bedd0bfe9b511acb13d1175c9024e51c4435d535c2931c72545ec17edf797c62537f1e4e
data/CHANGELOG.md CHANGED
@@ -1,5 +1,65 @@
1
1
  # Changelog
2
2
 
3
+ ## [Unreleased](https://github.com/rpush/rpush/tree/HEAD)
4
+
5
+ [Full Changelog](https://github.com/rpush/rpush/compare/v7.0.0...HEAD)
6
+
7
+ ## [v7.0.0](https://github.com/rpush/rpush/tree/HEAD)
8
+
9
+ [Full Changelog](https://github.com/rpush/rpush/compare/v6.0.1...v7.0.0)
10
+
11
+ **Merged pull requests:**
12
+
13
+ - Test with Ruby 3.1 [\#632](https://github.com/rpush/rpush/pull/632) ([aried3r](https://github.com/aried3r))
14
+ - Resolves Rails 7 Time.now.to\_s deprecation warning [\#630](https://github.com/rpush/rpush/pull/630) ([gregblake](https://github.com/gregblake))
15
+ - Adds Rails 7 Support [\#629](https://github.com/rpush/rpush/pull/629) ([gregblake](https://github.com/gregblake))
16
+ - Test with Rails 7.0.0.alpha2 [\#626](https://github.com/rpush/rpush/pull/626) ([aried3r](https://github.com/aried3r))
17
+
18
+ **Breaking:**
19
+
20
+ - Drop support for Ruby 2.3 [\#631](https://github.com/rpush/rpush/pull/631) ([aried3r](https://github.com/aried3r))
21
+
22
+ ## [v6.0.1](https://github.com/rpush/rpush/tree/v6.0.1) (2021-10-08)
23
+
24
+ [Full Changelog](https://github.com/rpush/rpush/compare/v6.0.0...v6.0.1)
25
+
26
+ **Merged pull requests:**
27
+
28
+ - Don't limit webpush registration keys [\#624](https://github.com/rpush/rpush/pull/624) ([treyrich](https://github.com/treyrich))
29
+ - Add Prometheus Exporter plugin link to README [\#617](https://github.com/rpush/rpush/pull/617) ([maxsz](https://github.com/maxsz))
30
+ - Reference current interface in config template [\#569](https://github.com/rpush/rpush/pull/569) ([benlangfeld](https://github.com/benlangfeld))
31
+ - Default the Rails environment to RAILS\_ENV if set [\#562](https://github.com/rpush/rpush/pull/562) ([benlangfeld](https://github.com/benlangfeld))
32
+
33
+ ## [v6.0.0](https://github.com/rpush/rpush/tree/v6.0.0) (2021-05-21)
34
+
35
+ [Full Changelog](https://github.com/rpush/rpush/compare/v5.4.0...v6.0.0)
36
+
37
+ This release contains **breaking changes**, such as removing support for Rails versions older than 5.2.
38
+ Please see the details in the PRs below.
39
+
40
+ **Merged pull requests:**
41
+
42
+ - Switch to GitHub Actions for CI [\#615](https://github.com/rpush/rpush/pull/615) ([aried3r](https://github.com/aried3r))
43
+ - Prepare 6.0.0 release [\#613](https://github.com/rpush/rpush/pull/613) ([aried3r](https://github.com/aried3r))
44
+ - Bump activesupport version to 5.2 or later [\#610](https://github.com/rpush/rpush/pull/610) ([biow0lf](https://github.com/biow0lf))
45
+ - Fixed infinite loop issue with Apnsp8 delivery [\#608](https://github.com/rpush/rpush/pull/608) ([diminish7](https://github.com/diminish7))
46
+ - Eliminate deprecation warning in Ruby 3.0 [\#602](https://github.com/rpush/rpush/pull/602) ([rofreg](https://github.com/rofreg))
47
+ - Make ActiveRecord validations work with Apns2 client [\#601](https://github.com/rpush/rpush/pull/601) ([favrik](https://github.com/favrik))
48
+ - Bump gemspec post\_install\_message [\#600](https://github.com/rpush/rpush/pull/600) ([fdoxyz](https://github.com/fdoxyz))
49
+ - Remove references and checks for unsupported versions of Rails [\#599](https://github.com/rpush/rpush/pull/599) ([ericsaupe](https://github.com/ericsaupe))
50
+ - Drop support for Rails 5.0 and 5.1 [\#597](https://github.com/rpush/rpush/pull/597) ([ericsaupe](https://github.com/ericsaupe))
51
+ - Fix silent APNS notifications for Apns2 and Apnsp8 [\#596](https://github.com/rpush/rpush/pull/596) ([shved270189](https://github.com/shved270189))
52
+ - Updates README to Apple's new EOL date for the APNs legacy binary protocol [\#595](https://github.com/rpush/rpush/pull/595) ([gregblake](https://github.com/gregblake))
53
+
54
+ ## [v5.4.0](https://github.com/rpush/rpush/tree/v5.4.0) (2021-02-15)
55
+
56
+ [Full Changelog](https://github.com/rpush/rpush/compare/v5.3.0...v5.4.0)
57
+
58
+ **Merged pull requests:**
59
+
60
+ - fix typo in README.md [\#587](https://github.com/rpush/rpush/pull/587) ([yltsrc](https://github.com/yltsrc))
61
+ - Support Ruby 3.0 & Rails 6.1 [\#586](https://github.com/rpush/rpush/pull/586) ([andreaslillebo](https://github.com/andreaslillebo))
62
+
3
63
  ## [v5.3.0](https://github.com/rpush/rpush/tree/v5.3.0) (2021-01-07)
4
64
 
5
65
  [Full Changelog](https://github.com/rpush/rpush/compare/v5.2.0...v5.3.0)
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  [![Gem Version](https://badge.fury.io/rb/rpush.svg)](http://badge.fury.io/rb/rpush)
2
- [![Build Status](https://travis-ci.org/rpush/rpush.svg?branch=master)](https://travis-ci.org/rpush/rpush)
2
+ [![RPush Test](https://github.com/rpush/rpush/actions/workflows/test.yml/badge.svg)](https://github.com/rpush/rpush/actions/workflows/test.yml)
3
3
  [![Test Coverage](https://codeclimate.com/github/rpush/rpush/badges/coverage.svg)](https://codeclimate.com/github/rpush/rpush)
4
4
  [![Code Climate](https://codeclimate.com/github/rpush/rpush/badges/gpa.svg)](https://codeclimate.com/github/rpush/rpush)
5
5
  [![Join the chat at https://gitter.im/rpush/rpush](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/rpush/rpush?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
@@ -24,7 +24,7 @@ Rpush aims to be the *de facto* gem for sending push notifications in Ruby. Its
24
24
 
25
25
  * Use [**ActiveRecord**](https://github.com/rpush/rpush/wiki/Using-ActiveRecord) or [**Redis**](https://github.com/rpush/rpush/wiki/Using-Redis) for storage.
26
26
  * Plugins for [**Bugsnag**](https://github.com/rpush/rpush-plugin-bugsnag),
27
- [**Sentry**](https://github.com/rpush/rpush-plugin-sentry), [**StatsD**](https://github.com/rpush/rpush-plugin-statsd) or [write your own](https://github.com/rpush/rpush/wiki/Writing-a-Plugin).
27
+ [**Sentry**](https://github.com/rpush/rpush-plugin-sentry), [**StatsD**](https://github.com/rpush/rpush-plugin-statsd). Third party plugins: [**Prometheus Exporter**](https://github.com/equinux/rpush-plugin-prometheus-exporter). Or [write your own](https://github.com/rpush/rpush/wiki/Writing-a-Plugin).
28
28
  * Seamless integration with your projects, including **Rails**.
29
29
  * Run as a [daemon](https://github.com/rpush/rpush#as-a-daemon), inside a [job queue](https://github.com/rpush/rpush/wiki/Push-API), on the [command-line](https://github.com/rpush/rpush#on-the-command-line) or [embedded](https://github.com/rpush/rpush/wiki/Embedding-API) in another process.
30
30
  * Scales vertically (threading) and horizontally (multiple processes).
@@ -58,7 +58,7 @@ There is a choice of two modes (and one legacy mode) using certificates or using
58
58
  * `Rpush::Apns2` This requires an annually renewable certificate. see https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/establishing_a_certificate-based_connection_to_apns
59
59
  * `Rpush::Apnsp8` This uses encrypted tokens and requires an encryption key id and encryption key (provide as a p8 file). (see https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/establishing_a_token-based_connection_to_apns)
60
60
  * `Rpush::Apns` There is also the original APNS (the original version using certificates with a binary underlying protocol over TCP directly rather than over Http/2).
61
- Apple have [announced](https://developer.apple.com/news/?id=11042019a) that this is not supported after November 2020.
61
+ Apple have [announced](https://developer.apple.com/news/?id=c88acm2b) that this is not supported after March 31, 2021.
62
62
 
63
63
  If this is your first time using the APNs, you will need to generate either SSL certificates (for Apns2 or Apns) or an Encryption Key (p8) and an Encryption Key ID (for Apnsp8). See [Generating Certificates](https://github.com/rpush/rpush/wiki/Generating-Certificates) for instructions.
64
64
 
@@ -79,7 +79,7 @@ app.save!
79
79
  ```
80
80
 
81
81
  ```ruby
82
- n = Rpush::Apns::Notification.new
82
+ n = Rpush::Apnsp8::Notification.new
83
83
  n.app = Rpush::Apnsp8::App.find_by_name("ios_app")
84
84
  n.device_token = "..." # hex string
85
85
  n.alert = "hi mom!"
@@ -1,4 +1,4 @@
1
- class AddAdm < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0] : ActiveRecord::Migration
1
+ class AddAdm < ActiveRecord::Migration[5.0]
2
2
  module Rapns
3
3
  class Notification < ActiveRecord::Base
4
4
  self.table_name = 'rapns_notifications'
@@ -1,4 +1,4 @@
1
- class AddAlertIsJsonToRapnsNotifications < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0] : ActiveRecord::Migration
1
+ class AddAlertIsJsonToRapnsNotifications < ActiveRecord::Migration[5.0]
2
2
  def self.up
3
3
  add_column :rapns_notifications, :alert_is_json, :boolean, null: true, default: false
4
4
  end
@@ -6,4 +6,4 @@ class AddAlertIsJsonToRapnsNotifications < ActiveRecord::VERSION::MAJOR >= 5 ? A
6
6
  def self.down
7
7
  remove_column :rapns_notifications, :alert_is_json
8
8
  end
9
- end
9
+ end
@@ -1,4 +1,4 @@
1
- class AddAppToRapns < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0] : ActiveRecord::Migration
1
+ class AddAppToRapns < ActiveRecord::Migration[5.0]
2
2
  def self.up
3
3
  add_column :rapns_notifications, :app, :string, null: true
4
4
  add_column :rapns_feedback, :app, :string, null: true
@@ -8,4 +8,4 @@ class AddAppToRapns < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migratio
8
8
  remove_column :rapns_notifications, :app
9
9
  remove_column :rapns_feedback, :app
10
10
  end
11
- end
11
+ end
@@ -1,4 +1,4 @@
1
- class AddFailAfterToRpushNotifications < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0] : ActiveRecord::Migration
1
+ class AddFailAfterToRpushNotifications < ActiveRecord::Migration[5.0]
2
2
  def self.up
3
3
  add_column :rpush_notifications, :fail_after, :timestamp, null: true
4
4
  end
@@ -1,4 +1,4 @@
1
- class AddGcm < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0] : ActiveRecord::Migration
1
+ class AddGcm < ActiveRecord::Migration[5.0]
2
2
  module Rapns
3
3
  class App < ActiveRecord::Base
4
4
  self.table_name = 'rapns_apps'
@@ -19,8 +19,8 @@ class AddGcm < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0]
19
19
 
20
20
  change_column :rapns_notifications, :type, :string, null: false
21
21
  change_column :rapns_apps, :type, :string, null: false
22
- change_column :rapns_notifications, :device_token, :string, { null: true, limit: 64 }
23
- change_column :rapns_notifications, :expiry, :integer, { null: true, default: 1.day.to_i }
22
+ change_column :rapns_notifications, :device_token, :string, null: true, limit: 64
23
+ change_column :rapns_notifications, :expiry, :integer, null: true, default: 1.day.to_i
24
24
  change_column :rapns_apps, :environment, :string, null: true
25
25
  change_column :rapns_apps, :certificate, :text, null: true, default: nil
26
26
 
@@ -50,18 +50,10 @@ class AddGcm < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0]
50
50
  change_column :rapns_notifications, :app_id, :integer, null: false
51
51
  remove_column :rapns_notifications, :app
52
52
 
53
- if ActiveRecord.version >= Gem::Version.new('5.1')
54
- if index_name_exists?(:rapns_notifications, "index_rapns_notifications_multi")
55
- remove_index :rapns_notifications, name: "index_rapns_notifications_multi"
56
- elsif index_name_exists?(:rapns_notifications, "index_rapns_notifications_on_delivered_failed_deliver_after")
57
- remove_index :rapns_notifications, name: "index_rapns_notifications_on_delivered_failed_deliver_after"
58
- end
59
- else
60
- if index_name_exists?(:rapns_notifications, "index_rapns_notifications_multi", true)
61
- remove_index :rapns_notifications, name: "index_rapns_notifications_multi"
62
- elsif index_name_exists?(:rapns_notifications, "index_rapns_notifications_on_delivered_failed_deliver_after", false)
63
- remove_index :rapns_notifications, name: "index_rapns_notifications_on_delivered_failed_deliver_after"
64
- end
53
+ if index_name_exists?(:rapns_notifications, "index_rapns_notifications_multi")
54
+ remove_index :rapns_notifications, name: "index_rapns_notifications_multi"
55
+ elsif index_name_exists?(:rapns_notifications, "index_rapns_notifications_on_delivered_failed_deliver_after")
56
+ remove_index :rapns_notifications, name: "index_rapns_notifications_on_delivered_failed_deliver_after"
65
57
  end
66
58
 
67
59
  add_index :rapns_notifications, [:app_id, :delivered, :failed, :deliver_after], name: "index_rapns_notifications_multi"
@@ -73,8 +65,8 @@ class AddGcm < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0]
73
65
  remove_column :rapns_notifications, :type
74
66
  remove_column :rapns_apps, :type
75
67
 
76
- change_column :rapns_notifications, :device_token, :string, { null: false, limit: 64 }
77
- change_column :rapns_notifications, :expiry, :integer, { null: false, default: 1.day.to_i }
68
+ change_column :rapns_notifications, :device_token, :string, null: false, limit: 64
69
+ change_column :rapns_notifications, :expiry, :integer, null: false, default: 1.day.to_i
78
70
  change_column :rapns_apps, :environment, :string, null: false
79
71
  change_column :rapns_apps, :certificate, :text, null: false
80
72
 
@@ -100,14 +92,8 @@ class AddGcm < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0]
100
92
  AddGcm::Rapns::Notification.update_all(['app = ?', app.key], ['app_id = ?', app.id])
101
93
  end
102
94
 
103
- if ActiveRecord.version >= Gem::Version.new('5.1')
104
- if index_name_exists?(:rapns_notifications, :index_rapns_notifications_multi)
105
- remove_index :rapns_notifications, name: :index_rapns_notifications_multi
106
- end
107
- else
108
- if index_name_exists?(:rapns_notifications, :index_rapns_notifications_multi, true)
109
- remove_index :rapns_notifications, name: :index_rapns_notifications_multi
110
- end
95
+ if index_name_exists?(:rapns_notifications, :index_rapns_notifications_multi)
96
+ remove_index :rapns_notifications, name: :index_rapns_notifications_multi
111
97
  end
112
98
 
113
99
  remove_column :rapns_notifications, :app_id
@@ -19,7 +19,7 @@
19
19
  # approach. The constituent parts of this migration have been executed
20
20
  # many times, by many people!
21
21
 
22
- class AddRpush < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0] : ActiveRecord::Migration
22
+ class AddRpush < ActiveRecord::Migration[5.0]
23
23
  def self.migrations
24
24
  [CreateRapnsNotifications, CreateRapnsFeedback,
25
25
  AddAlertIsJsonToRapnsNotifications, AddAppToRapns,
@@ -41,7 +41,7 @@ class AddRpush < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0
41
41
  end
42
42
  end
43
43
 
44
- class CreateRapnsNotifications < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0] : ActiveRecord::Migration
44
+ class CreateRapnsNotifications < ActiveRecord::Migration[5.0]
45
45
  def self.up
46
46
  create_table :rapns_notifications do |t|
47
47
  t.integer :badge, null: true
@@ -64,21 +64,15 @@ class AddRpush < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0
64
64
  end
65
65
 
66
66
  def self.down
67
- if ActiveRecord.version >= Gem::Version.new('5.1')
68
- if index_name_exists?(:rapns_notifications, 'index_rapns_notifications_multi')
69
- remove_index :rapns_notifications, name: 'index_rapns_notifications_multi'
70
- end
71
- else
72
- if index_name_exists?(:rapns_notifications, 'index_rapns_notifications_multi', true)
73
- remove_index :rapns_notifications, name: 'index_rapns_notifications_multi'
74
- end
67
+ if index_name_exists?(:rapns_notifications, 'index_rapns_notifications_multi')
68
+ remove_index :rapns_notifications, name: 'index_rapns_notifications_multi'
75
69
  end
76
70
 
77
71
  drop_table :rapns_notifications
78
72
  end
79
73
  end
80
74
 
81
- class CreateRapnsFeedback < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0] : ActiveRecord::Migration
75
+ class CreateRapnsFeedback < ActiveRecord::Migration[5.0]
82
76
  def self.up
83
77
  create_table :rapns_feedback do |t|
84
78
  t.string :device_token, null: false, limit: 64
@@ -90,21 +84,15 @@ class AddRpush < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0
90
84
  end
91
85
 
92
86
  def self.down
93
- if ActiveRecord.version >= Gem::Version.new('5.1')
94
- if index_name_exists?(:rapns_feedback, :index_rapns_feedback_on_device_token)
95
- remove_index :rapns_feedback, name: :index_rapns_feedback_on_device_token
96
- end
97
- else
98
- if index_name_exists?(:rapns_feedback, :index_rapns_feedback_on_device_token, true)
99
- remove_index :rapns_feedback, name: :index_rapns_feedback_on_device_token
100
- end
87
+ if index_name_exists?(:rapns_feedback, :index_rapns_feedback_on_device_token)
88
+ remove_index :rapns_feedback, name: :index_rapns_feedback_on_device_token
101
89
  end
102
90
 
103
91
  drop_table :rapns_feedback
104
92
  end
105
93
  end
106
94
 
107
- class AddAlertIsJsonToRapnsNotifications < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0] : ActiveRecord::Migration
95
+ class AddAlertIsJsonToRapnsNotifications < ActiveRecord::Migration[5.0]
108
96
  def self.up
109
97
  add_column :rapns_notifications, :alert_is_json, :boolean, null: true, default: false
110
98
  end
@@ -114,7 +102,7 @@ class AddRpush < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0
114
102
  end
115
103
  end
116
104
 
117
- class AddAppToRapns < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0] : ActiveRecord::Migration
105
+ class AddAppToRapns < ActiveRecord::Migration[5.0]
118
106
  def self.up
119
107
  add_column :rapns_notifications, :app, :string, null: true
120
108
  add_column :rapns_feedback, :app, :string, null: true
@@ -126,7 +114,7 @@ class AddRpush < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0
126
114
  end
127
115
  end
128
116
 
129
- class CreateRapnsApps < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0] : ActiveRecord::Migration
117
+ class CreateRapnsApps < ActiveRecord::Migration[5.0]
130
118
  def self.up
131
119
  create_table :rapns_apps do |t|
132
120
  t.string :key, null: false
@@ -143,7 +131,7 @@ class AddRpush < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0
143
131
  end
144
132
  end
145
133
 
146
- class AddGcm < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0] : ActiveRecord::Migration
134
+ class AddGcm < ActiveRecord::Migration[5.0]
147
135
  module Rapns
148
136
  class App < ActiveRecord::Base
149
137
  self.table_name = 'rapns_apps'
@@ -164,8 +152,8 @@ class AddRpush < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0
164
152
 
165
153
  change_column :rapns_notifications, :type, :string, null: false
166
154
  change_column :rapns_apps, :type, :string, null: false
167
- change_column :rapns_notifications, :device_token, :string, { null: true, limit: 64 }
168
- change_column :rapns_notifications, :expiry, :integer, { null: true, default: 1.day.to_i }
155
+ change_column :rapns_notifications, :device_token, :string, null: true, limit: 64
156
+ change_column :rapns_notifications, :expiry, :integer, null: true, default: 1.day.to_i
169
157
  change_column :rapns_apps, :environment, :string, null: true
170
158
  change_column :rapns_apps, :certificate, :text, null: true, default: nil
171
159
 
@@ -195,18 +183,10 @@ class AddRpush < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0
195
183
  change_column :rapns_notifications, :app_id, :integer, null: false
196
184
  remove_column :rapns_notifications, :app
197
185
 
198
- if ActiveRecord.version >= Gem::Version.new('5.1')
199
- if index_name_exists?(:rapns_notifications, "index_rapns_notifications_multi")
200
- remove_index :rapns_notifications, name: "index_rapns_notifications_multi"
201
- elsif index_name_exists?(:rapns_notifications, "index_rapns_notifications_on_delivered_failed_deliver_after")
202
- remove_index :rapns_notifications, name: "index_rapns_notifications_on_delivered_failed_deliver_after"
203
- end
204
- else
205
- if index_name_exists?(:rapns_notifications, "index_rapns_notifications_multi", true)
206
- remove_index :rapns_notifications, name: "index_rapns_notifications_multi"
207
- elsif index_name_exists?(:rapns_notifications, "index_rapns_notifications_on_delivered_failed_deliver_after", false)
208
- remove_index :rapns_notifications, name: "index_rapns_notifications_on_delivered_failed_deliver_after"
209
- end
186
+ if index_name_exists?(:rapns_notifications, "index_rapns_notifications_multi")
187
+ remove_index :rapns_notifications, name: "index_rapns_notifications_multi"
188
+ elsif index_name_exists?(:rapns_notifications, "index_rapns_notifications_on_delivered_failed_deliver_after")
189
+ remove_index :rapns_notifications, name: "index_rapns_notifications_on_delivered_failed_deliver_after"
210
190
  end
211
191
 
212
192
  add_index :rapns_notifications, [:app_id, :delivered, :failed, :deliver_after], name: "index_rapns_notifications_multi"
@@ -218,8 +198,8 @@ class AddRpush < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0
218
198
  remove_column :rapns_notifications, :type
219
199
  remove_column :rapns_apps, :type
220
200
 
221
- change_column :rapns_notifications, :device_token, :string, { null: false, limit: 64 }
222
- change_column :rapns_notifications, :expiry, :integer, { null: false, default: 1.day.to_i }
201
+ change_column :rapns_notifications, :device_token, :string, null: false, limit: 64
202
+ change_column :rapns_notifications, :expiry, :integer, null: false, default: 1.day.to_i
223
203
  change_column :rapns_apps, :environment, :string, null: false
224
204
  change_column :rapns_apps, :certificate, :text, null: false
225
205
 
@@ -245,14 +225,8 @@ class AddRpush < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0
245
225
  AddGcm::Rapns::Notification.where(app_id: app.id).update_all(app: app.key)
246
226
  end
247
227
 
248
- if ActiveRecord.version >= Gem::Version.new('5.1')
249
- if index_name_exists?(:rapns_notifications, :index_rapns_notifications_multi)
250
- remove_index :rapns_notifications, name: :index_rapns_notifications_multi
251
- end
252
- else
253
- if index_name_exists?(:rapns_notifications, :index_rapns_notifications_multi, true)
254
- remove_index :rapns_notifications, name: :index_rapns_notifications_multi
255
- end
228
+ if index_name_exists?(:rapns_notifications, :index_rapns_notifications_multi)
229
+ remove_index :rapns_notifications, name: :index_rapns_notifications_multi
256
230
  end
257
231
 
258
232
  remove_column :rapns_notifications, :app_id
@@ -261,7 +235,7 @@ class AddRpush < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0
261
235
  end
262
236
  end
263
237
 
264
- class AddWpns < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0] : ActiveRecord::Migration
238
+ class AddWpns < ActiveRecord::Migration[5.0]
265
239
  module Rapns
266
240
  class Notification < ActiveRecord::Base
267
241
  self.table_name = 'rapns_notifications'
@@ -278,7 +252,7 @@ class AddRpush < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0
278
252
  end
279
253
  end
280
254
 
281
- class AddAdm < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0] : ActiveRecord::Migration
255
+ class AddAdm < ActiveRecord::Migration[5.0]
282
256
  module Rapns
283
257
  class Notification < ActiveRecord::Base
284
258
  self.table_name = 'rapns_notifications'
@@ -302,7 +276,7 @@ class AddRpush < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0
302
276
  end
303
277
  end
304
278
 
305
- class RenameRapnsToRpush < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0] : ActiveRecord::Migration
279
+ class RenameRapnsToRpush < ActiveRecord::Migration[5.0]
306
280
  module Rpush
307
281
  class App < ActiveRecord::Base
308
282
  self.table_name = 'rpush_apps'
@@ -322,24 +296,12 @@ class AddRpush < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0
322
296
  rename_table :rapns_apps, :rpush_apps
323
297
  rename_table :rapns_feedback, :rpush_feedback
324
298
 
325
- if ActiveRecord.version >= Gem::Version.new('5.1')
326
- if index_name_exists?(:rpush_notifications, :index_rapns_notifications_multi)
327
- rename_index :rpush_notifications, :index_rapns_notifications_multi, :index_rpush_notifications_multi
328
- end
329
- else
330
- if index_name_exists?(:rpush_notifications, :index_rapns_notifications_multi, true)
331
- rename_index :rpush_notifications, :index_rapns_notifications_multi, :index_rpush_notifications_multi
332
- end
299
+ if index_name_exists?(:rpush_notifications, :index_rapns_notifications_multi)
300
+ rename_index :rpush_notifications, :index_rapns_notifications_multi, :index_rpush_notifications_multi
333
301
  end
334
302
 
335
- if ActiveRecord.version >= Gem::Version.new('5.1')
336
- if index_name_exists?(:rpush_feedback, :index_rapns_feedback_on_device_token)
337
- rename_index :rpush_feedback, :index_rapns_feedback_on_device_token, :index_rpush_feedback_on_device_token
338
- end
339
- else
340
- if index_name_exists?(:rpush_feedback, :index_rapns_feedback_on_device_token, true)
341
- rename_index :rpush_feedback, :index_rapns_feedback_on_device_token, :index_rpush_feedback_on_device_token
342
- end
303
+ if index_name_exists?(:rpush_feedback, :index_rapns_feedback_on_device_token)
304
+ rename_index :rpush_feedback, :index_rapns_feedback_on_device_token, :index_rpush_feedback_on_device_token
343
305
  end
344
306
 
345
307
  update_type(RenameRapnsToRpush::Rpush::Notification, 'Rapns::Apns::Notification', 'Rpush::Apns::Notification')
@@ -364,24 +326,12 @@ class AddRpush < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0
364
326
  update_type(RenameRapnsToRpush::Rpush::App, 'Rpush::Adm::App', 'Rapns::Adm::App')
365
327
  update_type(RenameRapnsToRpush::Rpush::App, 'Rpush::Wpns::App', 'Rapns::Wpns::App')
366
328
 
367
- if ActiveRecord.version >= Gem::Version.new('5.1')
368
- if index_name_exists?(:rpush_notifications, :index_rpush_notifications_multi)
369
- rename_index :rpush_notifications, :index_rpush_notifications_multi, :index_rapns_notifications_multi
370
- end
371
- else
372
- if index_name_exists?(:rpush_notifications, :index_rpush_notifications_multi, true)
373
- rename_index :rpush_notifications, :index_rpush_notifications_multi, :index_rapns_notifications_multi
374
- end
329
+ if index_name_exists?(:rpush_notifications, :index_rpush_notifications_multi)
330
+ rename_index :rpush_notifications, :index_rpush_notifications_multi, :index_rapns_notifications_multi
375
331
  end
376
332
 
377
- if ActiveRecord.version >= Gem::Version.new('5.1')
378
- if index_name_exists?(:rpush_feedback, :index_rpush_feedback_on_device_token)
379
- rename_index :rpush_feedback, :index_rpush_feedback_on_device_token, :index_rapns_feedback_on_device_token
380
- end
381
- else
382
- if index_name_exists?(:rpush_feedback, :index_rpush_feedback_on_device_token, true)
383
- rename_index :rpush_feedback, :index_rpush_feedback_on_device_token, :index_rapns_feedback_on_device_token
384
- end
333
+ if index_name_exists?(:rpush_feedback, :index_rpush_feedback_on_device_token)
334
+ rename_index :rpush_feedback, :index_rpush_feedback_on_device_token, :index_rapns_feedback_on_device_token
385
335
  end
386
336
 
387
337
  rename_table :rpush_notifications, :rapns_notifications
@@ -390,7 +340,7 @@ class AddRpush < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0
390
340
  end
391
341
  end
392
342
 
393
- class AddFailAfterToRpushNotifications < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0] : ActiveRecord::Migration
343
+ class AddFailAfterToRpushNotifications < ActiveRecord::Migration[5.0]
394
344
  def self.up
395
345
  add_column :rpush_notifications, :fail_after, :timestamp, null: true
396
346
  end
@@ -1,4 +1,4 @@
1
- class AddWpns < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0] : ActiveRecord::Migration
1
+ class AddWpns < ActiveRecord::Migration[5.0]
2
2
  module Rapns
3
3
  class Notification < ActiveRecord::Base
4
4
  self.table_name = 'rapns_notifications'
@@ -1,4 +1,4 @@
1
- class CreateRapnsApps < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0] : ActiveRecord::Migration
1
+ class CreateRapnsApps < ActiveRecord::Migration[5.0]
2
2
  def self.up
3
3
  create_table :rapns_apps do |t|
4
4
  t.string :key, null: false
@@ -1,4 +1,4 @@
1
- class CreateRapnsFeedback < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0] : ActiveRecord::Migration
1
+ class CreateRapnsFeedback < ActiveRecord::Migration[5.0]
2
2
  def self.up
3
3
  create_table :rapns_feedback do |t|
4
4
  t.string :device_token, null: false, limit: 64
@@ -10,14 +10,8 @@ class CreateRapnsFeedback < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Mi
10
10
  end
11
11
 
12
12
  def self.down
13
- if ActiveRecord.version >= Gem::Version.new('5.1')
14
- if index_name_exists?(:rapns_feedback, :index_rapns_feedback_on_device_token)
15
- remove_index :rapns_feedback, name: :index_rapns_feedback_on_device_token
16
- end
17
- else
18
- if index_name_exists?(:rapns_feedback, :index_rapns_feedback_on_device_token, true)
19
- remove_index :rapns_feedback, name: :index_rapns_feedback_on_device_token
20
- end
13
+ if index_name_exists?(:rapns_feedback, :index_rapns_feedback_on_device_token)
14
+ remove_index :rapns_feedback, name: :index_rapns_feedback_on_device_token
21
15
  end
22
16
 
23
17
  drop_table :rapns_feedback
@@ -1,4 +1,4 @@
1
- class CreateRapnsNotifications < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0] : ActiveRecord::Migration
1
+ class CreateRapnsNotifications < ActiveRecord::Migration[5.0]
2
2
  def self.up
3
3
  create_table :rapns_notifications do |t|
4
4
  t.integer :badge, null: true
@@ -21,14 +21,8 @@ class CreateRapnsNotifications < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecor
21
21
  end
22
22
 
23
23
  def self.down
24
- if ActiveRecord.version >= Gem::Version.new('5.1')
25
- if index_name_exists?(:rapns_notifications, 'index_rapns_notifications_multi')
26
- remove_index :rapns_notifications, name: 'index_rapns_notifications_multi'
27
- end
28
- else
29
- if index_name_exists?(:rapns_notifications, 'index_rapns_notifications_multi', true)
30
- remove_index :rapns_notifications, name: 'index_rapns_notifications_multi'
31
- end
24
+ if index_name_exists?(:rapns_notifications, 'index_rapns_notifications_multi')
25
+ remove_index :rapns_notifications, name: 'index_rapns_notifications_multi'
32
26
  end
33
27
 
34
28
  drop_table :rapns_notifications
@@ -1,4 +1,4 @@
1
- class RenameRapnsToRpush < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0] : ActiveRecord::Migration
1
+ class RenameRapnsToRpush < ActiveRecord::Migration[5.0]
2
2
  module Rpush
3
3
  class App < ActiveRecord::Base
4
4
  self.table_name = 'rpush_apps'
@@ -18,24 +18,12 @@ class RenameRapnsToRpush < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Mig
18
18
  rename_table :rapns_apps, :rpush_apps
19
19
  rename_table :rapns_feedback, :rpush_feedback
20
20
 
21
- if ActiveRecord.version >= Gem::Version.new('5.1')
22
- if index_name_exists?(:rpush_notifications, :index_rapns_notifications_multi)
23
- rename_index :rpush_notifications, :index_rapns_notifications_multi, :index_rpush_notifications_multi
24
- end
25
- else
26
- if index_name_exists?(:rpush_notifications, :index_rapns_notifications_multi, true)
27
- rename_index :rpush_notifications, :index_rapns_notifications_multi, :index_rpush_notifications_multi
28
- end
21
+ if index_name_exists?(:rpush_notifications, :index_rapns_notifications_multi)
22
+ rename_index :rpush_notifications, :index_rapns_notifications_multi, :index_rpush_notifications_multi
29
23
  end
30
24
 
31
- if ActiveRecord.version >= Gem::Version.new('5.1')
32
- if index_name_exists?(:rpush_feedback, :index_rapns_feedback_on_device_token)
33
- rename_index :rpush_feedback, :index_rapns_feedback_on_device_token, :index_rpush_feedback_on_device_token
34
- end
35
- else
36
- if index_name_exists?(:rpush_feedback, :index_rapns_feedback_on_device_token, true)
37
- rename_index :rpush_feedback, :index_rapns_feedback_on_device_token, :index_rpush_feedback_on_device_token
38
- end
25
+ if index_name_exists?(:rpush_feedback, :index_rapns_feedback_on_device_token)
26
+ rename_index :rpush_feedback, :index_rapns_feedback_on_device_token, :index_rpush_feedback_on_device_token
39
27
  end
40
28
 
41
29
  update_type(RenameRapnsToRpush::Rpush::Notification, 'Rapns::Apns::Notification', 'Rpush::Apns::Notification')
@@ -60,24 +48,12 @@ class RenameRapnsToRpush < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Mig
60
48
  update_type(RenameRapnsToRpush::Rpush::App, 'Rpush::Adm::App', 'Rapns::Adm::App')
61
49
  update_type(RenameRapnsToRpush::Rpush::App, 'Rpush::Wpns::App', 'Rapns::Wpns::App')
62
50
 
63
- if ActiveRecord.version >= Gem::Version.new('5.1')
64
- if index_name_exists?(:rpush_notifications, :index_rpush_notifications_multi)
65
- rename_index :rpush_notifications, :index_rpush_notifications_multi, :index_rapns_notifications_multi
66
- end
67
- else
68
- if index_name_exists?(:rpush_notifications, :index_rpush_notifications_multi, true)
69
- rename_index :rpush_notifications, :index_rpush_notifications_multi, :index_rapns_notifications_multi
70
- end
51
+ if index_name_exists?(:rpush_notifications, :index_rpush_notifications_multi)
52
+ rename_index :rpush_notifications, :index_rpush_notifications_multi, :index_rapns_notifications_multi
71
53
  end
72
54
 
73
- if ActiveRecord.version >= Gem::Version.new('5.1')
74
- if index_name_exists?(:rpush_feedback, :index_rpush_feedback_on_device_token)
75
- rename_index :rpush_feedback, :index_rpush_feedback_on_device_token, :index_rapns_feedback_on_device_token
76
- end
77
- else
78
- if index_name_exists?(:rpush_feedback, :index_rpush_feedback_on_device_token, true)
79
- rename_index :rpush_feedback, :index_rpush_feedback_on_device_token, :index_rapns_feedback_on_device_token
80
- end
55
+ if index_name_exists?(:rpush_feedback, :index_rpush_feedback_on_device_token)
56
+ rename_index :rpush_feedback, :index_rpush_feedback_on_device_token, :index_rapns_feedback_on_device_token
81
57
  end
82
58
 
83
59
  rename_table :rpush_notifications, :rapns_notifications
@@ -46,10 +46,7 @@ Rpush.reflect do |on|
46
46
  # Called when a notification is queued internally for delivery.
47
47
  # The internal queue for each app runner can be inspected:
48
48
  #
49
- # Rpush::Daemon::AppRunner.runners.each do |app_id, runner|
50
- # runner.app
51
- # runner.queue_size
52
- # end
49
+ # Rpush::Daemon::AppRunner.status
53
50
  #
54
51
  # on.notification_enqueued do |notification|
55
52
  # end