class Ammado::Api

Attributes

default_images_folder[RW]
host[RW]
key[RW]
secret[RW]

Public Class Methods

new(opts) click to toggle source
# File lib/ammado/api.rb, line 16
def initialize(opts)
  @key = opts[:key]
  @secret = opts[:secret]
  @host = opts[:host]
  @default_images_folder = opts[:default_images_folder]
end

Public Instance Methods

get(endpoint, params) click to toggle source
# File lib/ammado/api.rb, line 51
def get(endpoint, params)
  log('Ammado GET')
  log('Endpoint: ' + endpoint)
  log('Params: ' + params.to_s)

  full_url = [@host + endpoint, URI.encode_www_form(params)].compact.join('?')
  uri = URI(full_url)
  response = Net::HTTP.get_response(uri)
  log('Got response: ' + response.body)

  return [response.code, ActiveSupport::JSON.decode(response.body)]
end
log(message) click to toggle source
# File lib/ammado/api.rb, line 64
def log(message)
  Rails.logger.info(message)
end
post(endpoint, params) click to toggle source
# File lib/ammado/api.rb, line 23
def post(endpoint, params)
  log('Ammado POST')
  log('Endpoint: ' + endpoint)
  log('Params: ' + params.to_s)

  uri = URI(@host + endpoint)
  response = Net::HTTP.post_form(uri, params)
  log('Got response: ' + response.body)

  return [response.code, ActiveSupport::JSON.decode(response.body)]
end
post_multipart(endpoint, params) click to toggle source
# File lib/ammado/api.rb, line 35
def post_multipart(endpoint, params)
  log('Ammado POST file')
  log('Endpoint: ' + endpoint)
  log('Params: ' + params.to_s)

  uri = URI(@host + endpoint)

  request = Net::HTTP::Post::Multipart.new(uri.path, params)
  response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|
    http.request(request)
  end

  log('Got response: ' + response.body)
  return [response.code, ActiveSupport::JSON.decode(response.body)]
end