Class: UploadFuse::UploadsResource

Inherits:
Resource
  • Object
show all
Defined in:
lib/upload_fuse/resources/uploads.rb

Instance Attribute Summary

Attributes inherited from Resource

#client

Instance Method Summary collapse

Methods inherited from Resource

#initialize

Constructor Details

This class inherits a constructor from UploadFuse::Resource

Instance Method Details

#create_from_file(file:, file_name: nil) ⇒ Object



14
15
16
17
18
19
20
21
22
23
# File 'lib/upload_fuse/resources/uploads.rb', line 14

def create_from_file(file:, file_name: nil)
  content_type = Marcel::MimeType.for file

  # This method uses Faraday Multipart (lostisland/faraday-multipart)
  payload = {}
  payload[:file] = Faraday::Multipart::FilePart.new(file, content_type, file_name)

  response = client.connection_upload.post "uploads", payload
  Upload.new(JSON.parse(response.body)["data"]) if response.success?
end

#create_from_url(url:) ⇒ Object



25
26
27
28
# File 'lib/upload_fuse/resources/uploads.rb', line 25

def create_from_url(url:)
  response = post_request("uploads", body: {url: url})
  Upload.new(response.body["data"]) if response.success?
end

#delete(id:) ⇒ Object



30
31
32
33
# File 'lib/upload_fuse/resources/uploads.rb', line 30

def delete(id:)
  response = delete_request("uploads/#{id}")
  response.success?
end

#get(id:) ⇒ Object



9
10
11
12
# File 'lib/upload_fuse/resources/uploads.rb', line 9

def get(id:)
  response = get_request("uploads/#{id}")
  Upload.new(response.body["data"]) if response.success?
end

#listObject



4
5
6
7
# File 'lib/upload_fuse/resources/uploads.rb', line 4

def list
  response = get_request("uploads")
  Collection.from_response(response, type: Upload)
end