Class: Qrdot::AssetsResource

Inherits:
Object
  • Object
show all
Defined in:
lib/qrdot/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ AssetsResource

Returns a new instance of AssetsResource.



137
138
139
# File 'lib/qrdot/client.rb', line 137

def initialize(client)
  @c = client
end

Instance Method Details

#complete_logo(id, filename: nil) ⇒ Object



147
148
149
150
151
152
153
154
155
# File 'lib/qrdot/client.rb', line 147

def (id, filename: nil)
  complete = {}
  complete[:filename] = filename if filename
  @c.request(
    "POST",
    "/v1/assets/logo/#{URI.encode_www_form_component(id)}/complete",
    body: complete
  )
end

#delete_logo(id) ⇒ Object



165
166
167
# File 'lib/qrdot/client.rb', line 165

def (id)
  @c.request("DELETE", "/v1/assets/logo/#{URI.encode_www_form_component(id)}")
end

#get_logo(id) ⇒ Object



161
162
163
# File 'lib/qrdot/client.rb', line 161

def (id)
  @c.request("GET", "/v1/assets/logo/#{URI.encode_www_form_component(id)}")
end

#list_logosObject



157
158
159
# File 'lib/qrdot/client.rb', line 157

def list_logos
  @c.request("GET", "/v1/assets/logo")
end

#presign_logo(content_type, filename: nil) ⇒ Object



141
142
143
144
145
# File 'lib/qrdot/client.rb', line 141

def (content_type, filename: nil)
  body = { content_type: content_type }
  body[:filename] = filename if filename
  @c.request("POST", "/v1/assets/logo/presign", body: body)
end

#upload_logo(bytes, content_type, filename: nil) ⇒ Object



169
170
171
172
173
174
175
176
# File 'lib/qrdot/client.rb', line 169

def (bytes, content_type, filename: nil)
  presign = (content_type, filename: filename)
  status = @c.put_external(presign["upload_url"], bytes, presign["headers"] || {})
  if status < 200 || status >= 300
    raise ApiError.new("internal", "Logo storage upload failed (#{status})", status)
  end
  (presign["asset_id"], filename: filename)
end