noticed 2.5.0 → 2.6.0

Sign up to get free protection for your applications and to get access to all the features.
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: []