Class: AtlasRb::Blob
Constant Summary collapse
- ROUTE =
"/files/"
Class Method Summary collapse
- .content(id, &chunk_handler) ⇒ Object
- .create(id, blob_path, original_filename) ⇒ Object
- .destroy(id) ⇒ Object
- .find(id) ⇒ Object
- .update(id, blob_path) ⇒ Object
Methods inherited from Resource
Methods included from FaradayHelper
Class Method Details
.content(id, &chunk_handler) ⇒ Object
11 12 13 14 15 16 17 18 19 20 |
# File 'lib/atlas_rb/blob.rb', line 11 def self.content(id, &chunk_handler) headers = {} connection({}).get("#{ROUTE}#{id}/content") do |req| req..on_data = proc do |chunk, _bytes_received, env| headers = env.response_headers if headers.empty? && env chunk_handler.call(chunk) end end headers end |
.create(id, blob_path, original_filename) ⇒ Object
22 23 24 25 26 27 28 29 30 |
# File 'lib/atlas_rb/blob.rb', line 22 def self.create(id, blob_path, original_filename) payload = { work_id: id, original_filename: original_filename, binary: Faraday::Multipart::FilePart.new(File.open(blob_path), "application/octet-stream", File.basename(blob_path)) } JSON.parse(multipart({}).post(ROUTE, payload)&.body)['blob'] end |
.destroy(id) ⇒ Object
32 33 34 |
# File 'lib/atlas_rb/blob.rb', line 32 def self.destroy(id) connection({}).delete(ROUTE + id) end |
.find(id) ⇒ Object
7 8 9 |
# File 'lib/atlas_rb/blob.rb', line 7 def self.find(id) JSON.parse(connection({}).get(ROUTE + id)&.body)['blob'] end |
.update(id, blob_path) ⇒ Object
36 37 38 39 40 41 |
# File 'lib/atlas_rb/blob.rb', line 36 def self.update(id, blob_path) payload = { binary: Faraday::Multipart::FilePart.new(File.open(blob_path), "application/octet-stream", File.basename(blob_path)) } JSON.parse(multipart({}).patch(ROUTE + id, payload)&.body) end |