cognitive_vision 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YTIzZTE2NDNlNTRjOWZmYzU4OTEyY2E1ZWVkNjIzOGE2NGM1MTU3NA==
4
+ NDI3ZDdhODY3MDVmNTY0ZmU0Zjc3OGQ2N2Y0NGU2ZmViZDZkOTFjMw==
5
5
  data.tar.gz: !binary |-
6
- ZWI2ODllZDljYzY5NmYzZmE3NGY2MThkNzczOTU1YzlmNjEzODdkNA==
6
+ OGUzMjVhODc0YzY1YjNhYjc4YmNmMmI1ZGQ0ZDZhOTUwYjk1MjAwMA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NzdiZjIwNGFjY2RiNjJjM2I3NWVkYTYwNDNlZmQyMTc5NDkzNDRjNGNhMjEx
10
- M2Q1OGYyNWM2ODcwOTZhOTMwODUxZTQ4OWMyYWY4MDE1NzZkOTU1Y2U5MTRh
11
- NjU1MGQyMDM4OTI5ZTNhZTEwN2I2YThmNjViMzRlODY3M2I4N2I=
9
+ OGFmMzFmMDVjMjkyYTE2MjcwZjdmMWY0OWI5NmYyODU4Y2JkYzEyOTA0YjU3
10
+ YjljOWQ2ODg5N2RmYjE1OWQ3OWJiZTU2YTkzYjY4OWMyZGI5MWI1ZTFlODdh
11
+ Mjc5NmQ3YTg3MmM0NDkyYWU0NTc1NjBjMzk4Mzk1MzVmZDQwOWE=
12
12
  data.tar.gz: !binary |-
13
- ZDJjZjQwZjcwYWEyMTdiNjJiOTNmNjFmNmMwNWI2OWEwNDMzNzIwNmE1NDJm
14
- YTYyY2M2MTkzZGJlNjczNTI0NjAzNGRlYmQzOTA5MWNhYzVmMTJhYzI3ODc2
15
- N2VmZWExODZlY2VlOTlhY2MxOTEzMDc0MGNhNTg2NWZlMDM4MzA=
13
+ MzdmYzFkNGYzYjVlMzRiZGQ5ZmI2OTVjMTQwZmQzYTJlNTYxNGNkMjM4MjAx
14
+ OWU5ZDdjN2UwZDliN2MyZDk3ZDMwNjQ1MDE5MWUwMzI2YTgyZDZiZTU5ZDY1
15
+ NWM0YTgyZjE4ZjIxYzEwNTkzZjM2NWY0ZDdlNGQ2ZWY2ZmE5OTY=
@@ -1,6 +1,7 @@
1
1
  require 'cognitive_vision/version'
2
2
  require 'cognitive_vision/configuration'
3
3
  require 'cognitive_vision/connection'
4
+ require 'cognitive_vision/adult'
4
5
  require 'cognitive_vision/face'
5
6
  require 'cognitive_vision/analyze_response'
6
7
  require 'cognitive_vision/analyze_image'
@@ -0,0 +1,20 @@
1
+ module CognitiveVision
2
+ class Adult
3
+ attr_reader :adult_score, :racy_score
4
+
5
+ def initialize(options = {})
6
+ @adult_content = options.fetch(:adult_content)
7
+ @adult_score = options.fetch(:adult_score)
8
+ @racy_content = options.fetch(:racy_content)
9
+ @racy_score = options.fetch(:racy_score)
10
+ end
11
+
12
+ def adult_content?
13
+ @adult_content
14
+ end
15
+
16
+ def racy_content?
17
+ @racy_content
18
+ end
19
+ end
20
+ end
@@ -7,9 +7,10 @@ module CognitiveVision
7
7
  class InvalidImageUrlError < StandardError; end
8
8
  class UnknownError < StandardError; end
9
9
 
10
- def self.analyze_image(image_url)
10
+ def self.analyze_image(image_url, types = [:faces])
11
+ types = [types] unless types.is_a?(Array)
11
12
  body = { 'url' => image_url }
12
- params = { 'visualFeatures' => 'Faces' }
13
+ params = { 'visualFeatures' => types.join(',') }
13
14
  response = Connection.new.post('/analyze', params, body)
14
15
 
15
16
  treat_errors(response) if response.code != 200
@@ -1,14 +1,21 @@
1
1
  module CognitiveVision
2
2
  class AnalyzeResponse
3
- attr_reader :faces
3
+ attr_reader :adult, :faces
4
4
 
5
5
  def initialize(options = {})
6
+ @adult = options.fetch(:adult, {})
6
7
  @faces = options.fetch(:faces, [])
7
8
  end
8
9
 
9
10
  def self.parse(response_hash)
10
- faces = response_hash['faces'].map { |face| Face.new(gender: face['gender'], age: face['age']) }
11
- new(faces: faces)
11
+ faces = (response_hash['faces'] || []).map { |face| Face.new(gender: face['gender'], age: face['age']) }
12
+ adult = if response_hash['adult']
13
+ adult_response = response_hash['adult']
14
+ Adult.new(adult_content: adult_response['isAdultContent'],
15
+ racy_content: adult_response['isRacyContent'], adult_score: adult_response['adultScore'],
16
+ racy_score: adult_response['racyScore'])
17
+ end
18
+ new(faces: faces, adult: adult)
12
19
  end
13
20
  end
14
21
  end
@@ -1,3 +1,3 @@
1
1
  module CognitiveVision
2
- VERSION = '0.2.1'.freeze
2
+ VERSION = '0.3.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cognitive_vision
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carlos Ribeiro
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-09-05 00:00:00.000000000 Z
11
+ date: 2016-09-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -170,6 +170,7 @@ files:
170
170
  - bin/setup
171
171
  - cognitive_vision.gemspec
172
172
  - lib/cognitive_vision.rb
173
+ - lib/cognitive_vision/adult.rb
173
174
  - lib/cognitive_vision/analyze_image.rb
174
175
  - lib/cognitive_vision/analyze_response.rb
175
176
  - lib/cognitive_vision/configuration.rb