noticed 2.5.0 → 2.6.0

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: 5d93cc608d5422344ca6aff8b4941508dc76b3192e9052c853677f2bc222a98e
4
- data.tar.gz: 7932559c8b60c97b0798815872f8146588bfb7bb3b82cb5a3a60e53fbe49bf14
3
+ metadata.gz: 04e620f63d7f92b5220c39fa3bb848d8c8905b39a93e8d5c32b7d904f462e694
4
+ data.tar.gz: 43e89757c72ea2475171a080a2ff0881100e229298bfa63d8b816e17e44aa5cd
5
5
  SHA512:
6
- metadata.gz: 223e40cacfffb9da94953284319f5fb865161996daf39d0c7b3c5697cd41e1923fc394e3d3ee782d1eba8513adcb91006ef6bc962fb1908672181eb024de880c
7
- data.tar.gz: aac70f09103d1737c5cef2cbfdf87275cc5f595dc84ffd38500561585c4f89574e427448fc8011cbc0bb16b9b06f191cecbadc9831ed8c60a857b0cf9e2d330b
6
+ metadata.gz: 444c47faf233395d77b9ccb003a99f8e45768298f27eac35318f36f5f385ee5ca76f91bbd189e92e3bfb7e50f2ffdaec58ea87e42a6f68c6e5d8e4ee6a61baaf
7
+ data.tar.gz: aeea21827f7eb7071ad482babe06a130a69b27190b15ada99bf3727fa522eb75c4fb8d460d28234f604177a11ae3c34f4a3b6a0c218aebe7d7538577aa1cc465
@@ -10,20 +10,28 @@ module Noticed
10
10
  end
11
11
 
12
12
  class_methods do
13
- def mark_as_read
14
- update_all(read_at: Time.current, updated_at: Time.current)
13
+ def mark_as_read_and_seen(**kwargs)
14
+ update_all(**kwargs.with_defaults(read_at: Time.current, seen_at: Time.current, updated_at: Time.current))
15
15
  end
16
16
 
17
- def mark_as_unread
18
- update_all(read_at: nil, updated_at: Time.current)
17
+ def mark_as_unread_and_unseen(**kwargs)
18
+ update_all(**kwargs.with_defaults(read_at: nil, seen_at: nil, updated_at: Time.current))
19
19
  end
20
20
 
21
- def mark_as_seen
22
- update_all(seen_at: Time.current, updated_at: Time.current)
21
+ def mark_as_read(**kwargs)
22
+ update_all(**kwargs.with_defaults(read_at: Time.current, updated_at: Time.current))
23
23
  end
24
24
 
25
- def mark_as_unseen
26
- update_all(seen_at: nil, updated_at: Time.current)
25
+ def mark_as_unread(**kwargs)
26
+ update_all(**kwargs.with_defaults(read_at: nil, updated_at: Time.current))
27
+ end
28
+
29
+ def mark_as_seen(**kwargs)
30
+ update_all(**kwargs.with_defaults(seen_at: Time.current, updated_at: Time.current))
31
+ end
32
+
33
+ def mark_as_unseen(**kwargs)
34
+ update_all(**kwargs.with_defaults(seen_at: nil, updated_at: Time.current))
27
35
  end
28
36
  end
29
37
 
@@ -1,5 +1,5 @@
1
1
  module Noticed
2
- class BulkDeliveryMethod < ApplicationJob
2
+ class BulkDeliveryMethod < Noticed.parent_class.constantize
3
3
  include ApiClient
4
4
  include RequiredOptions
5
5
 
@@ -6,12 +6,25 @@ module Noticed
6
6
  required_options :json
7
7
 
8
8
  def deliver
9
- post_request url, headers: evaluate_option(:headers), json: evaluate_option(:json)
9
+ headers = evaluate_option(:headers)
10
+ json = evaluate_option(:json)
11
+ response = post_request url, headers: headers, json: json
12
+
13
+ if raise_if_not_ok?
14
+ raise ResponseUnsuccessful.new(response, url, {headers: headers, json: json}) unless JSON.parse(response.body)["ok"]
15
+ end
16
+
17
+ response
10
18
  end
11
19
 
12
20
  def url
13
21
  evaluate_option(:url) || DEFAULT_URL
14
22
  end
23
+
24
+ def raise_if_not_ok?
25
+ value = evaluate_option(:raise_if_not_ok)
26
+ value.nil? ? true : value
27
+ end
15
28
  end
16
29
  end
17
30
  end
@@ -6,12 +6,25 @@ module Noticed
6
6
  required_options :json
7
7
 
8
8
  def deliver
9
- post_request url, headers: evaluate_option(:headers), json: evaluate_option(:json)
9
+ headers = evaluate_option(:headers)
10
+ json = evaluate_option(:json)
11
+ response = post_request url, headers: headers, json: json
12
+
13
+ if raise_if_not_ok?
14
+ raise ResponseUnsuccessful.new(response, url, {headers: headers, json: json}) unless JSON.parse(response.body)["ok"]
15
+ end
16
+
17
+ response
10
18
  end
11
19
 
12
20
  def url
13
21
  evaluate_option(:url) || DEFAULT_URL
14
22
  end
23
+
24
+ def raise_if_not_ok?
25
+ value = evaluate_option(:raise_if_not_ok)
26
+ value.nil? ? true : value
27
+ end
15
28
  end
16
29
  end
17
30
  end
@@ -1,3 +1,3 @@
1
1
  module Noticed
2
- VERSION = "2.5.0"
2
+ VERSION = "2.6.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: noticed
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.0
4
+ version: 2.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Oliver
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-12-17 00:00:00.000000000 Z
10
+ date: 2025-01-16 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: rails
@@ -86,7 +85,6 @@ homepage: https://github.com/excid3/noticed
86
85
  licenses:
87
86
  - MIT
88
87
  metadata: {}
89
- post_install_message:
90
88
  rdoc_options: []
91
89
  require_paths:
92
90
  - lib
@@ -101,8 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
101
99
  - !ruby/object:Gem::Version
102
100
  version: '0'
103
101
  requirements: []
104
- rubygems_version: 3.5.23
105
- signing_key:
102
+ rubygems_version: 3.6.2
106
103
  specification_version: 4
107
104
  summary: Notifications for Ruby on Rails applications
108
105
  test_files: []