kiik 0.1.6 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/kiik.gemspec +1 -1
- data/lib/kiik/error.rb +9 -2
- data/lib/kiik/resource.rb +4 -5
- data/lib/kiik/rest/create.rb +4 -4
- data/lib/kiik/rest/update.rb +4 -4
- data/test/kiik/customer_test.rb +4 -5
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d9db3e2d275e408ccbe15e36ce8a02aae81862c2
|
4
|
+
data.tar.gz: f0125173d02ee5d254826298e98868fd81ccd203
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: adeeead3cb6e34a72e5c3b9b9b60cac48e9368abceb9c6c474ea0965e11cdd275091bf72d7d4550dd0f2af9acd1f9def974cb4c53ea3b79ba53a22bcce8e88ab
|
7
|
+
data.tar.gz: 5f450c094c5c5866ad50bfaf5f3b96521dc963f0f4359874567085e5f9c27cf94949a6ef34347c2f1813b18192e02917cc203864dd96d8aa6b05424b438b5991
|
data/Gemfile.lock
CHANGED
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.
|
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?
|
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
|
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)
|
data/lib/kiik/rest/create.rb
CHANGED
@@ -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
|
data/lib/kiik/rest/update.rb
CHANGED
@@ -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
|
data/test/kiik/customer_test.rb
CHANGED
@@ -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 = {
|
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 = {
|
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 = {
|
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 = {
|
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.
|
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-
|
12
|
+
date: 2015-12-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: mocha
|