class Arroyo::API::Client
Public Class Methods
new(access_key_id:, secret_access_key:, region:, bucket:)
click to toggle source
# File lib/arroyo/api/client.rb, line 7 def initialize(access_key_id:, secret_access_key:, region:, bucket:) @access_key_id = access_key_id @secret_access_key = secret_access_key @region = region @bucket = bucket end
Public Instance Methods
get(path) { |response| ... }
click to toggle source
# File lib/arroyo/api/client.rb, line 14 def get(path) request(:get, path).then { |response| yield response } end
Private Instance Methods
request(method, path)
click to toggle source
# File lib/arroyo/api/client.rb, line 19 def request(method, path) Request.new(method: method, url: url_for(path), signer: signer).perform end
signer()
click to toggle source
# File lib/arroyo/api/client.rb, line 27 def signer @signer ||= Aws::Sigv4::Signer.new \ access_key_id: @access_key_id, secret_access_key: @secret_access_key, region: @region, service: "s3" end
url_for(path)
click to toggle source
# File lib/arroyo/api/client.rb, line 23 def url_for(path) "https://#{@bucket}.s3.amazonaws.com/" + path.remove(/\A\//) end