Websites/app/logical/storage_manager/bunny.rb
2024-05-02 22:04:43 -05:00

30 lines
699 B
Ruby

# frozen_string_literal: true
module StorageManager
class Bunny
attr_reader :base_url, :access_key, :storage_zone_name
def initialize(base_url:, access_key:, storage_zone_name:)
@base_url = base_url
@access_key = access_key
@storage_zone_name = storage_zone_name
end
def request
Requests::Bunny.new(access_key: access_key, storage_zone_name: storage_zone_name)
end
delegate :delete, :exists?, :get, :put, to: :request
def upload(path, body)
r = put(path, body)
return nil unless r.success?
"#{base_url}/#{path}"
end
def url_for(entry)
"#{base_url}/#{entry.stripped_md5}.#{entry.filetype}"
end
end
end