class KepplerWatson::VisualRecognition

Your code goes here…

Public Class Methods

new(params) click to toggle source
# File lib/keppler_watson/visual_recognition.rb, line 10
def initialize(params)
  @api_key = params[:api_key]
  @version = params[:version]
  @lang = params[:lang]
end

Public Instance Methods

classify_image(image_url, classifier_ids='default') click to toggle source
# File lib/keppler_watson/visual_recognition.rb, line 16
def classify_image(image_url, classifier_ids='default')
  api_request(:get, :classify, params(image_url, classifier_ids))
end
classify_images(images_url, classifier_ids='default') click to toggle source
# File lib/keppler_watson/visual_recognition.rb, line 20
def classify_images(images_url, classifier_ids='default')
  api_request(:post, :classify, params_images(images_url, classifier_ids))
end
detect_face(images_url) click to toggle source
# File lib/keppler_watson/visual_recognition.rb, line 24
def detect_face(images_url)
  api_request(:get, :detect_faces, params_face(images_url))
end

Private Instance Methods

api_request(method, action, params) click to toggle source
# File lib/keppler_watson/visual_recognition.rb, line 54
def api_request(method, action, params)
  uri = URI.parse("#{api_url}/#{action.to_s}?#{params}")
  request = method_detect(method).new(uri)
  request['Accept-Language'] = @lang
  request.basic_auth("apikey", @api_key.to_s)
  req_options = { use_ssl: uri.scheme == "https", }
  response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
    http.request(request)
  end
  JSON.parse(response.body, object_class: OpenStruct)
end
api_url() click to toggle source
# File lib/keppler_watson/visual_recognition.rb, line 30
def api_url
  'https://gateway.watsonplatform.net/visual-recognition/api/v3'
end
method_detect(method) click to toggle source
# File lib/keppler_watson/visual_recognition.rb, line 46
def method_detect(method)
  if method.eql?(:get)
    Net::HTTP::Get
  elsif method.eql?(:post)
    Net::HTTP::Post
  end
end
params(image_url, classifier_ids='default') click to toggle source
# File lib/keppler_watson/visual_recognition.rb, line 34
def params(image_url, classifier_ids='default')
  "url=#{image_url}&classifier_ids=#{classifier_ids}&version=#{@version}"
end
params_face(image_url) click to toggle source
# File lib/keppler_watson/visual_recognition.rb, line 38
def params_face(image_url)
  "url=#{image_url}&version=#{@version}"
end
params_images(images_url, classifier_ids='default') click to toggle source
# File lib/keppler_watson/visual_recognition.rb, line 42
def params_images(images_url, classifier_ids='default')
  "images_file=#{images_url}&classifier_ids=#{classifier_ids}&version=#{@version}"
end