trycourier 3.4.0.pre.alpha6 → 3.4.0.pre.alpha8
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 +4 -4
- data/CHANGELOG.md +34 -0
- data/README.md +11 -9
- data/SECURITY.md +4 -0
- data/lib/trycourier/internal/transport/base_client.rb +7 -1
- data/lib/trycourier/internal/transport/pooled_net_requester.rb +36 -26
- data/lib/trycourier/models/elemental_channel_node.rb +2 -2
- data/lib/trycourier/resources/profiles/lists.rb +2 -2
- data/lib/trycourier/resources/profiles.rb +3 -3
- data/lib/trycourier/resources/send.rb +1 -1
- data/lib/trycourier/version.rb +1 -1
- data/lib/trycourier.rb +1 -0
- data/manifest.yaml +1 -0
- data/rbi/trycourier/internal/transport/base_client.rbi +5 -0
- data/rbi/trycourier/internal/transport/pooled_net_requester.rbi +6 -2
- data/rbi/trycourier/internal/type/base_model.rbi +8 -4
- data/rbi/trycourier/models/elemental_channel_node.rbi +2 -2
- data/rbi/trycourier/resources/profiles/lists.rbi +4 -2
- data/rbi/trycourier/resources/profiles.rbi +6 -3
- data/rbi/trycourier/resources/send.rbi +1 -1
- data/sig/trycourier/internal/transport/base_client.rbs +2 -0
- data/sig/trycourier/internal/transport/pooled_net_requester.rbs +4 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c24857f2fe7b863b581727fb9b2526d2a977e8efd507b366a9b51488c7c28994
|
|
4
|
+
data.tar.gz: 0f34f6666d7a0efb91e8b558e4a27b00845b5d2cc2e3d1dc1415d78bf8667993
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e7f54fefd82a6e8546aff83ea4cfeedd3ed10bc70c0a34dd58b0313b443038cb4d10319f5f0e2fb69f32f95686fc10e900e435847ae70092b1442f4971769d62
|
|
7
|
+
data.tar.gz: 6eb225d37b38405d5a2e7e726d00a08e53dc5f5a411e545ff16bd59a11d1863ac4103c9f05ca380befbbdf7f5f04a3fd6ce232f43920d493c000a0fa552c6640
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,39 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.4.0-alpha8 (2025-11-05)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v3.4.0-alpha7...v3.4.0-alpha8](https://github.com/trycourier/courier-ruby/compare/v3.4.0-alpha7...v3.4.0-alpha8)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* Attempt kick off again ([a5ffc84](https://github.com/trycourier/courier-ruby/commit/a5ffc84f9ed318eb757d6736eca3562d1d71b2e8))
|
|
10
|
+
* Kick off the change (Change to user profile in descriptions) ([f4dc8ff](https://github.com/trycourier/courier-ruby/commit/f4dc8ffe56eb34a7ae471473ead69550db011aaa))
|
|
11
|
+
* Organization update ([c6f7b97](https://github.com/trycourier/courier-ruby/commit/c6f7b970508aca2bd1fca5d69e83c76def40058d))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* better thread safety via early initializing SSL store during HTTP client creation ([f3dfeec](https://github.com/trycourier/courier-ruby/commit/f3dfeec90dc59b454f787ef88e0b1a7b2af02ef7))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Chores
|
|
20
|
+
|
|
21
|
+
* bump dependency version and update sorbet types ([4d9baaa](https://github.com/trycourier/courier-ruby/commit/4d9baaac7f0ac9365f648ba0a3f10edb646e70a8))
|
|
22
|
+
|
|
23
|
+
## 3.4.0-alpha7 (2025-10-31)
|
|
24
|
+
|
|
25
|
+
Full Changelog: [v3.4.0-alpha6...v3.4.0-alpha7](https://github.com/trycourier/courier-ruby/compare/v3.4.0-alpha6...v3.4.0-alpha7)
|
|
26
|
+
|
|
27
|
+
### Features
|
|
28
|
+
|
|
29
|
+
* Comment adjustment to kick of build ([3f53532](https://github.com/trycourier/courier-ruby/commit/3f535324c5b114494cfd28e2570d9fb3c192b6b1))
|
|
30
|
+
* handle thread interrupts in the core HTTP client ([27380fe](https://github.com/trycourier/courier-ruby/commit/27380fe7d02178679a46b849acbc5807e3dc4136))
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
### Bug Fixes
|
|
34
|
+
|
|
35
|
+
* Comment to kick off build ([bbdb8ce](https://github.com/trycourier/courier-ruby/commit/bbdb8cec3dec051e17a89091f2ea881897e3b532))
|
|
36
|
+
|
|
3
37
|
## 3.4.0-alpha6 (2025-10-17)
|
|
4
38
|
|
|
5
39
|
Full Changelog: [v3.4.0-alpha5...v3.4.0-alpha6](https://github.com/trycourier/courier-ruby/compare/v3.4.0-alpha5...v3.4.0-alpha6)
|
data/README.md
CHANGED
|
@@ -8,6 +8,8 @@ It is generated with [Stainless](https://www.stainless.com/).
|
|
|
8
8
|
|
|
9
9
|
Documentation for releases of this gem can be found [on RubyDoc](https://gemdocs.org/gems/trycourier).
|
|
10
10
|
|
|
11
|
+
The REST API documentation can be found on [www.courier.com](https://www.courier.com/docs).
|
|
12
|
+
|
|
11
13
|
## Installation
|
|
12
14
|
|
|
13
15
|
To use this gem, install via Bundler by adding the following to your application's `Gemfile`:
|
|
@@ -15,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
|
|
|
15
17
|
<!-- x-release-please-start-version -->
|
|
16
18
|
|
|
17
19
|
```ruby
|
|
18
|
-
gem "trycourier", "~> 3.4.0.pre.
|
|
20
|
+
gem "trycourier", "~> 3.4.0.pre.alpha8"
|
|
19
21
|
```
|
|
20
22
|
|
|
21
23
|
<!-- x-release-please-end -->
|
|
@@ -31,7 +33,7 @@ courier = Trycourier::Client.new(
|
|
|
31
33
|
)
|
|
32
34
|
|
|
33
35
|
response = courier.send_.message(
|
|
34
|
-
message: {to: {user_id: "your_user_id"}, template: "
|
|
36
|
+
message: {to: {user_id: "your_user_id"}, template: "your_template_id", data: {foo: "bar"}}
|
|
35
37
|
)
|
|
36
38
|
|
|
37
39
|
puts(response.requestId)
|
|
@@ -44,7 +46,7 @@ When the library is unable to connect to the API, or if the API returns a non-su
|
|
|
44
46
|
```ruby
|
|
45
47
|
begin
|
|
46
48
|
send_ = courier.send_.message(
|
|
47
|
-
message: {to: {user_id: "your_user_id"}, template: "
|
|
49
|
+
message: {to: {user_id: "your_user_id"}, template: "your_template_id", data: {foo: "bar"}}
|
|
48
50
|
)
|
|
49
51
|
rescue Trycourier::Errors::APIConnectionError => e
|
|
50
52
|
puts("The server could not be reached")
|
|
@@ -89,7 +91,7 @@ courier = Trycourier::Client.new(
|
|
|
89
91
|
|
|
90
92
|
# Or, configure per-request:
|
|
91
93
|
courier.send_.message(
|
|
92
|
-
message: {to: {user_id: "your_user_id"}, template: "
|
|
94
|
+
message: {to: {user_id: "your_user_id"}, template: "your_template_id", data: {foo: "bar"}},
|
|
93
95
|
request_options: {max_retries: 5}
|
|
94
96
|
)
|
|
95
97
|
```
|
|
@@ -106,7 +108,7 @@ courier = Trycourier::Client.new(
|
|
|
106
108
|
|
|
107
109
|
# Or, configure per-request:
|
|
108
110
|
courier.send_.message(
|
|
109
|
-
message: {to: {user_id: "your_user_id"}, template: "
|
|
111
|
+
message: {to: {user_id: "your_user_id"}, template: "your_template_id", data: {foo: "bar"}},
|
|
110
112
|
request_options: {timeout: 5}
|
|
111
113
|
)
|
|
112
114
|
```
|
|
@@ -140,7 +142,7 @@ Note: the `extra_` parameters of the same name overrides the documented paramete
|
|
|
140
142
|
```ruby
|
|
141
143
|
response =
|
|
142
144
|
courier.send_.message(
|
|
143
|
-
message: {to: {user_id: "your_user_id"}, template: "
|
|
145
|
+
message: {to: {user_id: "your_user_id"}, template: "your_template_id", data: {foo: "bar"}},
|
|
144
146
|
request_options: {
|
|
145
147
|
extra_query: {my_query_parameter: value},
|
|
146
148
|
extra_body: {my_body_parameter: value},
|
|
@@ -189,7 +191,7 @@ You can provide typesafe request parameters like so:
|
|
|
189
191
|
courier.send_.message(
|
|
190
192
|
message: Trycourier::SendMessageParams::Message.new(
|
|
191
193
|
to: Trycourier::UserRecipient.new(user_id: "your_user_id"),
|
|
192
|
-
template: "
|
|
194
|
+
template: "your_template_id",
|
|
193
195
|
data: {foo: "bar"}
|
|
194
196
|
)
|
|
195
197
|
)
|
|
@@ -200,14 +202,14 @@ Or, equivalently:
|
|
|
200
202
|
```ruby
|
|
201
203
|
# Hashes work, but are not typesafe:
|
|
202
204
|
courier.send_.message(
|
|
203
|
-
message: {to: {user_id: "your_user_id"}, template: "
|
|
205
|
+
message: {to: {user_id: "your_user_id"}, template: "your_template_id", data: {foo: "bar"}}
|
|
204
206
|
)
|
|
205
207
|
|
|
206
208
|
# You can also splat a full Params class:
|
|
207
209
|
params = Trycourier::SendMessageParams.new(
|
|
208
210
|
message: Trycourier::SendMessageParams::Message.new(
|
|
209
211
|
to: Trycourier::UserRecipient.new(user_id: "your_user_id"),
|
|
210
|
-
template: "
|
|
212
|
+
template: "your_template_id",
|
|
211
213
|
data: {foo: "bar"}
|
|
212
214
|
)
|
|
213
215
|
)
|
data/SECURITY.md
CHANGED
|
@@ -18,6 +18,10 @@ before making any information public.
|
|
|
18
18
|
If you encounter security issues that are not directly related to SDKs but pertain to the services
|
|
19
19
|
or products provided by Courier, please follow the respective company's security reporting guidelines.
|
|
20
20
|
|
|
21
|
+
### Courier Terms and Policies
|
|
22
|
+
|
|
23
|
+
Please contact support@courier.com for any questions or concerns regarding the security of our services.
|
|
24
|
+
|
|
21
25
|
---
|
|
22
26
|
|
|
23
27
|
Thank you for helping us keep the SDKs and systems they interact with secure.
|
|
@@ -201,7 +201,8 @@ module Trycourier
|
|
|
201
201
|
self.class::PLATFORM_HEADERS,
|
|
202
202
|
{
|
|
203
203
|
"accept" => "application/json",
|
|
204
|
-
"content-type" => "application/json"
|
|
204
|
+
"content-type" => "application/json",
|
|
205
|
+
"user-agent" => user_agent
|
|
205
206
|
},
|
|
206
207
|
headers
|
|
207
208
|
)
|
|
@@ -219,6 +220,11 @@ module Trycourier
|
|
|
219
220
|
# @return [Hash{String=>String}]
|
|
220
221
|
private def auth_headers = {}
|
|
221
222
|
|
|
223
|
+
# @api private
|
|
224
|
+
#
|
|
225
|
+
# @return [String]
|
|
226
|
+
private def user_agent = "#{self.class.name}/Ruby #{Trycourier::VERSION}"
|
|
227
|
+
|
|
222
228
|
# @api private
|
|
223
229
|
#
|
|
224
230
|
# @return [String]
|
|
@@ -16,10 +16,11 @@ module Trycourier
|
|
|
16
16
|
class << self
|
|
17
17
|
# @api private
|
|
18
18
|
#
|
|
19
|
+
# @param cert_store [OpenSSL::X509::Store]
|
|
19
20
|
# @param url [URI::Generic]
|
|
20
21
|
#
|
|
21
22
|
# @return [Net::HTTP]
|
|
22
|
-
def connect(url)
|
|
23
|
+
def connect(cert_store:, url:)
|
|
23
24
|
port =
|
|
24
25
|
case [url.port, url.scheme]
|
|
25
26
|
in [Integer, _]
|
|
@@ -33,6 +34,8 @@ module Trycourier
|
|
|
33
34
|
Net::HTTP.new(url.host, port).tap do
|
|
34
35
|
_1.use_ssl = %w[https wss].include?(url.scheme)
|
|
35
36
|
_1.max_retries = 0
|
|
37
|
+
|
|
38
|
+
(_1.cert_store = cert_store) if _1.use_ssl?
|
|
36
39
|
end
|
|
37
40
|
end
|
|
38
41
|
|
|
@@ -102,7 +105,7 @@ module Trycourier
|
|
|
102
105
|
pool =
|
|
103
106
|
@mutex.synchronize do
|
|
104
107
|
@pools[origin] ||= ConnectionPool.new(size: @size) do
|
|
105
|
-
self.class.connect(url)
|
|
108
|
+
self.class.connect(cert_store: @cert_store, url: url)
|
|
106
109
|
end
|
|
107
110
|
end
|
|
108
111
|
|
|
@@ -128,40 +131,48 @@ module Trycourier
|
|
|
128
131
|
url, deadline = request.fetch_values(:url, :deadline)
|
|
129
132
|
|
|
130
133
|
req = nil
|
|
131
|
-
eof = false
|
|
132
134
|
finished = false
|
|
133
|
-
closing = nil
|
|
134
135
|
|
|
135
136
|
# rubocop:disable Metrics/BlockLength
|
|
136
137
|
enum = Enumerator.new do |y|
|
|
137
138
|
next if finished
|
|
138
139
|
|
|
139
140
|
with_pool(url, deadline: deadline) do |conn|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
conn.start
|
|
148
|
-
end
|
|
141
|
+
eof = false
|
|
142
|
+
closing = nil
|
|
143
|
+
::Thread.handle_interrupt(Object => :never) do
|
|
144
|
+
::Thread.handle_interrupt(Object => :immediate) do
|
|
145
|
+
req, closing = self.class.build_request(request) do
|
|
146
|
+
self.class.calibrate_socket_timeout(conn, deadline)
|
|
147
|
+
end
|
|
149
148
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
rsp.read_body do |bytes|
|
|
156
|
-
y << bytes.force_encoding(Encoding::BINARY)
|
|
157
|
-
break if finished
|
|
149
|
+
self.class.calibrate_socket_timeout(conn, deadline)
|
|
150
|
+
unless conn.started?
|
|
151
|
+
conn.keep_alive_timeout = self.class::KEEP_ALIVE_TIMEOUT
|
|
152
|
+
conn.start
|
|
153
|
+
end
|
|
158
154
|
|
|
159
155
|
self.class.calibrate_socket_timeout(conn, deadline)
|
|
156
|
+
conn.request(req) do |rsp|
|
|
157
|
+
y << [req, rsp]
|
|
158
|
+
break if finished
|
|
159
|
+
|
|
160
|
+
rsp.read_body do |bytes|
|
|
161
|
+
y << bytes.force_encoding(Encoding::BINARY)
|
|
162
|
+
break if finished
|
|
163
|
+
|
|
164
|
+
self.class.calibrate_socket_timeout(conn, deadline)
|
|
165
|
+
end
|
|
166
|
+
eof = true
|
|
167
|
+
end
|
|
168
|
+
end
|
|
169
|
+
ensure
|
|
170
|
+
begin
|
|
171
|
+
conn.finish if !eof && conn&.started?
|
|
172
|
+
ensure
|
|
173
|
+
closing&.call
|
|
160
174
|
end
|
|
161
|
-
eof = true
|
|
162
175
|
end
|
|
163
|
-
ensure
|
|
164
|
-
conn.finish if !eof && conn&.started?
|
|
165
176
|
end
|
|
166
177
|
rescue Timeout::Error
|
|
167
178
|
raise Trycourier::Errors::APITimeoutError.new(url: url, request: req)
|
|
@@ -174,8 +185,6 @@ module Trycourier
|
|
|
174
185
|
body = Trycourier::Internal::Util.fused_enum(enum, external: true) do
|
|
175
186
|
finished = true
|
|
176
187
|
loop { enum.next }
|
|
177
|
-
ensure
|
|
178
|
-
closing&.call
|
|
179
188
|
end
|
|
180
189
|
[Integer(response.code), response, body]
|
|
181
190
|
end
|
|
@@ -186,6 +195,7 @@ module Trycourier
|
|
|
186
195
|
def initialize(size: self.class::DEFAULT_MAX_CONNECTIONS)
|
|
187
196
|
@mutex = Mutex.new
|
|
188
197
|
@size = size
|
|
198
|
+
@cert_store = OpenSSL::X509::Store.new.tap(&:set_default_paths)
|
|
189
199
|
@pools = {}
|
|
190
200
|
end
|
|
191
201
|
|
|
@@ -12,7 +12,7 @@ module Trycourier
|
|
|
12
12
|
|
|
13
13
|
# @!attribute raw
|
|
14
14
|
# Raw data to apply to the channel. If `elements` has not been specified, `raw` is
|
|
15
|
-
#
|
|
15
|
+
# required.
|
|
16
16
|
#
|
|
17
17
|
# @return [Hash{Symbol=>Object}, nil]
|
|
18
18
|
optional :raw, Trycourier::Internal::Type::HashOf[Trycourier::Internal::Type::Unknown], nil?: true
|
|
@@ -34,7 +34,7 @@ module Trycourier
|
|
|
34
34
|
#
|
|
35
35
|
# @param channel [String] The channel the contents of this element should be applied to. Can be `email`,
|
|
36
36
|
#
|
|
37
|
-
# @param raw [Hash{Symbol=>Object}, nil] Raw data to apply to the channel. If `elements` has not been
|
|
37
|
+
# @param raw [Hash{Symbol=>Object}, nil] Raw data to apply to the channel. If `elements` has not been specified, `raw` is
|
|
38
38
|
end
|
|
39
39
|
end
|
|
40
40
|
end
|
|
@@ -11,7 +11,7 @@ module Trycourier
|
|
|
11
11
|
#
|
|
12
12
|
# @overload retrieve(user_id, cursor: nil, request_options: {})
|
|
13
13
|
#
|
|
14
|
-
# @param user_id [String] A unique identifier representing the user associated with the requested
|
|
14
|
+
# @param user_id [String] A unique identifier representing the user associated with the requested user pro
|
|
15
15
|
#
|
|
16
16
|
# @param cursor [String, nil] A unique identifier that allows for fetching the next set of message statuses.
|
|
17
17
|
#
|
|
@@ -62,7 +62,7 @@ module Trycourier
|
|
|
62
62
|
#
|
|
63
63
|
# @overload subscribe(user_id, lists:, request_options: {})
|
|
64
64
|
#
|
|
65
|
-
# @param user_id [String] A unique identifier representing the user associated with the requested
|
|
65
|
+
# @param user_id [String] A unique identifier representing the user associated with the requested user pro
|
|
66
66
|
#
|
|
67
67
|
# @param lists [Array<Trycourier::Models::SubscribeToListsRequestItem>]
|
|
68
68
|
#
|
|
@@ -64,7 +64,7 @@ module Trycourier
|
|
|
64
64
|
#
|
|
65
65
|
# @overload update(user_id, patch:, request_options: {})
|
|
66
66
|
#
|
|
67
|
-
# @param user_id [String] A unique identifier representing the user associated with the requested
|
|
67
|
+
# @param user_id [String] A unique identifier representing the user associated with the requested user pro
|
|
68
68
|
#
|
|
69
69
|
# @param patch [Array<Trycourier::Models::ProfileUpdateParams::Patch>] List of patch operations to apply to the profile.
|
|
70
70
|
#
|
|
@@ -91,7 +91,7 @@ module Trycourier
|
|
|
91
91
|
#
|
|
92
92
|
# @overload delete(user_id, request_options: {})
|
|
93
93
|
#
|
|
94
|
-
# @param user_id [String] A unique identifier representing the user associated with the requested
|
|
94
|
+
# @param user_id [String] A unique identifier representing the user associated with the requested user pro
|
|
95
95
|
#
|
|
96
96
|
# @param request_options [Trycourier::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
97
97
|
#
|
|
@@ -118,7 +118,7 @@ module Trycourier
|
|
|
118
118
|
#
|
|
119
119
|
# @overload replace(user_id, profile:, request_options: {})
|
|
120
120
|
#
|
|
121
|
-
# @param user_id [String] A unique identifier representing the user associated with the requested
|
|
121
|
+
# @param user_id [String] A unique identifier representing the user associated with the requested user pro
|
|
122
122
|
#
|
|
123
123
|
# @param profile [Hash{Symbol=>Object}]
|
|
124
124
|
#
|
|
@@ -6,7 +6,7 @@ module Trycourier
|
|
|
6
6
|
# Some parameter documentations has been truncated, see
|
|
7
7
|
# {Trycourier::Models::SendMessageParams} for more details.
|
|
8
8
|
#
|
|
9
|
-
#
|
|
9
|
+
# API to send a message to one or more recipients.
|
|
10
10
|
#
|
|
11
11
|
# @overload message(message:, request_options: {})
|
|
12
12
|
#
|
data/lib/trycourier/version.rb
CHANGED
data/lib/trycourier.rb
CHANGED
data/manifest.yaml
CHANGED
|
@@ -26,8 +26,12 @@ module Trycourier
|
|
|
26
26
|
|
|
27
27
|
class << self
|
|
28
28
|
# @api private
|
|
29
|
-
sig
|
|
30
|
-
|
|
29
|
+
sig do
|
|
30
|
+
params(cert_store: OpenSSL::X509::Store, url: URI::Generic).returns(
|
|
31
|
+
Net::HTTP
|
|
32
|
+
)
|
|
33
|
+
end
|
|
34
|
+
def connect(cert_store:, url:)
|
|
31
35
|
end
|
|
32
36
|
|
|
33
37
|
# @api private
|
|
@@ -31,7 +31,7 @@ module Trycourier
|
|
|
31
31
|
#
|
|
32
32
|
# Assumes superclass fields are totally defined before fields are accessed /
|
|
33
33
|
# defined on subclasses.
|
|
34
|
-
sig { params(child:
|
|
34
|
+
sig { params(child: Trycourier::Internal::Type::BaseModel).void }
|
|
35
35
|
def inherited(child)
|
|
36
36
|
end
|
|
37
37
|
|
|
@@ -276,9 +276,13 @@ module Trycourier
|
|
|
276
276
|
|
|
277
277
|
# Create a new instance of a model.
|
|
278
278
|
sig do
|
|
279
|
-
params(
|
|
280
|
-
|
|
281
|
-
|
|
279
|
+
params(
|
|
280
|
+
data:
|
|
281
|
+
T.any(
|
|
282
|
+
T::Hash[Symbol, T.anything],
|
|
283
|
+
Trycourier::Internal::Type::BaseModel
|
|
284
|
+
)
|
|
285
|
+
).returns(T.attached_class)
|
|
282
286
|
end
|
|
283
287
|
def self.new(data = {})
|
|
284
288
|
end
|
|
@@ -14,7 +14,7 @@ module Trycourier
|
|
|
14
14
|
attr_accessor :channel
|
|
15
15
|
|
|
16
16
|
# Raw data to apply to the channel. If `elements` has not been specified, `raw` is
|
|
17
|
-
#
|
|
17
|
+
# required.
|
|
18
18
|
sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
|
|
19
19
|
attr_accessor :raw
|
|
20
20
|
|
|
@@ -39,7 +39,7 @@ module Trycourier
|
|
|
39
39
|
# `push`, `direct_message`, `sms` or a provider such as slack
|
|
40
40
|
channel:,
|
|
41
41
|
# Raw data to apply to the channel. If `elements` has not been specified, `raw` is
|
|
42
|
-
#
|
|
42
|
+
# required.
|
|
43
43
|
raw: nil
|
|
44
44
|
)
|
|
45
45
|
end
|
|
@@ -13,7 +13,8 @@ module Trycourier
|
|
|
13
13
|
).returns(Trycourier::Models::Profiles::ListRetrieveResponse)
|
|
14
14
|
end
|
|
15
15
|
def retrieve(
|
|
16
|
-
# A unique identifier representing the user associated with the requested
|
|
16
|
+
# A unique identifier representing the user associated with the requested user
|
|
17
|
+
# profile.
|
|
17
18
|
user_id,
|
|
18
19
|
# A unique identifier that allows for fetching the next set of message statuses.
|
|
19
20
|
cursor: nil,
|
|
@@ -45,7 +46,8 @@ module Trycourier
|
|
|
45
46
|
).returns(Trycourier::Models::Profiles::ListSubscribeResponse)
|
|
46
47
|
end
|
|
47
48
|
def subscribe(
|
|
48
|
-
# A unique identifier representing the user associated with the requested
|
|
49
|
+
# A unique identifier representing the user associated with the requested user
|
|
50
|
+
# profile.
|
|
49
51
|
user_id,
|
|
50
52
|
lists:,
|
|
51
53
|
request_options: {}
|
|
@@ -46,7 +46,8 @@ module Trycourier
|
|
|
46
46
|
).void
|
|
47
47
|
end
|
|
48
48
|
def update(
|
|
49
|
-
# A unique identifier representing the user associated with the requested
|
|
49
|
+
# A unique identifier representing the user associated with the requested user
|
|
50
|
+
# profile.
|
|
50
51
|
user_id,
|
|
51
52
|
# List of patch operations to apply to the profile.
|
|
52
53
|
patch:,
|
|
@@ -62,7 +63,8 @@ module Trycourier
|
|
|
62
63
|
).void
|
|
63
64
|
end
|
|
64
65
|
def delete(
|
|
65
|
-
# A unique identifier representing the user associated with the requested
|
|
66
|
+
# A unique identifier representing the user associated with the requested user
|
|
67
|
+
# profile.
|
|
66
68
|
user_id,
|
|
67
69
|
request_options: {}
|
|
68
70
|
)
|
|
@@ -81,7 +83,8 @@ module Trycourier
|
|
|
81
83
|
).returns(Trycourier::Models::ProfileReplaceResponse)
|
|
82
84
|
end
|
|
83
85
|
def replace(
|
|
84
|
-
# A unique identifier representing the user associated with the requested
|
|
86
|
+
# A unique identifier representing the user associated with the requested user
|
|
87
|
+
# profile.
|
|
85
88
|
user_id,
|
|
86
89
|
profile:,
|
|
87
90
|
request_options: {}
|
|
@@ -17,7 +17,10 @@ module Trycourier
|
|
|
17
17
|
|
|
18
18
|
DEFAULT_MAX_CONNECTIONS: Integer
|
|
19
19
|
|
|
20
|
-
def self.connect: (
|
|
20
|
+
def self.connect: (
|
|
21
|
+
cert_store: OpenSSL::X509::Store,
|
|
22
|
+
url: URI::Generic
|
|
23
|
+
) -> top
|
|
21
24
|
|
|
22
25
|
def self.calibrate_socket_timeout: (top conn, Float deadline) -> void
|
|
23
26
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: trycourier
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.4.0.pre.
|
|
4
|
+
version: 3.4.0.pre.alpha8
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Courier
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2025-
|
|
11
|
+
date: 2025-11-05 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: connection_pool
|
|
@@ -25,7 +25,7 @@ dependencies:
|
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: '0'
|
|
27
27
|
description:
|
|
28
|
-
email:
|
|
28
|
+
email: support@courier.com
|
|
29
29
|
executables: []
|
|
30
30
|
extensions: []
|
|
31
31
|
extra_rdoc_files:
|