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