Skip to content
This repository was archived by the owner on Apr 1, 2025. It is now read-only.

Commit 0b93b65

Browse files
committed
Manually patch undesired changes
1 parent cef4e76 commit 0b93b65

File tree

4 files changed

+68
-3
lines changed

4 files changed

+68
-3
lines changed

.fernignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
# Specify files that shouldn't be modified by Fern
22

33
README.md
4+
.gitignore
45
test/
56

67
<!-- Allow for the polling client -->
78
lib/assemblyai.rb
89
lib/assemblyai/transcripts/polling_client.rb
9-
lib/assemblyai/transcripts/listing_client.rb
10+
lib/assemblyai/transcripts/list_by_url_client.rb
1011
lib/assemblyai/transcripts/types/polling_options.rb
1112

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@
88
/tmp/
99
*.gem
1010
.env
11+
/.idea

lib/assemblyai/files/client.rb

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,16 @@ def initialize(request_client:)
1717

1818
# Upload your media file directly to the AssemblyAI API if it isn't accessible via a URL already.
1919
#
20+
# @param request [String] Base64 encoded bytes
2021
# @param request_options [RequestOptions]
2122
# @return [Files::UploadedFile]
22-
def upload(request_options: nil)
23+
def upload(request:, request_options: nil)
2324
response = @request_client.conn.post("/v2/upload") do |req|
2425
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
2526
req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
2627
req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
28+
req.headers["Content-Type"] = "application/octet-stream"
29+
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
2730
end
2831
Files::UploadedFile.from_json(json_object: response.body)
2932
end
@@ -41,14 +44,17 @@ def initialize(request_client:)
4144

4245
# Upload your media file directly to the AssemblyAI API if it isn't accessible via a URL already.
4346
#
47+
# @param request [String] Base64 encoded bytes
4448
# @param request_options [RequestOptions]
4549
# @return [Files::UploadedFile]
46-
def upload(request_options: nil)
50+
def upload(request:, request_options: nil)
4751
Async do
4852
response = @request_client.conn.post("/v2/upload") do |req|
4953
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
5054
req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
5155
req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
56+
req.headers["Content-Type"] = "application/octet-stream"
57+
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
5258
end
5359
Files::UploadedFile.from_json(json_object: response.body)
5460
end
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# frozen_string_literal: true
2+
3+
require_relative "../../requests"
4+
require_relative "types/transcript_list"
5+
require "async"
6+
7+
module AssemblyAI
8+
# :nodoc:
9+
class TranscriptsClient
10+
# Retrieve a list of transcripts you created, this is used for pagination to easily retrieve the next page of transcripts
11+
#
12+
# @param url [String] The URL to retrieve the transcript list from
13+
# @param request_options [RequestOptions]
14+
# @return [Transcripts::TranscriptList]
15+
#
16+
# @example Retrieve the next page of results
17+
# client = AssemblyAI::Client.new(api_key: "YOUR_API_KEY")
18+
# transcript_list = client.transcripts.list(limit: 1)
19+
# client.transcripts.list_by_url(url: transcript_list.page_details.next_url)
20+
def list_by_url(url: nil, request_options: nil)
21+
url = "/v2/transcript" if url.nil?
22+
response = @request_client.conn.get(url) do |req|
23+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
24+
req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
25+
req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
26+
end
27+
Transcripts::TranscriptList.from_json(json_object: response.body)
28+
end
29+
end
30+
31+
# :nodoc:
32+
class AsyncTranscriptsClient
33+
# Retrieve a list of transcripts you created
34+
#
35+
# @param url [String] The URL to retrieve the transcript list from
36+
# @param request_options [RequestOptions]
37+
# @return [Transcripts::TranscriptList]
38+
#
39+
# @example Retrieve the next page of results
40+
# client = AssemblyAI::AsyncClient.new(api_key: "YOUR_API_KEY")
41+
# Sync do
42+
# transcript_list = client.transcripts.list(limit: 1).wait
43+
# client.transcripts.list_by_url(url: transcript_list.page_details.next_url)
44+
# end
45+
def list_by_url(url: nil, request_options: nil)
46+
Async do
47+
url = "/v2/transcript" if url.nil?
48+
response = @request_client.conn.get(url) do |req|
49+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
50+
req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
51+
req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
52+
end
53+
Transcripts::TranscriptList.from_json(json_object: response.body)
54+
end
55+
end
56+
end
57+
end

0 commit comments

Comments
 (0)