Class: RunApi::Core::Uploads

Inherits:
Object
  • Object
show all
Includes:
ResourceHelpers
Defined in:
lib/runapi/core/uploads.rb

Defined Under Namespace

Classes: UploadObject, UploadPart

Constant Summary collapse

ENDPOINT =
"/v1/uploads"
RESPONSE_CLASS =
UploadObject

Instance Method Summary collapse

Constructor Details

#initialize(http) ⇒ Uploads

Returns a new instance of Uploads.



31
32
33
# File 'lib/runapi/core/uploads.rb', line 31

def initialize(http)
  @http = http
end

Instance Method Details

#add_part(upload_id, data:, file_name: nil, options: nil) ⇒ Object



39
40
41
42
43
44
45
# File 'lib/runapi/core/uploads.rb', line 39

def add_part(upload_id, data:, file_name: nil, options: nil)
  path = file_path(data)
  body = MultipartBody.new(
    files: {data: MultipartFile.new(path:, filename: file_name || File.basename(path))}
  )
  request(:post, "#{upload_path(upload_id)}/parts", body:, options:, response_class: UploadPart)
end

#cancel(upload_id, options: nil) ⇒ Object



51
52
53
# File 'lib/runapi/core/uploads.rb', line 51

def cancel(upload_id, options: nil)
  request(:post, "#{upload_path(upload_id)}/cancel", body: {}, options:)
end

#complete(upload_id, part_ids:, options: nil) ⇒ Object



47
48
49
# File 'lib/runapi/core/uploads.rb', line 47

def complete(upload_id, part_ids:, options: nil)
  request(:post, "#{upload_path(upload_id)}/complete", body: {part_ids:}, options:)
end

#create(bytes:, filename:, mime_type:, purpose: "user_data", options: nil) ⇒ Object



35
36
37
# File 'lib/runapi/core/uploads.rb', line 35

def create(bytes:, filename:, mime_type:, purpose: "user_data", options: nil)
  request(:post, ENDPOINT, body: {bytes:, filename:, mime_type:, purpose:}, options:)
end