noticed 2.6.0 → 2.6.1

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: 04e620f63d7f92b5220c39fa3bb848d8c8905b39a93e8d5c32b7d904f462e694
4
- data.tar.gz: 43e89757c72ea2475171a080a2ff0881100e229298bfa63d8b816e17e44aa5cd
3
+ metadata.gz: 97bfcc3bd0808b9ec095996a5076483fcbd52b34876bcdb5a07c0d81976089e5
4
+ data.tar.gz: b8f52c48beb1de00e6f0a8cf90e136697ddb06ef41cc21da70462191f586dc49
5
5
  SHA512:
6
- metadata.gz: 444c47faf233395d77b9ccb003a99f8e45768298f27eac35318f36f5f385ee5ca76f91bbd189e92e3bfb7e50f2ffdaec58ea87e42a6f68c6e5d8e4ee6a61baaf
7
- data.tar.gz: aeea21827f7eb7071ad482babe06a130a69b27190b15ada99bf3727fa522eb75c4fb8d460d28234f604177a11ae3c34f4a3b6a0c218aebe7d7538577aa1cc465
6
+ metadata.gz: 7eda93498c3441412df68ffc1b5d52e587ba6367ed77577976ef9dd90264e4c5651c6e7352403fb3116eebdb7795e766eda59c01515cf156e07f9121b64fe4c5
7
+ data.tar.gz: 3b12968aaf984955272136b55ad19b050dabddcb93cb0ddeb0a82f3d89022e49f4538d1cb35d4e3da3274e85245d6a3a2113642b83582020b346c64897940a7e
@@ -59,3 +59,5 @@ module Noticed
59
59
  end
60
60
  end
61
61
  end
62
+
63
+ ActiveSupport.run_load_hooks :noticed_ephemeral, Noticed::Ephemeral
@@ -24,3 +24,5 @@ module Noticed
24
24
  end
25
25
  end
26
26
  end
27
+
28
+ ActiveSupport.run_load_hooks :noticed_ephemeral, Noticed::Event
@@ -12,3 +12,5 @@ module Noticed
12
12
  delegate :params, :record, to: :event
13
13
  end
14
14
  end
15
+
16
+ ActiveSupport.run_load_hooks :noticed_ephemeral, Noticed::Notification
@@ -10,8 +10,8 @@ module Noticed
10
10
  json = evaluate_option(:json)
11
11
  response = post_request url, headers: headers, json: json
12
12
 
13
- if raise_if_not_ok?
14
- raise ResponseUnsuccessful.new(response, url, {headers: headers, json: json}) unless JSON.parse(response.body)["ok"]
13
+ if raise_if_not_ok? && !success?(response)
14
+ raise ResponseUnsuccessful.new(response, url, {headers: headers, json: json})
15
15
  end
16
16
 
17
17
  response
@@ -23,7 +23,16 @@ module Noticed
23
23
 
24
24
  def raise_if_not_ok?
25
25
  value = evaluate_option(:raise_if_not_ok)
26
- value.nil? ? true : value
26
+ value.nil? || value
27
+ end
28
+
29
+ def success?(response)
30
+ if response.content_type == "application/json"
31
+ JSON.parse(response.body).dig("ok")
32
+ else
33
+ # https://api.slack.com/changelog/2016-05-17-changes-to-errors-for-incoming-webhooks
34
+ response.is_a?(Net::HTTPSuccess)
35
+ end
27
36
  end
28
37
  end
29
38
  end
@@ -16,7 +16,7 @@ module Noticed
16
16
  headers: {authorization: "Bearer #{access_token}"},
17
17
  json: format_notification(device_token))
18
18
  rescue Noticed::ResponseUnsuccessful => exception
19
- if exception.response.code == "404" && config[:invalid_token]
19
+ if bad_token?(exception.response) && config[:invalid_token]
20
20
  notification.instance_exec(device_token, &config[:invalid_token])
21
21
  else
22
22
  raise
@@ -32,6 +32,10 @@ module Noticed
32
32
  end
33
33
  end
34
34
 
35
+ def bad_token?(response)
36
+ response.code == "404" || response.code == "400"
37
+ end
38
+
35
39
  def credentials
36
40
  @credentials ||= begin
37
41
  value = evaluate_option(:credentials)
@@ -10,8 +10,8 @@ module Noticed
10
10
  json = evaluate_option(:json)
11
11
  response = post_request url, headers: headers, json: json
12
12
 
13
- if raise_if_not_ok?
14
- raise ResponseUnsuccessful.new(response, url, {headers: headers, json: json}) unless JSON.parse(response.body)["ok"]
13
+ if raise_if_not_ok? && !success?(response)
14
+ raise ResponseUnsuccessful.new(response, url, {headers: headers, json: json})
15
15
  end
16
16
 
17
17
  response
@@ -23,7 +23,16 @@ module Noticed
23
23
 
24
24
  def raise_if_not_ok?
25
25
  value = evaluate_option(:raise_if_not_ok)
26
- value.nil? ? true : value
26
+ value.nil? || value
27
+ end
28
+
29
+ def success?(response)
30
+ if response.content_type == "application/json"
31
+ JSON.parse(response.body).dig("ok")
32
+ else
33
+ # https://api.slack.com/changelog/2016-05-17-changes-to-errors-for-incoming-webhooks
34
+ response.is_a?(Net::HTTPSuccess)
35
+ end
27
36
  end
28
37
  end
29
38
  end
@@ -1,3 +1,3 @@
1
1
  module Noticed
2
- VERSION = "2.6.0"
2
+ VERSION = "2.6.1"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: noticed
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.0
4
+ version: 2.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Oliver
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-01-16 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: rails
@@ -99,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
99
99
  - !ruby/object:Gem::Version
100
100
  version: '0'
101
101
  requirements: []
102
- rubygems_version: 3.6.2
102
+ rubygems_version: 3.6.8
103
103
  specification_version: 4
104
104
  summary: Notifications for Ruby on Rails applications
105
105
  test_files: []