class ImgurDirect::Api

Constants

API_URI
API_VERSION
CLIENT_ID

Public Class Methods

new(endpoint) click to toggle source
# File lib/imgur_direct/api.rb, line 9
def initialize(endpoint)
  @endpoint = endpoint
end

Public Instance Methods

urls(image_id) click to toggle source
# File lib/imgur_direct/api.rb, line 13
def urls(image_id)
  request_uri = "#{API_URI.request_uri}#{API_VERSION}/#{@endpoint}/#{image_id}"
  request  = Net::HTTP::Get.new(request_uri)
  request.add_field('Authorization', CLIENT_ID)

  response = web_client.request(request).body

  data = JSON.parse(response)
  if data['success'] && data['data']['images']
    data['data']['images'].map { |img| img['link'] }
  elsif data['success']
    Array(data['data']['link'])
  else
    raise data.to_s
  end
end

Private Instance Methods

web_client() click to toggle source
# File lib/imgur_direct/api.rb, line 32
def web_client
  http = Net::HTTP.new(API_URI.host, API_URI.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE # Ain't nobody got time for that :(
  http
end