kiik 0.1.6 → 0.1.7

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: a8998be7b8baba07f66b96c691d57d3f3e0da93b
4
- data.tar.gz: f9943d6dd97f205948ab7bf3ad2d9cceda0f9c2b
3
+ metadata.gz: d9db3e2d275e408ccbe15e36ce8a02aae81862c2
4
+ data.tar.gz: f0125173d02ee5d254826298e98868fd81ccd203
5
5
  SHA512:
6
- metadata.gz: 735f3b9f243e7221eb809b3821d3f3189e9043404c1f8afdcc3844fd7838225a94c7b55b7608b326bc5c21e3b6e6b7b8d41a9c84fbf8f76c371d8dd12997258b
7
- data.tar.gz: 2f1bddd6b7a03e08c6b94af29d5181fb6b851d19798a8c3f89490c9de6563354e0941e58d53b31ae554b7a56de8b462762ae6355c294d12842bf69c8b6bfbd5d
6
+ metadata.gz: adeeead3cb6e34a72e5c3b9b9b60cac48e9368abceb9c6c474ea0965e11cdd275091bf72d7d4550dd0f2af9acd1f9def974cb4c53ea3b79ba53a22bcce8e88ab
7
+ data.tar.gz: 5f450c094c5c5866ad50bfaf5f3b96521dc963f0f4359874567085e5f9c27cf94949a6ef34347c2f1813b18192e02917cc203864dd96d8aa6b05424b438b5991
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- kiik (0.1.6)
4
+ kiik (0.1.7)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/kiik.gemspec CHANGED
@@ -2,7 +2,7 @@ $:.unshift(File.join(File.dirname(__FILE__), 'lib'))
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = 'kiik'
5
- s.version = '0.1.6'
5
+ s.version = '0.1.7'
6
6
  s.summary = 'Integrate Kiik with your Ruby app'
7
7
  s.description = "KiiK's official gem that helps you to integrate with our services. See https://docs.kiik.com.br for details."
8
8
  s.authors = ['Julien Lucca', 'Esdras Eduardo']
data/lib/kiik/error.rb CHANGED
@@ -2,11 +2,18 @@ module Kiik
2
2
  class KiikError < StandardError
3
3
  attr_reader :errors
4
4
  def initialize(body = nil)
5
- @errors = body.nil? ? [] : [{attr: body['error']['param'], message: body['error']['message']}]
5
+ @errors = body.nil? || body["errors"].nil? ? [] : body["errors"].map{ |error| symbolize_keys(error) }
6
6
  end
7
7
 
8
8
  def to_s
9
- @errors.map{ |e| e[:message] }.join(", ")
9
+ @errors.map{ |e| e[:param].nil? ? e[:message] : "#{e[:param]}: #{e[:message]}" }.join(", ")
10
10
  end
11
+
12
+ private
13
+
14
+ def symbolize_keys(hash)
15
+ Hash[hash.map{|(k,v)| [k.to_sym,v]}]
16
+ end
17
+
11
18
  end
12
19
  end
data/lib/kiik/resource.rb CHANGED
@@ -14,13 +14,13 @@ module Kiik
14
14
  "#{Kiik.host}/#{Kiik::Util.underscore(class_name)}s"
15
15
  end
16
16
 
17
- def opts
17
+ def opts(headers={})
18
18
  {
19
19
  basic_auth: {username: Kiik.api_key, password: ''},
20
20
  headers: {
21
21
  "Accept-Version" => Kiik.version,
22
22
  "Content-Type" => 'application/json'
23
- }
23
+ }.merge(headers)
24
24
  }
25
25
  end
26
26
 
@@ -30,8 +30,8 @@ module Kiik
30
30
  instance
31
31
  end
32
32
 
33
- def request(path=nil, params={}, method=:GET)
34
- options = opts.merge!(body: JSON.generate(params))
33
+ def request(path=nil, params={}, method=:GET, header={})
34
+ options = opts(header).merge(body: JSON.generate(params))
35
35
  url_abs = path.nil? ? url : "#{url}/#{path}"
36
36
 
37
37
  response = case method
@@ -50,7 +50,6 @@ module Kiik
50
50
  build(JSON.parse(response.body))
51
51
  when 422, 404
52
52
  result = JSON.parse(response.body)
53
- result["error"]["param"] = "id" unless result["error"]["param"]
54
53
  KiikError.new(result)
55
54
  else
56
55
  raise StandardError.new(response.message)
@@ -24,9 +24,9 @@ module Kiik
24
24
 
25
25
  module ClassMethods
26
26
 
27
- def create!(params={})
27
+ def create!(params={}, header={})
28
28
  begin
29
- create(params)
29
+ create(params, header)
30
30
  rescue KiikError => e
31
31
  build(params, e)
32
32
  rescue StandardError => e
@@ -34,8 +34,8 @@ module Kiik
34
34
  end
35
35
  end
36
36
 
37
- def create(params={})
38
- result = request(nil, params, :POST)
37
+ def create(params={}, header={})
38
+ result = request(nil, params, :POST, header)
39
39
  raise result if result.kind_of? StandardError
40
40
  result
41
41
  end
@@ -24,9 +24,9 @@ module Kiik
24
24
 
25
25
  module ClassMethods
26
26
 
27
- def update!(params={id: 0})
27
+ def update!(params={id: 0}, header={})
28
28
  begin
29
- update(params)
29
+ update(params, header)
30
30
  rescue KiikError => e
31
31
  build(params, e)
32
32
  rescue StandardError => e
@@ -34,8 +34,8 @@ module Kiik
34
34
  end
35
35
  end
36
36
 
37
- def update(params={id: 0})
38
- result = request(params[:id], params, :PUT)
37
+ def update(params={id: 0}, header={})
38
+ result = request(params[:id], params, :PUT, header)
39
39
  raise result if result.kind_of? StandardError
40
40
  result
41
41
  end
@@ -4,7 +4,7 @@ module Kiik
4
4
  class CustomerTest < Test::Unit::TestCase
5
5
 
6
6
  should "raise exception for create empty customer" do
7
- respond = {error: {type:"invalid_request_error", param:"name", message:"Param name is required"}}
7
+ respond = {errors: [{type:"invalid_request_error", param:"name", message:"Param name is required"}]}
8
8
  post({}, respond, 422)
9
9
  assert_raise KiikError do
10
10
  Kiik::Customer.create
@@ -12,7 +12,7 @@ module Kiik
12
12
  end
13
13
 
14
14
  should "return invalid customer for create! empty customer" do
15
- respond = {error: {type:"invalid_request_error", param:"name", message:"Param name is required"}}
15
+ respond = {errors: [{type:"invalid_request_error", param:"name", message:"Param name is required"}]}
16
16
  post({}, respond, 422)
17
17
  customer = Kiik::Customer.create!
18
18
  assert !customer.valid?
@@ -45,7 +45,7 @@ module Kiik
45
45
  end
46
46
 
47
47
  should "raise exception for update with customer doesn't exists, code 404" do
48
- error = {error: {type:"invalid_request_error", message:"Customer doesn't exists"}}
48
+ error = {errors: [{type:"invalid_request_error", message:"Customer doesn't exists"}]}
49
49
  put(0, {}, error, 422)
50
50
  assert_raise KiikError do
51
51
  Kiik::Customer.update
@@ -53,11 +53,10 @@ module Kiik
53
53
  end
54
54
 
55
55
  should "return invalid customer for update! empty customer" do
56
- error = {error: {type:"invalid_request_error", message:"Customer doesn't exists"}}
56
+ error = {errors: [{type:"invalid_request_error", message:"Customer doesn't exists"}]}
57
57
  put(0, {}, error, 422)
58
58
  customer = Kiik::Customer.update!
59
59
  assert !customer.valid?
60
- assert_equal customer.errors.first[:attr], "id"
61
60
  assert_equal customer.errors.first[:message], "Customer doesn't exists"
62
61
  end
63
62
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kiik
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julien Lucca
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-11-19 00:00:00.000000000 Z
12
+ date: 2015-12-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mocha