Sha256: 2b8a1c5c864f4088df5dc4a75d1470a2b1abfe42c17cf361c390fca5b94f3f66

Contents?: true

Size: 926 Bytes

Versions: 1

Compression:

Stored size: 926 Bytes

Contents

# frozen_string_literal: true

module AtlasRb
  class Blob < Resource
    ROUTE = "/files/"
  end

  def self.find(id)
    connection({}).get(ROUTE + id)&.body
  end

  def self.create(id, blob_path)
    payload = { binary: Faraday::Multipart::FilePart.new(File.open(blob_path),
                                                         "application/octet-stream",
                                                         File.basename(blob_path)) }

    multipart({ work_id: id }).post(ROUTE, payload)&.body
  end

  def self.destroy(id)
    connection({}).delete(ROUTE + id)
  end

  def self.update(id, blob_path)
    payload = { binary: Faraday::Multipart::FilePart.new(File.open(blob_path),
                                                         "application/octet-stream",
                                                         File.basename(blob_path)) }
    multipart({}).patch(ROUTE + id, payload)&.body
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
atlas_rb-0.0.59 lib/atlas_rb/blob.rb