rest-api-client 0.1.2 → 0.1.3

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: 6d0d3a66eb999e725618dd566fc4dc445c9e71f1
4
- data.tar.gz: e6eddc0a73afdedb7ee701cf944fb6c91e71db26
3
+ metadata.gz: 8d01d93b618bb31e3a949ca9eb6b81bef05994ce
4
+ data.tar.gz: 4cd4fa9084f708fafad1a00448174bac4c2aec06
5
5
  SHA512:
6
- metadata.gz: d4f9fb6bd5a35a3b495e6f1e71eb77fb74c7e3a8944856b1153a7f0868361be15644249a05f0fff6cbb5dab23d6451e395b0d77c080c2cc44ddd2edc454c1d37
7
- data.tar.gz: 44b20e4d5aaa34c01dcf3a8ccd544fbb8a374fe1c0ddef8db062d486af40aea14b75cbbb182e835bde4cd93cdf109505ab2870d36f34c9499d770f037292891e
6
+ metadata.gz: 6d37f961276e07e915b8b0d6c492b75bda9372bfb8577eabf3dd31106031c241ebb0d2e1fd417ea1b28d4417b6210331bd872dd6eec17083d72509450b7e89d4
7
+ data.tar.gz: c48f75246be03a4e9929d876f400b2e50c046c9217d966b3a94c04b5db49ee481366b3876364dcf27463f81072bd8997f708e9a0d8b08304d338ca7b51fd5393
@@ -16,12 +16,18 @@ module RestApiClient
16
16
  PATH = ''
17
17
  SERVICE_KEY = ''
18
18
 
19
+ attr_reader :errors
20
+
19
21
  attribute :id, Integer
20
- attribute :created_at, Date
21
- attribute :updated_at, Date
22
+ attribute :created_at, DateTime
23
+ attribute :updated_at, DateTime
24
+
25
+ def self.list(params = {})
26
+ perform_get path, {:type => self, :params => params}
27
+ end
22
28
 
23
- def self.list
24
- perform_get path, {:type => self}
29
+ def self.count(params = {})
30
+ perform_get "#{path}/count", {:params => params}
25
31
  end
26
32
 
27
33
  def self.find(id)
@@ -33,9 +39,14 @@ module RestApiClient
33
39
  end
34
40
 
35
41
  def save!
36
- klazz = self.class
37
- response = perform_post path, {:type => klazz, :params => {get_model_name => self.attributes}}
38
- self.attributes = response && response.is_a?(klazz) ? response.attributes : {}
42
+ begin
43
+ klazz = self.class
44
+ response = perform_post path, {:type => klazz, :params => {get_model_name => self.attributes}}
45
+ self.attributes = response && response.is_a?(klazz) ? response.attributes : {}
46
+ rescue RestApiClient::ModelErrorsException => e
47
+ @errors = e.errors
48
+ return false
49
+ end
39
50
  end
40
51
 
41
52
  def delete
@@ -43,7 +54,14 @@ module RestApiClient
43
54
  end
44
55
 
45
56
  def update!
46
- perform_put "#{path}/#{id}", {:type => self.class, :params => self.attributes}
57
+ begin
58
+ klazz = self.class
59
+ response = perform_put "#{path}/#{id}", {:type => klazz, :params => {get_model_name => self.attributes}}
60
+ self.attributes = response && response.is_a?(klazz) ? response.attributes : {}
61
+ rescue RestApiClient::ModelErrorsException => e
62
+ @errors = e.errors
63
+ return false
64
+ end
47
65
  end
48
66
 
49
67
  def perform_get(path, args = {}, headers = {})
@@ -13,12 +13,16 @@ module RestApiClient
13
13
  json_data = json_response['data']
14
14
  end
15
15
 
16
- if json_data.kind_of?(Array) && data_type
17
- return json_data.map { |data| data_type.new data }
18
- elsif json_data.kind_of?(Hash) && data_type
19
- return data_type.new json_data
20
- else
16
+ if json_data.kind_of?(Array)
17
+ return json_data.map { |data| data_type.new data } if data_type
18
+ return json_data unless json_data.empty?
19
+
20
+ elsif json_data.kind_of?(Hash)
21
+ return data_type.new json_data if data_type
21
22
  return json_data unless json_data.empty?
23
+
24
+ else
25
+ return json_data
22
26
  end
23
27
  return json_response
24
28
 
@@ -1,3 +1,3 @@
1
1
  module RestApiClient
2
- VERSION = '0.1.2'
2
+ VERSION = '0.1.3'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rest-api-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Victor
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-06-08 00:00:00.000000000 Z
11
+ date: 2015-06-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client