rest-api-client 0.1.3 → 0.1.4

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: 8d01d93b618bb31e3a949ca9eb6b81bef05994ce
4
- data.tar.gz: 4cd4fa9084f708fafad1a00448174bac4c2aec06
3
+ metadata.gz: 5069e3daa5c61dceebeb4f93e59f32239731fe58
4
+ data.tar.gz: 468f2e61ebfef05c11c630b8d6de5f6223f63c89
5
5
  SHA512:
6
- metadata.gz: 6d37f961276e07e915b8b0d6c492b75bda9372bfb8577eabf3dd31106031c241ebb0d2e1fd417ea1b28d4417b6210331bd872dd6eec17083d72509450b7e89d4
7
- data.tar.gz: c48f75246be03a4e9929d876f400b2e50c046c9217d966b3a94c04b5db49ee481366b3876364dcf27463f81072bd8997f708e9a0d8b08304d338ca7b51fd5393
6
+ metadata.gz: b9c15a16b6a2e4ce70ce26c424155a9da0e52821fefa03ef1cca06d2ad04114d97374caad3c84addb83f7f190417338d299637df81610b11ad65cd5f888f7775
7
+ data.tar.gz: 52ec3359f9d1dcd9c52af1958db0bd95c5e0814bccaef57b8adcbd904e6250360e47cbcff2dd9184aa721c6020605c27afe9f67b8057b16680b024f22accdb06
@@ -1,3 +1,3 @@
1
1
  module RestApiClient
2
- VERSION = '0.1.3'
2
+ VERSION = '0.1.4'
3
3
  end
@@ -40,9 +40,18 @@ module RestApiClient
40
40
 
41
41
  def save!
42
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 : {}
43
+ update_attributes(perform_post path, get_params)
44
+ self
45
+ rescue RestApiClient::ModelErrorsException => e
46
+ @errors = e.errors
47
+ raise e
48
+ end
49
+ end
50
+
51
+ def save
52
+ begin
53
+ update_attributes(perform_post path, get_params)
54
+ self
46
55
  rescue RestApiClient::ModelErrorsException => e
47
56
  @errors = e.errors
48
57
  return false
@@ -53,17 +62,26 @@ module RestApiClient
53
62
  perform_delete "#{path}/#{id}"
54
63
  end
55
64
 
56
- def update!
65
+ def update
57
66
  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 : {}
67
+ update_attributes(perform_put "#{path}/#{id}", get_params)
68
+ self
61
69
  rescue RestApiClient::ModelErrorsException => e
62
70
  @errors = e.errors
63
71
  return false
64
72
  end
65
73
  end
66
74
 
75
+ def update!
76
+ begin
77
+ update_attributes(perform_put "#{path}/#{id}", get_params)
78
+ self
79
+ rescue RestApiClient::ModelErrorsException => e
80
+ @errors = e.errors
81
+ raise e
82
+ end
83
+ end
84
+
67
85
  def perform_get(path, args = {}, headers = {})
68
86
  RequestsHandler.perform_get(service_key, path, args, headers)
69
87
  end
@@ -116,6 +134,15 @@ module RestApiClient
116
134
  id == other.id
117
135
  end
118
136
 
137
+ private
138
+ def get_params
139
+ {:type => self.class, :params => {get_model_name => self.attributes}}
140
+ end
141
+
142
+ def update_attributes(response)
143
+ self.attributes = response && response.is_a?(self.class) ? response.attributes : {}
144
+ end
145
+
119
146
  end
120
147
 
121
148
  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.3
4
+ version: 0.1.4
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-17 00:00:00.000000000 Z
11
+ date: 2015-06-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client