class Progimage::Client

Constants

API_ENDPOINT

Public Class Methods

fetch_image(id) click to toggle source
# File lib/progimage/client.rb, line 9
def fetch_image(id)
  request(
    http_method: :get,
    endpoint: "images/#{id}"
  )
end
transform_image(id, specs = {}) click to toggle source
# File lib/progimage/client.rb, line 26
def transform_image(id, specs = {})
  request(
    http_method: :post,
    endpoint: "images/#{id}/transform",
    params: {
      specs: specs,
    }
  )
end
upload_image(file) click to toggle source
# File lib/progimage/client.rb, line 16
def upload_image(file)
  request(
    http_method: :post,
    endpoint: "images",
    params: {
      file: file,
    }
  )
end

Private Class Methods

client() click to toggle source
# File lib/progimage/client.rb, line 38
def client
  @_client ||= Faraday.new(url: API_ENDPOINT) do |client|
    client.request :url_encoded
    client.adapter Faraday.default_adapter
  end
end
request(http_method:, endpoint:, params: {}) click to toggle source
# File lib/progimage/client.rb, line 45
def request(http_method:, endpoint:, params: {})
  response = client.public_send(http_method, endpoint, params)
  JSON.parse(response.body)
end