novu 1.3.0 → 2.0.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: 33c19c96db16c753d950b22d28ddae951d31169db8fefbb3450228369e12ef90
4
- data.tar.gz: 7fed95e903b793f7f274592c3a78c4dbb8e9fdd3b0de1f4e7b554b0aeed7eaec
3
+ metadata.gz: 45edb84d91b63cdebe70ad9cf5e836bfe621fcfa433701e656fc07620c030fe1
4
+ data.tar.gz: cf0d2fa560684f3e022b79a9aed26d05af35541eff9ab03660357112d31e4e28
5
5
  SHA512:
6
- metadata.gz: e88e3ddb1bf0d82bf285466fcc465b2187a19a8c4f8da4b8eab60df983559da68d9644ffbe8720c225664ed187d3a6cb65c13e4e4c8e03998b6cf07fdd25bebf
7
- data.tar.gz: e6b77b470642c39d9620acdab3ac9a7a11bf6943c4fd280e75974738661aaa7cf37bc79744fd030357e7eb3f60c0a59db9a805f0754d47d2a5aaa047e63dd4f8
6
+ metadata.gz: 1d55ba3191a1d9a22ca2b72a2ce669c59b456dfe926f404d08461d2bd882241d5e63088201f1ab2f982c9cbb25b2cc8945122a7f7874cf7e94dde3cd600baf61
7
+ data.tar.gz: 0d41f7b0622b2b4baa1f9f2e9f26a458038a1d3dfa6a71c85d2db40f5867a7243f783ec8745fce391d711c8512c77f345d378a58ef93380845af18f017b34b54
data/README.md CHANGED
@@ -934,6 +934,17 @@ client = Novu::Client.new(
934
934
  | enable_retry | enabling/disable the Exponential Retry mechanism | false | Boolean |
935
935
 
936
936
 
937
+ ### Custom backend URL
938
+
939
+ To use a custom backend URL, for example to be able to use the EU Novu API, you can pass a custom `backend_url` when initializing the client.
940
+
941
+ ```ruby
942
+ client = Novu::Client.new(
943
+ access_token: '<your-novu-api_key>',
944
+ backend_url: 'https://eu.api.novu.co/v1'
945
+ )
946
+ ```
947
+
937
948
  ### For more information about these methods and their parameters, see the [API documentation](https://docs.novu.co/api-reference).
938
949
 
939
950
  ## Contributing
@@ -27,7 +27,7 @@ module Novu
27
27
  # - transactionId [String(optional)] - Transaction id for trigger
28
28
  # @return [number] status - The status code. Returns 201 if the event has been successfully triggered.
29
29
  def trigger_event(body)
30
- post("/events/trigger", body: body)
30
+ post("/events/trigger", body: body.to_json, headers: {'Content-Type': 'application/json'})
31
31
  end
32
32
 
33
33
  # Using this endpoint you can trigger multiple events at once, to avoid multiple calls to the API.
@@ -70,7 +70,7 @@ module Novu
70
70
  # - transactionId [String(optional)] - Transaction id for trigger
71
71
  # @return [number] status - The status code. Returns 201 if the event has been successfully broadcast to all existing subscribers.
72
72
  def broadcast_event(body)
73
- post("/events/trigger/broadcast", body: body)
73
+ post("/events/trigger/broadcast", body: body.to_json, headers: {'Content-Type': 'application/json'})
74
74
  end
75
75
 
76
76
  # Using a previously generated transactionId during the event trigger, will cancel any active or pending workflows.
data/lib/novu/client.rb CHANGED
@@ -42,7 +42,6 @@ module Novu
42
42
  include Novu::Api::Tenants
43
43
  include Novu::Api::Topics
44
44
 
45
- base_uri "https://api.novu.co/v1"
46
45
  format :json
47
46
 
48
47
  attr_accessor :enable_retry, :max_retries, :initial_delay, :max_delay, :idempotency_key
@@ -54,7 +53,7 @@ module Novu
54
53
  # - max_retries [Integer]
55
54
  # - initial_delay [Integer]
56
55
  # - max_delay [Integer]
57
- def initialize(access_token: nil, idempotency_key: nil, enable_retry: false, retry_config: {} )
56
+ def initialize(access_token: nil, idempotency_key: nil, enable_retry: false, retry_config: {}, backend_url: "https://api.novu.co/v1")
58
57
  raise ArgumentError, "Api Key cannot be blank or nil" if access_token.blank?
59
58
 
60
59
  @idempotency_key = idempotency_key.blank? ? UUID.new.generate : idempotency_key
@@ -68,6 +67,8 @@ module Novu
68
67
  @initial_delay = retry_config[:initial_delay]
69
68
  @max_delay = retry_config[:max_delay]
70
69
 
70
+ self.class.base_uri(backend_url)
71
+
71
72
  self.class.default_options.merge!(headers: {
72
73
  "Authorization" => "ApiKey #{@access_token}",
73
74
  "User-Agent" => "novu/ruby/#{Novu::VERSION}"
data/lib/novu/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Novu
4
- VERSION = "1.3.0"
4
+ VERSION = "2.0.1"
5
5
  end
metadata CHANGED
@@ -1,24 +1,23 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: novu
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aman Saini
8
8
  - Prosper Otemuyiwa
9
9
  - Kolawole Ezekiel
10
- autorequire:
11
10
  bindir: exe
12
11
  cert_chain: []
13
- date: 2024-01-19 00:00:00.000000000 Z
12
+ date: 2025-01-31 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
15
+ name: activesupport
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
20
  version: '6.1'
21
- name: activesupport
22
21
  type: :runtime
23
22
  prerelease: false
24
23
  version_requirements: !ruby/object:Gem::Requirement
@@ -27,12 +26,12 @@ dependencies:
27
26
  - !ruby/object:Gem::Version
28
27
  version: '6.1'
29
28
  - !ruby/object:Gem::Dependency
29
+ name: exponential-backoff
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
34
  version: 0.0.4
35
- name: exponential-backoff
36
35
  type: :runtime
37
36
  prerelease: false
38
37
  version_requirements: !ruby/object:Gem::Requirement
@@ -41,12 +40,12 @@ dependencies:
41
40
  - !ruby/object:Gem::Version
42
41
  version: 0.0.4
43
42
  - !ruby/object:Gem::Dependency
43
+ name: httparty
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - "~>"
47
47
  - !ruby/object:Gem::Version
48
48
  version: '0.21'
49
- name: httparty
50
49
  type: :runtime
51
50
  prerelease: false
52
51
  version_requirements: !ruby/object:Gem::Requirement
@@ -55,6 +54,7 @@ dependencies:
55
54
  - !ruby/object:Gem::Version
56
55
  version: '0.21'
57
56
  - !ruby/object:Gem::Dependency
57
+ name: uuid
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - "~>"
@@ -63,7 +63,6 @@ dependencies:
63
63
  - - ">="
64
64
  - !ruby/object:Gem::Version
65
65
  version: 2.3.9
66
- name: uuid
67
66
  type: :runtime
68
67
  prerelease: false
69
68
  version_requirements: !ruby/object:Gem::Requirement
@@ -122,7 +121,6 @@ metadata:
122
121
  homepage_uri: https://github.com/novuhq/novu-ruby
123
122
  source_code_uri: https://github.com/novuhq/novu-ruby
124
123
  changelog_uri: https://github.com/novuhq/novu-ruby/blob/main/CHANGELOG.md
125
- post_install_message:
126
124
  rdoc_options: []
127
125
  require_paths:
128
126
  - lib
@@ -137,8 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
137
135
  - !ruby/object:Gem::Version
138
136
  version: '0'
139
137
  requirements: []
140
- rubygems_version: 3.3.26
141
- signing_key:
138
+ rubygems_version: 3.6.3
142
139
  specification_version: 4
143
140
  summary: Client library for Novu API.
144
141
  test_files: []