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 +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
|