noticed 1.5.6 → 1.5.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 85a89c655531764a6b6c97213a6b1368c21bee48e55298cb35be1154c32534ff
4
- data.tar.gz: 404987e57e6f834fe21dc9b895664643767ed08e0d23e05c32cb31ebe0a8c5ab
3
+ metadata.gz: 367ce1b20a44bfc15ebf8aeaa0328ef90ad0673edd076e977d0e647a3a1b13b7
4
+ data.tar.gz: 437627e876b7e42243626bab168b9fd37d7da49c54309e2f8f9ef91dfb5e541b
5
5
  SHA512:
6
- metadata.gz: 2cd89b9b0d0c0b76792861aba31db3402effab9136574425abfa44cb26130be894166834b1d80aca357c7d811c81d9f32dc5d5f4ad2e8bb68096310c9a8a7a1e
7
- data.tar.gz: ec0b3c75c8976cd3e4789e54ca8d1744dad95d118f3c4d20a648153422425f03b8a34f1a5b16ed583db85eb3bfe778c996d354d168ac32765421b8a0bd33b8c6
6
+ metadata.gz: 5991aa837054391b01f5614617db15951279d4015c96eab52194ad7a0ab05cf3d586353cb5968bb04584246b23682c75365858464062c852b70f9553f0be8ad5
7
+ data.tar.gz: ff4adba6ae61a08bf8dab9a4b27899c3e5dd3dea8e1475fa7f1da589db85ce17b264d02ed523ea38d905bd53016f2e1d483cf4a7c18ea9461e1b12ef056868e6
data/README.md CHANGED
@@ -106,9 +106,10 @@ end
106
106
 
107
107
  **Shared Options**
108
108
 
109
- * `if: :method_name` - Calls `method_name`and cancels delivery method if `false` is returned
110
- * `unless: :method_name` - Calls `method_name`and cancels delivery method if `true` is returned
109
+ * `if: :method_name` - Calls `method_name` and cancels delivery method if `false` is returned
110
+ * `unless: :method_name` - Calls `method_name` and cancels delivery method if `true` is returned
111
111
  * `delay: ActiveSupport::Duration` - Delays the delivery for the given duration of time
112
+ * `delay: :method_name` - Calls `method_name which should return an `ActiveSupport::Duration` and delays the delivery for the given duration of time
112
113
 
113
114
  ##### Helper Methods
114
115
 
@@ -198,11 +199,11 @@ A common use case is to trigger a notification when a record is created. For exa
198
199
  ```ruby
199
200
  class Message < ApplicationRecord
200
201
  belongs_to :recipient, class_name: "User"
201
-
202
+
202
203
  after_create_commit :notify_recipient
203
-
204
+
204
205
  private
205
-
206
+
206
207
  def notify_recipient
207
208
  NewMessageNotification.with(message: self).deliver_later(recipient)
208
209
  end
data/lib/noticed/base.rb CHANGED
@@ -112,6 +112,9 @@ module Noticed
112
112
 
113
113
  # Always perfrom later if a delay is present
114
114
  if (delay = delivery_method.dig(:options, :delay))
115
+ # Dynamic delays with metho calls or
116
+ delay = send(delay) if delay.is_a? Symbol
117
+
115
118
  method.set(wait: delay, queue: queue).perform_later(args)
116
119
  elsif enqueue
117
120
  method.set(queue: queue).perform_later(args)
@@ -19,8 +19,12 @@ module Noticed
19
19
  def deliver
20
20
  device_tokens.each do |device_token|
21
21
  post("#{BASE_URI}#{project_id}/messages:send", headers: {authorization: "Bearer #{access_token}"}, json: {message: format(device_token)})
22
- rescue ResponseUnsuccessful
23
- cleanup_invalid_token(device_token)
22
+ rescue ResponseUnsuccessful => exception
23
+ if exception.response.code == 404
24
+ cleanup_invalid_token(device_token)
25
+ else
26
+ raise
27
+ end
24
28
  end
25
29
  end
26
30
 
@@ -1,3 +1,3 @@
1
1
  module Noticed
2
- VERSION = "1.5.6"
2
+ VERSION = "1.5.9"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: noticed
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.6
4
+ version: 1.5.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Oliver
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-14 00:00:00.000000000 Z
11
+ date: 2022-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -170,7 +170,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
170
170
  - !ruby/object:Gem::Version
171
171
  version: '0'
172
172
  requirements: []
173
- rubygems_version: 3.2.32
173
+ rubygems_version: 3.3.3
174
174
  signing_key:
175
175
  specification_version: 4
176
176
  summary: Notifications for Ruby on Rails applications