rest-api-client 0.1.3 → 0.1.4

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