imagga_auto_tag 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e4641b1a4efb8144d051899306c267d815af2b56
4
- data.tar.gz: 68caa48fab91beecd93d3fe9deea06f65c02de6a
3
+ metadata.gz: ba0f79257f3870199b4fe58456689d1a662df130
4
+ data.tar.gz: e9bac6cf0ea659bd41bc3ebfbbd4a6d9ec3faa1e
5
5
  SHA512:
6
- metadata.gz: dfff46a628f1958c5adfe6d658a84adb18a532bfdb894a7fc11c4f2c7af2bdf4a79a4468e452bb94d07aeb378a4e9b44173297a17edb55a99ff0ab533258d93e
7
- data.tar.gz: ae4ae9f7f9434ff21b989bfa4bd2408e2f062c048e6c869cba83cf1af9e538956894189b9c04254e84c284cd284066755f5d19a1d76fef4345b83ccb36950bf9
6
+ metadata.gz: 9f1006744a9f922271ebb57105b1b90863e011d113a85be8bf6021080884b61e9c58a4b7584413057c6853cbb34d395280bf321f20c97d91bde508d98c95b573
7
+ data.tar.gz: 8e2654c3102ae01a2c9637b16754550f95d0d3922dc328a60b94e1eda9d0f704c0d43f09855040e96e2dda949c5f52546b290c4dc3707034e20c8c369c1439ae
data/README.md CHANGED
@@ -21,7 +21,7 @@ Or install it yourself as:
21
21
  ## Usage
22
22
 
23
23
  ```ruby
24
- client = ImaggaAutoTag::Client.new(your_imagga_api_key)
24
+ client = ImaggaAutoTag::Client.new(your_imagga_api_key, your_imagga_api_secret)
25
25
  results = client.fetch("http://static.ddmcdn.com/gif/landscape-photography-1.jpg")
26
26
 
27
27
  results.tags
@@ -47,3 +47,7 @@ results.to_csv
47
47
  3. Commit your changes (`git commit -am 'Add some feature'`)
48
48
  4. Push to the branch (`git push origin my-new-feature`)
49
49
  5. Create a new Pull Request
50
+
51
+ ## Version
52
+
53
+ **0.2.0** : Change the API endpoint and the way authentication is done.
@@ -8,9 +8,8 @@ Gem::Specification.new do |spec|
8
8
  spec.version = ImaggaAutoTag::VERSION
9
9
  spec.authors = ["Luke Chesser"]
10
10
  spec.email = ["luke@unsplash.com"]
11
- spec.summary = %q{Imagga Auto Tagging API client}
12
- spec.description = %q{Ruby wrapper around the Imagga Auto Tagging API}
13
- spec.homepage = "https://github.com/lukechesser/imagga-auto-tag"
11
+ spec.summary = %q{Simple wrapper around the Imagga Auto Tagging API}
12
+ spec.homepage = ""
14
13
  spec.license = "MIT"
15
14
 
16
15
  spec.files = `git ls-files -z`.split("\x0")
@@ -1,23 +1,38 @@
1
+ require 'base64'
2
+
1
3
  module ImaggaAutoTag
2
4
 
3
5
  class Client
4
6
 
5
- IMAGGA_API_BASE_URL = "https://api.imagga.com" || ENV['IMAGGA_API_BASE_URL']
6
- IMAGGA_API_TAG_PATH = "/draft/tags" || ENV['IMAGGA_API_TAG_PATH']
7
+ IMAGGA_API_BASE_URL = "https://api.imagga.com"
8
+ IMAGGA_API_TAG_PATH = "/v1/tagging"
7
9
 
8
10
  attr_reader :response
9
11
 
10
- def initialize(api_key)
11
- @api_key = api_key
12
- @conn = Faraday.new(:url => IMAGGA_API_BASE_URL)
12
+ # Initialize a new client to fetch information from IMAGGA
13
+ #
14
+ # ==== Attributes
15
+ # * +api_key+ `String` of your IMAGGA api key
16
+ # * +api_secret+ `String` of your IMAGGA api secret
17
+ #
18
+ # ===== Examples
19
+ # client = ImaggaAutoTag::Client.new(api_key, api_secret)
20
+ def initialize(api_key, api_secret)
21
+ @conn = Faraday.new(url: IMAGGA_API_BASE_URL)
22
+ @conn.basic_auth api_key, api_secret
13
23
  end
14
24
 
25
+ # Fetch the JSON information for a specific image
26
+ #
27
+ # ==== Attributes
28
+ # * +url+ `String` of the image URL to analyse
29
+ #
30
+ # ==== Examples
31
+ # # Create a new client
32
+ # client = ImaggaAutoTag::Client.new(api_key, api_secret)
33
+ # client.fetch(image_url_string)
15
34
  def fetch(url)
16
- @response = @conn.get do |req|
17
- req.url IMAGGA_API_TAG_PATH
18
- req.params['api_key'] = @api_key
19
- req.params['url'] = url
20
- end
35
+ @response = @conn.get IMAGGA_API_TAG_PATH, {url: url}
21
36
 
22
37
  TaggedImage.new(@response)
23
38
  end
@@ -5,11 +5,15 @@ module ImaggaAutoTag
5
5
  attr_reader :status, :tags
6
6
 
7
7
  def initialize(api_response)
8
+ # The response from Imagga is now wrap in a results envelop
9
+ #
10
+ # ==== Result
11
+ # { "results" => [{ "image" => "", "tags" => [{}, {}, {}] }] }
8
12
  body = JSON.parse(api_response.body)
9
13
 
10
14
  @tags = []
11
15
 
12
- body['tags'].each do |tag|
16
+ body['results'][0]['tags'].each do |tag|
13
17
  @tags.push Tag.new(tag)
14
18
  end
15
19
 
@@ -1,3 +1,3 @@
1
1
  module ImaggaAutoTag
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -5,7 +5,7 @@ describe "An Imagga Auto Tag API" do
5
5
  context "client" do
6
6
 
7
7
  before(:each) do
8
- @client = ImaggaAutoTag::Client.new(ENV['IMAGGA_API_KEY'])
8
+ @client = ImaggaAutoTag::Client.new(ENV['IMAGGA_API_KEY'], ENV['IMAGGA_API_SECRET'])
9
9
  end
10
10
 
11
11
  it "connects" do
@@ -22,7 +22,7 @@ describe "An Imagga Auto Tag API" do
22
22
 
23
23
  before do
24
24
  VCR.use_cassette('image') do
25
- @client = ImaggaAutoTag::Client.new(ENV['IMAGGA_API_KEY'])
25
+ @client = ImaggaAutoTag::Client.new(ENV['IMAGGA_API_KEY'], ENV['IMAGGA_API_SECRET'])
26
26
  @results = @client.fetch("http://static.ddmcdn.com/gif/landscape-photography-1.jpg")
27
27
  end
28
28
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: imagga_auto_tag
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luke Chesser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-10 00:00:00.000000000 Z
11
+ date: 2015-04-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -108,7 +108,7 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
- description: Ruby wrapper around the Imagga Auto Tagging API
111
+ description:
112
112
  email:
113
113
  - luke@unsplash.com
114
114
  executables: []
@@ -130,7 +130,7 @@ files:
130
130
  - spec/cassettes/image.yml
131
131
  - spec/imagga_auto_tag_spec.rb
132
132
  - spec/spec_helper.rb
133
- homepage: https://github.com/lukechesser/imagga-auto-tag
133
+ homepage: ''
134
134
  licenses:
135
135
  - MIT
136
136
  metadata: {}
@@ -153,7 +153,7 @@ rubyforge_project:
153
153
  rubygems_version: 2.2.2
154
154
  signing_key:
155
155
  specification_version: 4
156
- summary: Imagga Auto Tagging API client
156
+ summary: Simple wrapper around the Imagga Auto Tagging API
157
157
  test_files:
158
158
  - spec/cassettes/image.yml
159
159
  - spec/imagga_auto_tag_spec.rb