Class: Pinata::FilesResource
Instance Attribute Summary
Attributes inherited from Resource
#client
Instance Method Summary
collapse
Methods inherited from Resource
#initialize
Instance Method Details
#delete(file_id:) ⇒ Object
40
41
42
|
# File 'lib/pinata/resources/files.rb', line 40
def delete(file_id:)
File.new api_delete_request("files/#{file_id}").body.dig("data")
end
|
#get(file_id:) ⇒ Object
21
22
23
|
# File 'lib/pinata/resources/files.rb', line 21
def get(file_id:)
File.new api_get_request("files/#{file_id}").body.dig("data")
end
|
#list(**params) ⇒ Object
16
17
18
19
|
# File 'lib/pinata/resources/files.rb', line 16
def list(**params)
response = api_get_request("files", params: params)
Collection.from_response(response, key: "files", type: File)
end
|
#sign(gateway:, file_cid:, expires:, date: Time.now.to_i, url_method: "GET") ⇒ Object
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/pinata/resources/files.rb', line 25
def sign(gateway:, file_cid:, expires:, date: Time.now.to_i,
url_method: "GET")
payload = {
url: "https://#{gateway}/files/#{file_cid}",
date: date,
expires: expires,
method: url_method
}
api_post_request("files/sign", body: payload).body["data"]
end
|
#update(file_id:, **attributes) ⇒ Object
36
37
38
|
# File 'lib/pinata/resources/files.rb', line 36
def update(file_id:, **attributes)
File.new api_put_request("files/#{file_id}", body: attributes).body["data"]
end
|
#upload(file:, group_id: nil, name: nil, mime_type: nil, metadata: nil) ⇒ Object
5
6
7
8
9
10
11
12
13
14
|
# File 'lib/pinata/resources/files.rb', line 5
def upload(file:, group_id: nil, name: nil, mime_type: nil, metadata: nil)
validate(file: file)
mime_type ||= Marcel::MimeType.for(file)
payload = {file: Faraday::UploadIO.new(file, mime_type)}
payload[:name] = name unless name.nil?
payload[:group_id] = group_id unless group_id.nil?
payload[:keyvalues] = metadata unless metadata.nil?
File.new upload_post_request("files", body: payload,
headers: {"Content-Type" => "multipart/form-data"}).body["data"]
end
|
#validate(file:) ⇒ Object
44
45
46
|
# File 'lib/pinata/resources/files.rb', line 44
def validate(file:)
raise ArgumentError, "`file` is required" if file.nil?
end
|