revox 0.0.2 → 0.2.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 +4 -4
- data/CHANGELOG.md +96 -0
- data/README.md +88 -22
- data/lib/revox/client.rb +19 -1
- data/lib/revox/internal/transport/base_client.rb +5 -0
- data/lib/revox/internal/type/base_model.rb +3 -3
- data/lib/revox/internal/util.rb +53 -7
- data/lib/revox/models/assistant_create_params.rb +1036 -11
- data/lib/revox/models/assistant_create_response.rb +1071 -11
- data/lib/revox/models/assistant_delete_params.rb +7 -1
- data/lib/revox/models/assistant_list_response.rb +1070 -11
- data/lib/revox/models/assistant_retrieve_params.rb +7 -1
- data/lib/revox/models/assistant_retrieve_response.rb +1066 -11
- data/lib/revox/models/assistant_update_params.rb +1043 -11
- data/lib/revox/models/assistant_update_response.rb +1097 -12
- data/lib/revox/models/call_create_params.rb +1063 -11
- data/lib/revox/models/call_create_response.rb +2507 -87
- data/lib/revox/models/call_retrieve_params.rb +7 -1
- data/lib/revox/models/call_retrieve_response.rb +2512 -87
- data/lib/revox/models/campaign_cancel_params.rb +20 -0
- data/lib/revox/models/campaign_cancel_response.rb +16 -0
- data/lib/revox/models/campaign_create_params.rb +239 -0
- data/lib/revox/models/campaign_create_response.rb +2030 -0
- data/lib/revox/models/campaign_delete_params.rb +20 -0
- data/lib/revox/models/campaign_delete_response.rb +16 -0
- data/lib/revox/models/campaign_export_rows_params.rb +20 -0
- data/lib/revox/models/campaign_export_rows_response.rb +22 -0
- data/lib/revox/models/campaign_get_rows_params.rb +20 -0
- data/lib/revox/models/campaign_get_rows_response.rb +3176 -0
- data/lib/revox/models/campaign_list_params.rb +14 -0
- data/lib/revox/models/campaign_list_response.rb +2024 -0
- data/lib/revox/models/campaign_retrieve_params.rb +20 -0
- data/lib/revox/models/campaign_retrieve_response.rb +2032 -0
- data/lib/revox/models/users/me_retrieve_response.rb +13 -1
- data/lib/revox/models/users/me_update_response.rb +13 -1
- data/lib/revox/models/voice_list_response.rb +55 -1
- data/lib/revox/models/voice_preview_params.rb +43 -3
- data/lib/revox/models/voice_retrieve_params.rb +7 -1
- data/lib/revox/models.rb +14 -2
- data/lib/revox/resources/assistants.rb +138 -6
- data/lib/revox/resources/call.rb +10 -27
- data/lib/revox/resources/campaigns.rb +176 -0
- data/lib/revox/resources/voices.rb +17 -7
- data/lib/revox/version.rb +1 -1
- data/lib/revox.rb +15 -2
- data/rbi/revox/client.rbi +3 -0
- data/rbi/revox/internal/util.rbi +28 -0
- data/rbi/revox/models/assistant_create_params.rbi +2135 -102
- data/rbi/revox/models/assistant_create_response.rbi +2454 -199
- data/rbi/revox/models/assistant_delete_params.rbi +11 -5
- data/rbi/revox/models/assistant_list_response.rbi +2448 -195
- data/rbi/revox/models/assistant_retrieve_params.rbi +11 -5
- data/rbi/revox/models/assistant_retrieve_response.rbi +2401 -210
- data/rbi/revox/models/assistant_update_params.rbi +2139 -100
- data/rbi/revox/models/assistant_update_response.rbi +2504 -198
- data/rbi/revox/models/call_create_params.rbi +2377 -222
- data/rbi/revox/models/call_create_response.rbi +5840 -594
- data/rbi/revox/models/call_retrieve_params.rbi +11 -5
- data/rbi/revox/models/call_retrieve_response.rbi +5872 -618
- data/rbi/revox/models/campaign_cancel_params.rbi +33 -0
- data/rbi/revox/models/campaign_cancel_response.rbi +23 -0
- data/rbi/revox/models/campaign_create_params.rbi +433 -0
- data/rbi/revox/models/campaign_create_response.rbi +4170 -0
- data/rbi/revox/models/campaign_delete_params.rbi +33 -0
- data/rbi/revox/models/campaign_delete_response.rbi +23 -0
- data/rbi/revox/models/campaign_export_rows_params.rbi +33 -0
- data/rbi/revox/models/campaign_export_rows_response.rbi +29 -0
- data/rbi/revox/models/campaign_get_rows_params.rbi +33 -0
- data/rbi/revox/models/campaign_get_rows_response.rbi +6706 -0
- data/rbi/revox/models/campaign_list_params.rbi +27 -0
- data/rbi/revox/models/campaign_list_response.rbi +4156 -0
- data/rbi/revox/models/campaign_retrieve_params.rbi +33 -0
- data/rbi/revox/models/campaign_retrieve_response.rbi +4175 -0
- data/rbi/revox/models/users/me_retrieve_response.rbi +13 -3
- data/rbi/revox/models/users/me_update_response.rbi +13 -3
- data/rbi/revox/models/voice_list_response.rbi +105 -3
- data/rbi/revox/models/voice_preview_params.rbi +60 -2
- data/rbi/revox/models/voice_retrieve_params.rbi +6 -1
- data/rbi/revox/models.rbi +14 -2
- data/rbi/revox/resources/assistants.rbi +301 -6
- data/rbi/revox/resources/call.rbi +10 -19
- data/rbi/revox/resources/campaigns.rbi +121 -0
- data/rbi/revox/resources/voices.rbi +15 -5
- data/sig/revox/client.rbs +2 -0
- data/sig/revox/internal/util.rbs +14 -0
- data/sig/revox/models/assistant_create_params.rbs +841 -4
- data/sig/revox/models/assistant_create_response.rbs +860 -3
- data/sig/revox/models/assistant_delete_params.rbs +8 -3
- data/sig/revox/models/assistant_list_response.rbs +860 -3
- data/sig/revox/models/assistant_retrieve_params.rbs +8 -3
- data/sig/revox/models/assistant_retrieve_response.rbs +859 -3
- data/sig/revox/models/assistant_update_params.rbs +846 -4
- data/sig/revox/models/assistant_update_response.rbs +886 -6
- data/sig/revox/models/call_create_params.rbs +844 -6
- data/sig/revox/models/call_create_response.rbs +2166 -79
- data/sig/revox/models/call_retrieve_params.rbs +9 -3
- data/sig/revox/models/call_retrieve_response.rbs +2166 -79
- data/sig/revox/models/campaign_cancel_params.rbs +20 -0
- data/sig/revox/models/campaign_cancel_response.rbs +13 -0
- data/sig/revox/models/campaign_create_params.rbs +203 -0
- data/sig/revox/models/campaign_create_response.rbs +1694 -0
- data/sig/revox/models/campaign_delete_params.rbs +20 -0
- data/sig/revox/models/campaign_delete_response.rbs +13 -0
- data/sig/revox/models/campaign_export_rows_params.rbs +20 -0
- data/sig/revox/models/campaign_export_rows_response.rbs +15 -0
- data/sig/revox/models/campaign_get_rows_params.rbs +20 -0
- data/sig/revox/models/campaign_get_rows_response.rbs +2688 -0
- data/sig/revox/models/campaign_list_params.rbs +14 -0
- data/sig/revox/models/campaign_list_response.rbs +1694 -0
- data/sig/revox/models/campaign_retrieve_params.rbs +20 -0
- data/sig/revox/models/campaign_retrieve_response.rbs +1694 -0
- data/sig/revox/models/users/me_retrieve_response.rbs +8 -3
- data/sig/revox/models/users/me_update_response.rbs +8 -3
- data/sig/revox/models/voice_list_response.rbs +45 -3
- data/sig/revox/models/voice_preview_params.rbs +35 -1
- data/sig/revox/models/voice_retrieve_params.rbs +5 -1
- data/sig/revox/models.rbs +14 -2
- data/sig/revox/resources/assistants.rbs +54 -0
- data/sig/revox/resources/call.rbs +0 -6
- data/sig/revox/resources/campaigns.rbs +49 -0
- data/sig/revox/resources/voices.rbs +3 -0
- metadata +47 -8
- data/lib/revox/models/call_list_params.rb +0 -29
- data/lib/revox/models/call_list_response.rb +0 -197
- data/rbi/revox/models/call_list_params.rbi +0 -47
- data/rbi/revox/models/call_list_response.rbi +0 -401
- data/sig/revox/models/call_list_params.rbs +0 -28
- data/sig/revox/models/call_list_response.rbs +0 -171
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Revox
|
|
4
|
+
module Resources
|
|
5
|
+
class Campaigns
|
|
6
|
+
# Some parameter documentations has been truncated, see
|
|
7
|
+
# {Revox::Models::CampaignCreateParams} for more details.
|
|
8
|
+
#
|
|
9
|
+
# Create a new outbound calling campaign. By default the campaign launches
|
|
10
|
+
# immediately. Set launch to false to save as a draft for later review.
|
|
11
|
+
#
|
|
12
|
+
# @overload create(assistant_id:, contacts:, launch:, name:, type:, call_retry_config: nil, from_phone_number: nil, max_concurrent_calls: nil, scheduled_at: nil, request_options: {})
|
|
13
|
+
#
|
|
14
|
+
# @param assistant_id [String] The ID of the assistant to use
|
|
15
|
+
#
|
|
16
|
+
# @param contacts [Array<Revox::Models::CampaignCreateParams::Contact>] The list of contacts to call
|
|
17
|
+
#
|
|
18
|
+
# @param launch [Boolean] Whether to launch the campaign immediately. Set to false to save as a draft.
|
|
19
|
+
#
|
|
20
|
+
# @param name [String] The name of the campaign
|
|
21
|
+
#
|
|
22
|
+
# @param type [Symbol, Revox::Models::CampaignCreateParams::Type] Campaign type. 'jump_in' campaigns only dial while someone is on the campaign pa
|
|
23
|
+
#
|
|
24
|
+
# @param call_retry_config [Revox::Models::CampaignCreateParams::CallRetryConfig] Override retry configuration for calls in this campaign. If not provided, uses t
|
|
25
|
+
#
|
|
26
|
+
# @param from_phone_number [String] The phone number to use for outbound calls (E.164 format, e.g., +1234567890)
|
|
27
|
+
#
|
|
28
|
+
# @param max_concurrent_calls [Float] Maximum number of concurrent calls allowed for this campaign
|
|
29
|
+
#
|
|
30
|
+
# @param scheduled_at [Time, Object] Schedule all calls in this campaign to start at a specific date and time (ISO 86
|
|
31
|
+
#
|
|
32
|
+
# @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
33
|
+
#
|
|
34
|
+
# @return [Revox::Models::CampaignCreateResponse]
|
|
35
|
+
#
|
|
36
|
+
# @see Revox::Models::CampaignCreateParams
|
|
37
|
+
def create(params)
|
|
38
|
+
parsed, options = Revox::CampaignCreateParams.dump_request(params)
|
|
39
|
+
@client.request(
|
|
40
|
+
method: :post,
|
|
41
|
+
path: "campaigns",
|
|
42
|
+
body: parsed,
|
|
43
|
+
model: Revox::Models::CampaignCreateResponse,
|
|
44
|
+
options: options
|
|
45
|
+
)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# Retrieve the full details of a single campaign by its unique ID. Can be used to
|
|
49
|
+
# poll for campaign completion.
|
|
50
|
+
#
|
|
51
|
+
# @overload retrieve(id, request_options: {})
|
|
52
|
+
#
|
|
53
|
+
# @param id [String]
|
|
54
|
+
# @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
55
|
+
#
|
|
56
|
+
# @return [Revox::Models::CampaignRetrieveResponse]
|
|
57
|
+
#
|
|
58
|
+
# @see Revox::Models::CampaignRetrieveParams
|
|
59
|
+
def retrieve(id, params = {})
|
|
60
|
+
@client.request(
|
|
61
|
+
method: :get,
|
|
62
|
+
path: ["campaigns/%1$s", id],
|
|
63
|
+
model: Revox::Models::CampaignRetrieveResponse,
|
|
64
|
+
options: params[:request_options]
|
|
65
|
+
)
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# Retrieve all campaigns for your organization, including both active and
|
|
69
|
+
# completed ones.
|
|
70
|
+
#
|
|
71
|
+
# @overload list(request_options: {})
|
|
72
|
+
#
|
|
73
|
+
# @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
74
|
+
#
|
|
75
|
+
# @return [Revox::Models::CampaignListResponse]
|
|
76
|
+
#
|
|
77
|
+
# @see Revox::Models::CampaignListParams
|
|
78
|
+
def list(params = {})
|
|
79
|
+
@client.request(
|
|
80
|
+
method: :get,
|
|
81
|
+
path: "campaigns",
|
|
82
|
+
model: Revox::Models::CampaignListResponse,
|
|
83
|
+
options: params[:request_options]
|
|
84
|
+
)
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
# Permanently delete a campaign and all its associated rows. This action is
|
|
88
|
+
# irreversible. In-progress calls will not be affected, but no new calls will be
|
|
89
|
+
# placed.
|
|
90
|
+
#
|
|
91
|
+
# @overload delete(id, request_options: {})
|
|
92
|
+
#
|
|
93
|
+
# @param id [String]
|
|
94
|
+
# @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
95
|
+
#
|
|
96
|
+
# @return [Revox::Models::CampaignDeleteResponse]
|
|
97
|
+
#
|
|
98
|
+
# @see Revox::Models::CampaignDeleteParams
|
|
99
|
+
def delete(id, params = {})
|
|
100
|
+
@client.request(
|
|
101
|
+
method: :delete,
|
|
102
|
+
path: ["campaigns/%1$s", id],
|
|
103
|
+
model: Revox::Models::CampaignDeleteResponse,
|
|
104
|
+
options: params[:request_options]
|
|
105
|
+
)
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
# Cancel a running or scheduled campaign. Pending and queued calls will be
|
|
109
|
+
# aborted, while in-progress calls will be allowed to finish. Unlike deletion, the
|
|
110
|
+
# campaign and its rows are preserved for historical reference.
|
|
111
|
+
#
|
|
112
|
+
# @overload cancel(id, request_options: {})
|
|
113
|
+
#
|
|
114
|
+
# @param id [String]
|
|
115
|
+
# @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
116
|
+
#
|
|
117
|
+
# @return [Revox::Models::CampaignCancelResponse]
|
|
118
|
+
#
|
|
119
|
+
# @see Revox::Models::CampaignCancelParams
|
|
120
|
+
def cancel(id, params = {})
|
|
121
|
+
@client.request(
|
|
122
|
+
method: :post,
|
|
123
|
+
path: ["campaigns/%1$s/cancel", id],
|
|
124
|
+
model: Revox::Models::CampaignCancelResponse,
|
|
125
|
+
options: params[:request_options]
|
|
126
|
+
)
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
# Export all rows of a campaign as a CSV file for offline analysis or reporting.
|
|
130
|
+
#
|
|
131
|
+
# @overload export_rows(id, request_options: {})
|
|
132
|
+
#
|
|
133
|
+
# @param id [String]
|
|
134
|
+
# @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
135
|
+
#
|
|
136
|
+
# @return [Revox::Models::CampaignExportRowsResponse]
|
|
137
|
+
#
|
|
138
|
+
# @see Revox::Models::CampaignExportRowsParams
|
|
139
|
+
def export_rows(id, params = {})
|
|
140
|
+
@client.request(
|
|
141
|
+
method: :get,
|
|
142
|
+
path: ["campaigns/%1$s/export", id],
|
|
143
|
+
model: Revox::Models::CampaignExportRowsResponse,
|
|
144
|
+
options: params[:request_options]
|
|
145
|
+
)
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
# Retrieve all contact rows for a campaign. Useful for loading draft campaign data
|
|
149
|
+
# for editing.
|
|
150
|
+
#
|
|
151
|
+
# @overload get_rows(id, request_options: {})
|
|
152
|
+
#
|
|
153
|
+
# @param id [String]
|
|
154
|
+
# @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
155
|
+
#
|
|
156
|
+
# @return [Revox::Models::CampaignGetRowsResponse]
|
|
157
|
+
#
|
|
158
|
+
# @see Revox::Models::CampaignGetRowsParams
|
|
159
|
+
def get_rows(id, params = {})
|
|
160
|
+
@client.request(
|
|
161
|
+
method: :get,
|
|
162
|
+
path: ["campaigns/%1$s/rows", id],
|
|
163
|
+
model: Revox::Models::CampaignGetRowsResponse,
|
|
164
|
+
options: params[:request_options]
|
|
165
|
+
)
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
# @api private
|
|
169
|
+
#
|
|
170
|
+
# @param client [Revox::Client]
|
|
171
|
+
def initialize(client:)
|
|
172
|
+
@client = client
|
|
173
|
+
end
|
|
174
|
+
end
|
|
175
|
+
end
|
|
176
|
+
end
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Revox
|
|
4
4
|
module Resources
|
|
5
5
|
class Voices
|
|
6
|
-
#
|
|
6
|
+
# Retrieve details for a single voice by its unique ID and provider.
|
|
7
7
|
#
|
|
8
8
|
# @overload retrieve(id, provider:, request_options: {})
|
|
9
9
|
#
|
|
@@ -18,17 +18,18 @@ module Revox
|
|
|
18
18
|
# @see Revox::Models::VoiceRetrieveParams
|
|
19
19
|
def retrieve(id, params)
|
|
20
20
|
parsed, options = Revox::VoiceRetrieveParams.dump_request(params)
|
|
21
|
+
query = Revox::Internal::Util.encode_query_params(parsed)
|
|
21
22
|
@client.request(
|
|
22
23
|
method: :get,
|
|
23
24
|
path: ["voices/%1$s", id],
|
|
24
|
-
query:
|
|
25
|
+
query: query,
|
|
25
26
|
model: Revox::Models::VoiceRetrieveResponse,
|
|
26
27
|
options: options
|
|
27
28
|
)
|
|
28
29
|
end
|
|
29
30
|
|
|
30
|
-
#
|
|
31
|
-
#
|
|
31
|
+
# Retrieve all voices available for AI calls, including preset voices from
|
|
32
|
+
# Cartesia/ElevenLabs and your organization's cloned voices.
|
|
32
33
|
#
|
|
33
34
|
# @overload list(request_options: {})
|
|
34
35
|
#
|
|
@@ -46,15 +47,24 @@ module Revox
|
|
|
46
47
|
)
|
|
47
48
|
end
|
|
48
49
|
|
|
49
|
-
#
|
|
50
|
+
# Some parameter documentations has been truncated, see
|
|
51
|
+
# {Revox::Models::VoicePreviewParams} for more details.
|
|
50
52
|
#
|
|
51
|
-
#
|
|
53
|
+
# Generate a short audio preview for a given voice.
|
|
54
|
+
#
|
|
55
|
+
# @overload preview(provider:, voice_id:, model: nil, speed: nil, text: nil, volume: nil, request_options: {})
|
|
52
56
|
#
|
|
53
57
|
# @param provider [Symbol, Revox::Models::VoicePreviewParams::Provider] The provider to use for the preview.
|
|
54
58
|
#
|
|
55
59
|
# @param voice_id [String] The voice ID to generate a preview for.
|
|
56
60
|
#
|
|
57
|
-
# @param
|
|
61
|
+
# @param model [Symbol, Revox::Models::VoicePreviewParams::Model] Cartesia model for the preview. Defaults to sonic-3. Ignored for other providers
|
|
62
|
+
#
|
|
63
|
+
# @param speed [Float] Speed for preview. Cartesia 0.6–1.5, ElevenLabs 0.7–1.2. Default 1.0.
|
|
64
|
+
#
|
|
65
|
+
# @param text [String] Custom text for the preview. If omitted, a short default is used.
|
|
66
|
+
#
|
|
67
|
+
# @param volume [Float] Volume for Cartesia preview (0.5–2.0). Ignored for other providers.
|
|
58
68
|
#
|
|
59
69
|
# @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
60
70
|
#
|
data/lib/revox/version.rb
CHANGED
data/lib/revox.rb
CHANGED
|
@@ -64,10 +64,22 @@ require_relative "revox/models/assistant_update_params"
|
|
|
64
64
|
require_relative "revox/models/assistant_update_response"
|
|
65
65
|
require_relative "revox/models/call_create_params"
|
|
66
66
|
require_relative "revox/models/call_create_response"
|
|
67
|
-
require_relative "revox/models/call_list_params"
|
|
68
|
-
require_relative "revox/models/call_list_response"
|
|
69
67
|
require_relative "revox/models/call_retrieve_params"
|
|
70
68
|
require_relative "revox/models/call_retrieve_response"
|
|
69
|
+
require_relative "revox/models/campaign_cancel_params"
|
|
70
|
+
require_relative "revox/models/campaign_cancel_response"
|
|
71
|
+
require_relative "revox/models/campaign_create_params"
|
|
72
|
+
require_relative "revox/models/campaign_create_response"
|
|
73
|
+
require_relative "revox/models/campaign_delete_params"
|
|
74
|
+
require_relative "revox/models/campaign_delete_response"
|
|
75
|
+
require_relative "revox/models/campaign_export_rows_params"
|
|
76
|
+
require_relative "revox/models/campaign_export_rows_response"
|
|
77
|
+
require_relative "revox/models/campaign_get_rows_params"
|
|
78
|
+
require_relative "revox/models/campaign_get_rows_response"
|
|
79
|
+
require_relative "revox/models/campaign_list_params"
|
|
80
|
+
require_relative "revox/models/campaign_list_response"
|
|
81
|
+
require_relative "revox/models/campaign_retrieve_params"
|
|
82
|
+
require_relative "revox/models/campaign_retrieve_response"
|
|
71
83
|
require_relative "revox/models/users/me_retrieve_params"
|
|
72
84
|
require_relative "revox/models/users/me_retrieve_response"
|
|
73
85
|
require_relative "revox/models/users/me_update_params"
|
|
@@ -80,6 +92,7 @@ require_relative "revox/models/voice_retrieve_response"
|
|
|
80
92
|
require_relative "revox/models"
|
|
81
93
|
require_relative "revox/resources/assistants"
|
|
82
94
|
require_relative "revox/resources/call"
|
|
95
|
+
require_relative "revox/resources/campaigns"
|
|
83
96
|
require_relative "revox/resources/users"
|
|
84
97
|
require_relative "revox/resources/users/me"
|
|
85
98
|
require_relative "revox/resources/voices"
|
data/rbi/revox/client.rbi
CHANGED
data/rbi/revox/internal/util.rbi
CHANGED
|
@@ -144,12 +144,20 @@ module Revox
|
|
|
144
144
|
end
|
|
145
145
|
end
|
|
146
146
|
|
|
147
|
+
# https://www.rfc-editor.org/rfc/rfc3986.html#section-3.3
|
|
148
|
+
RFC_3986_NOT_PCHARS = T.let(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/, Regexp)
|
|
149
|
+
|
|
147
150
|
class << self
|
|
148
151
|
# @api private
|
|
149
152
|
sig { params(uri: URI::Generic).returns(String) }
|
|
150
153
|
def uri_origin(uri)
|
|
151
154
|
end
|
|
152
155
|
|
|
156
|
+
# @api private
|
|
157
|
+
sig { params(path: T.any(String, Integer)).returns(String) }
|
|
158
|
+
def encode_path(path)
|
|
159
|
+
end
|
|
160
|
+
|
|
153
161
|
# @api private
|
|
154
162
|
sig { params(path: T.any(String, T::Array[String])).returns(String) }
|
|
155
163
|
def interpolate_path(path)
|
|
@@ -295,6 +303,26 @@ module Revox
|
|
|
295
303
|
T.let(%r{^application/(:?x-(?:n|l)djson)|(:?(?:x-)?jsonl)}, Regexp)
|
|
296
304
|
|
|
297
305
|
class << self
|
|
306
|
+
# @api private
|
|
307
|
+
sig do
|
|
308
|
+
params(query: Revox::Internal::AnyHash).returns(
|
|
309
|
+
Revox::Internal::AnyHash
|
|
310
|
+
)
|
|
311
|
+
end
|
|
312
|
+
def encode_query_params(query)
|
|
313
|
+
end
|
|
314
|
+
|
|
315
|
+
# @api private
|
|
316
|
+
sig do
|
|
317
|
+
params(
|
|
318
|
+
collection: Revox::Internal::AnyHash,
|
|
319
|
+
key: String,
|
|
320
|
+
element: T.anything
|
|
321
|
+
).void
|
|
322
|
+
end
|
|
323
|
+
private def write_query_param_element!(collection, key, element)
|
|
324
|
+
end
|
|
325
|
+
|
|
298
326
|
# @api private
|
|
299
327
|
sig do
|
|
300
328
|
params(
|