Skip to content

Commit 5b78dba

Browse files
feat(api): manual updates
rename org name from Sent Dm to Sent
1 parent 25e931d commit 5b78dba

File tree

20 files changed

+99
-99
lines changed

20 files changed

+99
-99
lines changed

.github/workflows/publish-gem.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,5 @@ jobs:
2727
bash ./bin/publish-gem
2828
env:
2929
# `RUBYGEMS_HOST` is only required for private gem repositories, not https://rubygems.org
30-
RUBYGEMS_HOST: ${{ secrets.SENT_DM_RUBYGEMS_HOST || secrets.RUBYGEMS_HOST }}
31-
GEM_HOST_API_KEY: ${{ secrets.SENT_DM_GEM_HOST_API_KEY || secrets.GEM_HOST_API_KEY }}
30+
RUBYGEMS_HOST: ${{ secrets.SENT_RUBYGEMS_HOST || secrets.RUBYGEMS_HOST }}
31+
GEM_HOST_API_KEY: ${{ secrets.SENT_GEM_HOST_API_KEY || secrets.GEM_HOST_API_KEY }}

.github/workflows/release-doctor.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,5 @@ jobs:
1818
run: |
1919
bash ./bin/check-release-environment
2020
env:
21-
RUBYGEMS_HOST: ${{ secrets.SENT_DM_RUBYGEMS_HOST || secrets.RUBYGEMS_HOST }}
22-
GEM_HOST_API_KEY: ${{ secrets.SENT_DM_GEM_HOST_API_KEY || secrets.GEM_HOST_API_KEY }}
21+
RUBYGEMS_HOST: ${{ secrets.SENT_RUBYGEMS_HOST || secrets.RUBYGEMS_HOST }}
22+
GEM_HOST_API_KEY: ${{ secrets.SENT_GEM_HOST_API_KEY || secrets.GEM_HOST_API_KEY }}

.stats.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 40
22
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sent%2Fsent-dm-5dc1981aa33b7d68052db07daa5cebe74c5529c2fd24e68d3a8985cfd47626ff.yml
33
openapi_spec_hash: c6cb3fad43be2bf8ac0165b201c09e76
4-
config_hash: d8e8429147c4e214ff53c11e7ab2a1a6
4+
config_hash: 405ade725d72d542c60de821a127411b

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@
186186
same "printed page" as the copyright notice for easier
187187
identification within third-party archives.
188188

189-
Copyright 2026 Sent Dm
189+
Copyright 2026 Sent
190190

191191
Licensed under the Apache License, Version 2.0 (the "License");
192192
you may not use this file except in compliance with the License.

README.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
# Sent Dm Ruby API library
1+
# Sent Ruby API library
22

3-
The Sent Dm Ruby library provides convenient access to the Sent Dm REST API from any Ruby 3.2.0+ application. It ships with comprehensive types & docstrings in Yard, RBS, and RBI – [see below](https://github.com/sentdm/sent-dm-ruby#Sorbet) for usage with Sorbet. The standard library's `net/http` is used as the HTTP transport, with connection pooling via the `connection_pool` gem.
3+
The Sent Ruby library provides convenient access to the Sent REST API from any Ruby 3.2.0+ application. It ships with comprehensive types & docstrings in Yard, RBS, and RBI – [see below](https://github.com/sentdm/sent-dm-ruby#Sorbet) for usage with Sorbet. The standard library's `net/http` is used as the HTTP transport, with connection pooling via the `connection_pool` gem.
44

55
It is generated with [Stainless](https://www.stainless.com/).
66

77
## MCP Server
88

9-
Use the Sent Dm MCP Server to enable AI assistants to interact with this API, allowing them to explore endpoints, make test requests, and use documentation to help integrate this SDK into your application.
9+
Use the Sent MCP Server to enable AI assistants to interact with this API, allowing them to explore endpoints, make test requests, and use documentation to help integrate this SDK into your application.
1010

1111
[![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en-US/install-mcp?name=%40sentdm%2Fsentdm-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBzZW50ZG0vc2VudGRtLW1jcCJdLCJlbnYiOnsiU0VOVF9ETV9BUElfS0VZIjoiTXkgQVBJIEtleSJ9fQ)
1212
[![Install in VS Code](https://img.shields.io/badge/_-Add_to_VS_Code-blue?style=for-the-badge&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHBhdGggZmlsbD0iI0VFRSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzAuMjM1IDM5Ljg4NGEyLjQ5MSAyLjQ5MSAwIDAgMS0xLjc4MS0uNzNMMTIuNyAyNC43OGwtMy40NiAyLjYyNC0zLjQwNiAyLjU4MmExLjY2NSAxLjY2NSAwIDAgMS0xLjA4Mi4zMzggMS42NjQgMS42NjQgMCAwIDEtMS4wNDYtLjQzMWwtMi4yLTJhMS42NjYgMS42NjYgMCAwIDEgMC0yLjQ2M0w3LjQ1OCAyMCA0LjY3IDE3LjQ1MyAxLjUwNyAxNC41N2ExLjY2NSAxLjY2NSAwIDAgMSAwLTIuNDYzbDIuMi0yYTEuNjY1IDEuNjY1IDAgMCAxIDIuMTMtLjA5N2w2Ljg2MyA1LjIwOUwyOC40NTIuODQ0YTIuNDg4IDIuNDg4IDAgMCAxIDEuODQxLS43MjljLjM1MS4wMDkuNjk5LjA5MSAxLjAxOS4yNDVsOC4yMzYgMy45NjFhMi41IDIuNSAwIDAgMSAxLjQxNSAyLjI1M3YuMDk5LS4wNDVWMzMuMzd2LS4wNDUuMDk1YTIuNTAxIDIuNTAxIDAgMCAxLTEuNDE2IDIuMjU3bC04LjIzNSAzLjk2MWEyLjQ5MiAyLjQ5MiAwIDAgMS0xLjA3Ny4yNDZabS43MTYtMjguOTQ3LTExLjk0OCA5LjA2MiAxMS45NTIgOS4wNjUtLjAwNC0xOC4xMjdaIi8+PC9zdmc+)](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22%40sentdm%2Fsentdm-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40sentdm%2Fsentdm-mcp%22%5D%2C%22env%22%3A%7B%22SENT_DM_API_KEY%22%3A%22My%20API%20Key%22%7D%7D)
@@ -37,11 +37,11 @@ gem "sentdm", "~> 0.11.1"
3737
require "bundler/setup"
3838
require "sentdm"
3939

40-
sent_dm = Sentdm::Client.new(
40+
sent = Sentdm::Client.new(
4141
api_key: ENV["SENT_DM_API_KEY"] # This is the default and can be omitted
4242
)
4343

44-
response = sent_dm.messages.send_(
44+
response = sent.messages.send_(
4545
channel: ["sms", "whatsapp"],
4646
template: {
4747
id: "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
@@ -60,7 +60,7 @@ When the library is unable to connect to the API, or if the API returns a non-su
6060

6161
```ruby
6262
begin
63-
message = sent_dm.messages.send_(
63+
message = sent.messages.send_(
6464
channel: ["sms"],
6565
template: {
6666
id: "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
@@ -106,12 +106,12 @@ You can use the `max_retries` option to configure or disable this:
106106

107107
```ruby
108108
# Configure the default for all requests:
109-
sent_dm = Sentdm::Client.new(
109+
sent = Sentdm::Client.new(
110110
max_retries: 0 # default is 2
111111
)
112112

113113
# Or, configure per-request:
114-
sent_dm.messages.send_(
114+
sent.messages.send_(
115115
channel: ["sms"],
116116
template: {
117117
id: "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
@@ -129,12 +129,12 @@ By default, requests will time out after 60 seconds. You can use the timeout opt
129129

130130
```ruby
131131
# Configure the default for all requests:
132-
sent_dm = Sentdm::Client.new(
132+
sent = Sentdm::Client.new(
133133
timeout: nil # default is 60
134134
)
135135

136136
# Or, configure per-request:
137-
sent_dm.messages.send_(
137+
sent.messages.send_(
138138
channel: ["sms"],
139139
template: {
140140
id: "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
@@ -174,7 +174,7 @@ Note: the `extra_` parameters of the same name overrides the documented paramete
174174

175175
```ruby
176176
response =
177-
sent_dm.messages.send_(
177+
sent.messages.send_(
178178
channel: ["sms"],
179179
template: {
180180
id: "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
@@ -227,7 +227,7 @@ This library provides comprehensive [RBI](https://sorbet.org/docs/rbi) definitio
227227
You can provide typesafe request parameters like so:
228228

229229
```ruby
230-
sent_dm.messages.send_(
230+
sent.messages.send_(
231231
channel: ["sms", "whatsapp"],
232232
template: Sentdm::MessageSendParams::Template.new(
233233
id: "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
@@ -242,7 +242,7 @@ Or, equivalently:
242242

243243
```ruby
244244
# Hashes work, but are not typesafe:
245-
sent_dm.messages.send_(
245+
sent.messages.send_(
246246
channel: ["sms", "whatsapp"],
247247
template: {
248248
id: "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
@@ -262,7 +262,7 @@ params = Sentdm::MessageSendParams.new(
262262
),
263263
to: ["+14155551234", "+14155555678"]
264264
)
265-
sent_dm.messages.send_(**params)
265+
sent.messages.send_(**params)
266266
```
267267

268268
### Enums

SECURITY.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ before making any information public.
1616
## Reporting Non-SDK Related Security Issues
1717

1818
If you encounter security issues that are not directly related to SDKs but pertain to the services
19-
or products provided by Sent Dm, please follow the respective company's security reporting guidelines.
19+
or products provided by Sent, please follow the respective company's security reporting guidelines.
2020

21-
### Sent Dm Terms and Policies
21+
### Sent Terms and Policies
2222

2323
Please contact support@sent.dm for any questions or concerns regarding the security of our services.
2424

lib/sentdm/client.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ class Client < Sentdm::Internal::Transport::BaseClient
6666
# to `ENV["SENT_DM_API_KEY"]`
6767
#
6868
# @param base_url [String, nil] Override the default base URL for the API, e.g.,
69-
# `"https://api.example.com/v2/"`. Defaults to `ENV["SENT_DM_BASE_URL"]`
69+
# `"https://api.example.com/v2/"`. Defaults to `ENV["SENT_BASE_URL"]`
7070
#
7171
# @param max_retries [Integer] Max number of retries to attempt after a failed retryable request.
7272
#
@@ -77,7 +77,7 @@ class Client < Sentdm::Internal::Transport::BaseClient
7777
# @param max_retry_delay [Float]
7878
def initialize(
7979
api_key: ENV["SENT_DM_API_KEY"],
80-
base_url: ENV["SENT_DM_BASE_URL"],
80+
base_url: ENV["SENT_BASE_URL"],
8181
max_retries: self.class::DEFAULT_MAX_RETRIES,
8282
timeout: self.class::DEFAULT_TIMEOUT_IN_SECONDS,
8383
initial_retry_delay: self.class::DEFAULT_INITIAL_RETRY_DELAY,

rbi/sentdm/client.rbi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,8 @@ module Sentdm
6969
# to `ENV["SENT_DM_API_KEY"]`
7070
api_key: ENV["SENT_DM_API_KEY"],
7171
# Override the default base URL for the API, e.g.,
72-
# `"https://api.example.com/v2/"`. Defaults to `ENV["SENT_DM_BASE_URL"]`
73-
base_url: ENV["SENT_DM_BASE_URL"],
72+
# `"https://api.example.com/v2/"`. Defaults to `ENV["SENT_BASE_URL"]`
73+
base_url: ENV["SENT_BASE_URL"],
7474
# Max number of retries to attempt after a failed retryable request.
7575
max_retries: Sentdm::Client::DEFAULT_MAX_RETRIES,
7676
timeout: Sentdm::Client::DEFAULT_TIMEOUT_IN_SECONDS,

sentdm.gemspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ require_relative "lib/sentdm/version"
55
Gem::Specification.new do |s|
66
s.name = "sentdm"
77
s.version = Sentdm::VERSION
8-
s.summary = "Ruby library to access the Sent Dm API"
9-
s.authors = ["Sent Dm"]
8+
s.summary = "Ruby library to access the Sent API"
9+
s.authors = ["Sent"]
1010
s.email = "support@sent.dm"
1111
s.homepage = "https://gemdocs.org/gems/sentdm"
1212
s.metadata["homepage_uri"] = s.homepage

test/sentdm/client_test.rb

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ def test_raises_on_missing_non_nullable_opts
3737
def test_client_default_request_default_retry_attempts
3838
stub_request(:post, "http://localhost/v3/messages").to_return_json(status: 500, body: {})
3939

40-
sent_dm = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key")
40+
sent = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key")
4141

4242
assert_raises(Sentdm::Errors::InternalServerError) do
43-
sent_dm.messages.send_
43+
sent.messages.send_
4444
end
4545

4646
assert_requested(:any, /./, times: 3)
@@ -49,10 +49,10 @@ def test_client_default_request_default_retry_attempts
4949
def test_client_given_request_default_retry_attempts
5050
stub_request(:post, "http://localhost/v3/messages").to_return_json(status: 500, body: {})
5151

52-
sent_dm = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key", max_retries: 3)
52+
sent = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key", max_retries: 3)
5353

5454
assert_raises(Sentdm::Errors::InternalServerError) do
55-
sent_dm.messages.send_
55+
sent.messages.send_
5656
end
5757

5858
assert_requested(:any, /./, times: 4)
@@ -61,10 +61,10 @@ def test_client_given_request_default_retry_attempts
6161
def test_client_default_request_given_retry_attempts
6262
stub_request(:post, "http://localhost/v3/messages").to_return_json(status: 500, body: {})
6363

64-
sent_dm = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key")
64+
sent = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key")
6565

6666
assert_raises(Sentdm::Errors::InternalServerError) do
67-
sent_dm.messages.send_(request_options: {max_retries: 3})
67+
sent.messages.send_(request_options: {max_retries: 3})
6868
end
6969

7070
assert_requested(:any, /./, times: 4)
@@ -73,10 +73,10 @@ def test_client_default_request_given_retry_attempts
7373
def test_client_given_request_given_retry_attempts
7474
stub_request(:post, "http://localhost/v3/messages").to_return_json(status: 500, body: {})
7575

76-
sent_dm = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key", max_retries: 3)
76+
sent = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key", max_retries: 3)
7777

7878
assert_raises(Sentdm::Errors::InternalServerError) do
79-
sent_dm.messages.send_(request_options: {max_retries: 4})
79+
sent.messages.send_(request_options: {max_retries: 4})
8080
end
8181

8282
assert_requested(:any, /./, times: 5)
@@ -89,10 +89,10 @@ def test_client_retry_after_seconds
8989
body: {}
9090
)
9191

92-
sent_dm = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key", max_retries: 1)
92+
sent = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key", max_retries: 1)
9393

9494
assert_raises(Sentdm::Errors::InternalServerError) do
95-
sent_dm.messages.send_
95+
sent.messages.send_
9696
end
9797

9898
assert_requested(:any, /./, times: 2)
@@ -108,11 +108,11 @@ def test_client_retry_after_date
108108
body: {}
109109
)
110110

111-
sent_dm = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key", max_retries: 1)
111+
sent = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key", max_retries: 1)
112112

113113
Thread.current.thread_variable_set(:time_now, time_now)
114114
assert_raises(Sentdm::Errors::InternalServerError) do
115-
sent_dm.messages.send_
115+
sent.messages.send_
116116
end
117117
Thread.current.thread_variable_set(:time_now, nil)
118118

@@ -127,10 +127,10 @@ def test_client_retry_after_ms
127127
body: {}
128128
)
129129

130-
sent_dm = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key", max_retries: 1)
130+
sent = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key", max_retries: 1)
131131

132132
assert_raises(Sentdm::Errors::InternalServerError) do
133-
sent_dm.messages.send_
133+
sent.messages.send_
134134
end
135135

136136
assert_requested(:any, /./, times: 2)
@@ -140,10 +140,10 @@ def test_client_retry_after_ms
140140
def test_retry_count_header
141141
stub_request(:post, "http://localhost/v3/messages").to_return_json(status: 500, body: {})
142142

143-
sent_dm = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key")
143+
sent = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key")
144144

145145
assert_raises(Sentdm::Errors::InternalServerError) do
146-
sent_dm.messages.send_
146+
sent.messages.send_
147147
end
148148

149149
3.times do
@@ -154,10 +154,10 @@ def test_retry_count_header
154154
def test_omit_retry_count_header
155155
stub_request(:post, "http://localhost/v3/messages").to_return_json(status: 500, body: {})
156156

157-
sent_dm = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key")
157+
sent = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key")
158158

159159
assert_raises(Sentdm::Errors::InternalServerError) do
160-
sent_dm.messages.send_(request_options: {extra_headers: {"x-stainless-retry-count" => nil}})
160+
sent.messages.send_(request_options: {extra_headers: {"x-stainless-retry-count" => nil}})
161161
end
162162

163163
assert_requested(:any, /./, times: 3) do
@@ -168,10 +168,10 @@ def test_omit_retry_count_header
168168
def test_overwrite_retry_count_header
169169
stub_request(:post, "http://localhost/v3/messages").to_return_json(status: 500, body: {})
170170

171-
sent_dm = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key")
171+
sent = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key")
172172

173173
assert_raises(Sentdm::Errors::InternalServerError) do
174-
sent_dm.messages.send_(request_options: {extra_headers: {"x-stainless-retry-count" => "42"}})
174+
sent.messages.send_(request_options: {extra_headers: {"x-stainless-retry-count" => "42"}})
175175
end
176176

177177
assert_requested(:any, /./, headers: {"x-stainless-retry-count" => "42"}, times: 3)
@@ -188,10 +188,10 @@ def test_client_redirect_307
188188
headers: {"location" => "/redirected"}
189189
)
190190

191-
sent_dm = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key")
191+
sent = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key")
192192

193193
assert_raises(Sentdm::Errors::APIConnectionError) do
194-
sent_dm.messages.send_(request_options: {extra_headers: {}})
194+
sent.messages.send_(request_options: {extra_headers: {}})
195195
end
196196

197197
recorded, = WebMock::RequestRegistry.instance.requested_signatures.hash.first
@@ -217,10 +217,10 @@ def test_client_redirect_303
217217
headers: {"location" => "/redirected"}
218218
)
219219

220-
sent_dm = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key")
220+
sent = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key")
221221

222222
assert_raises(Sentdm::Errors::APIConnectionError) do
223-
sent_dm.messages.send_(request_options: {extra_headers: {}})
223+
sent.messages.send_(request_options: {extra_headers: {}})
224224
end
225225

226226
assert_requested(:get, "http://localhost/redirected", times: Sentdm::Client::MAX_REDIRECTS) do
@@ -241,10 +241,10 @@ def test_client_redirect_auth_keep_same_origin
241241
headers: {"location" => "/redirected"}
242242
)
243243

244-
sent_dm = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key")
244+
sent = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key")
245245

246246
assert_raises(Sentdm::Errors::APIConnectionError) do
247-
sent_dm.messages.send_(request_options: {extra_headers: {"authorization" => "Bearer xyz"}})
247+
sent.messages.send_(request_options: {extra_headers: {"authorization" => "Bearer xyz"}})
248248
end
249249

250250
recorded, = WebMock::RequestRegistry.instance.requested_signatures.hash.first
@@ -268,10 +268,10 @@ def test_client_redirect_auth_strip_cross_origin
268268
headers: {"location" => "https://example.com/redirected"}
269269
)
270270

271-
sent_dm = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key")
271+
sent = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key")
272272

273273
assert_raises(Sentdm::Errors::APIConnectionError) do
274-
sent_dm.messages.send_(request_options: {extra_headers: {"authorization" => "Bearer xyz"}})
274+
sent.messages.send_(request_options: {extra_headers: {"authorization" => "Bearer xyz"}})
275275
end
276276

277277
assert_requested(:any, "https://example.com/redirected", times: Sentdm::Client::MAX_REDIRECTS) do
@@ -283,9 +283,9 @@ def test_client_redirect_auth_strip_cross_origin
283283
def test_default_headers
284284
stub_request(:post, "http://localhost/v3/messages").to_return_json(status: 200, body: {})
285285

286-
sent_dm = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key")
286+
sent = Sentdm::Client.new(base_url: "http://localhost", api_key: "My API Key")
287287

288-
sent_dm.messages.send_
288+
sent.messages.send_
289289

290290
assert_requested(:any, /./) do |req|
291291
headers = req.headers.transform_keys(&:downcase).fetch_values("accept", "content-type")

0 commit comments

Comments
 (0)