class CognitiveVision::AnalyzeImage

Public Class Methods

analyze_image(image_url, types = [:faces]) click to toggle source
# File lib/cognitive_vision/analyze_image.rb, line 10
def self.analyze_image(image_url, types = [:faces])
  features = ImageFeatures.new(types)
  body     = { 'url' => image_url }
  params   = { 'visualFeatures' => features.features_string }
  response = Connection.new.post('/analyze', params, body)

  treat_errors(response) if response.code != 200
  AnalyzeResponse.parse(response.body, features)
end
treat_errors(response) click to toggle source
# File lib/cognitive_vision/analyze_image.rb, line 20
def self.treat_errors(response)
  case response.body['code']
  when 'InvalidImageSize'
    raise(InvalidImageSizeError, response.body['message'])
  when 'InvalidImageUrl'
    raise(InvalidImageUrlError, response.body['message'])
  else
    raise(UnknownError, response.body['message'])
  end
end