Class: MaxApiClient::Upload

Inherits:
Object
  • Object
show all
Defined in:
lib/max_api_client/upload.rb,
sig/max_api_client.rbs

Overview

Upload helper that prepares files and sends them to upload endpoints.

Constant Summary collapse

DEFAULT_TIMEOUT =
20
BINARY_HEADERS =
{
  "Content-Type" => "application/x-binary; charset=x-user-defined",
  "X-Uploading-Mode" => "parallel",
  "Connection" => "keep-alive"
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(api) ⇒ Upload

Returns a new instance of Upload.

Parameters:



13
14
15
# File 'lib/max_api_client/upload.rb', line 13

def initialize(api)
  @api = api
end

Instance Method Details

#audio(source:, timeout: DEFAULT_TIMEOUT, filename: nil) ⇒ Object



27
28
29
# File 'lib/max_api_client/upload.rb', line 27

def audio(source:, timeout: DEFAULT_TIMEOUT, filename: nil)
  upload_from_source("audio", source, timeout:, filename:)
end

#file(source:, timeout: DEFAULT_TIMEOUT, filename: nil) ⇒ Object



31
32
33
# File 'lib/max_api_client/upload.rb', line 31

def file(source:, timeout: DEFAULT_TIMEOUT, filename: nil)
  upload_from_source("file", source, timeout:, filename:)
end

#image(source: nil, url: nil, timeout: DEFAULT_TIMEOUT, filename: nil) ⇒ Object



17
18
19
20
21
# File 'lib/max_api_client/upload.rb', line 17

def image(source: nil, url: nil, timeout: DEFAULT_TIMEOUT, filename: nil)
  return { url: } if url

  upload_from_source("image", source, timeout:, filename:)
end

#video(source:, timeout: DEFAULT_TIMEOUT, filename: nil) ⇒ Object



23
24
25
# File 'lib/max_api_client/upload.rb', line 23

def video(source:, timeout: DEFAULT_TIMEOUT, filename: nil)
  upload_from_source("video", source, timeout:, filename:)
end