acfs 0.22.0.rc1.b186 → 0.22.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- OTU5NWU1NDVmYWM2ZWQ2MjEzNWVlMzVjZTAyOGZhNzYxNzM3YjRlNw==
5
- data.tar.gz: !binary |-
6
- NTNkZGIxNzFkYWQ5Y2I5NWQ3ZjYxMDEyNGMxODE3NDQyYjVjMTc0YQ==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- NzEwMTRmYjY1MWZlMzdiMmU3ZGEzMDdlNWMzNmM2Y2VjOTJmODJiYzdlZjQw
10
- MzhlMTBhOWNkNmE2YzE0YTRiMDM4NDc1ZGExNTgxODU0NzY3Mjg1NDVlMmQ3
11
- NzM1ZDA2NmE4OWJkMTAwYmJhZTZkNjcyM2YxM2Q2M2JkYmE0YjU=
12
- data.tar.gz: !binary |-
13
- YjYzYTFhNTE5OTc3Mjc4YzRhMDViZDFiMmE5NjRmMDlkZDllYzg1MGU5MzE4
14
- YmE5YmU5ODZmYzZlNTQxMjkzMzUzNmYwNzIxNGM2Y2EwYmZhOWQ4MTNjYWNj
15
- YzhmMTEyZDQzNzA4MzdlM2FkZjFjMWU4ZDJmMzExMWI1Y2I0MzM=
2
+ SHA1:
3
+ metadata.gz: 3aebdbcc97905f085e126790f64c58ccacb60bd4
4
+ data.tar.gz: f4abc2d6572adb3bfd697169b1a0ef536f2ad405
5
+ SHA512:
6
+ metadata.gz: f7db7903192a9f13ed62fec89af22564b5eb23b8e9569eea674e74bb1d5146df681a5149b09c2180bd63e2a1fc4b6657e19985906b69aad40c39f0b0383867d2
7
+ data.tar.gz: 7f66f6c7bec1d4616176d9ec88dbb53e1fa0e36e3def8b5c544478bde3e04fe367916a3d832202c6cabe6421733ec26147d765c93f5fa42c5b34395c7e6f7321
@@ -84,6 +84,11 @@ module Acfs
84
84
  operation (new? ? :create : :update), opts do |data|
85
85
  update_with data
86
86
  end
87
+ rescue InvalidResource => err
88
+ (err.errors || []).each do |field, errors|
89
+ self.errors.set field, errors
90
+ end
91
+ raise err
87
92
  end
88
93
 
89
94
  # @api public
@@ -216,12 +221,7 @@ module Acfs
216
221
  #
217
222
  def create(data, opts = {})
218
223
  model = new
219
- model.save! opts.merge data: data
220
- model
221
- rescue InvalidResource => err
222
- (err.errors || []).each do |field, errors|
223
- model.errors.set field, errors
224
- end
224
+ model.save opts.merge data: data
225
225
  model
226
226
  end
227
227
  end
@@ -3,7 +3,7 @@ module Acfs
3
3
  MAJOR = 0
4
4
  MINOR = 22
5
5
  PATCH = 0
6
- STAGE = 'rc1'
6
+ STAGE = nil
7
7
 
8
8
  STRING = [MAJOR, MINOR, PATCH, STAGE].reject(&:nil?).join('.')
9
9
 
@@ -158,6 +158,25 @@ describe Acfs::Model::Persistence do
158
158
  end
159
159
  end
160
160
 
161
+ describe '.save!' do
162
+ context 'with invalid data validated on server side' do
163
+ let(:model) { model_class.find 1 }
164
+ before { model; Acfs.run }
165
+
166
+ before do
167
+ stub_request(:put, 'http://users.example.org/users/1')
168
+ .with(body: '{"id":1,"name":"","age":12}')
169
+ .to_return response({ errors: { name: [ 'required' ] }}, status: 422)
170
+ end
171
+
172
+ it 'should set local errors hash' do
173
+ model.name = ''
174
+ model.save! rescue nil
175
+ expect(model.errors.to_hash).to be == { name: %w(required) }.stringify_keys
176
+ end
177
+ end
178
+ end
179
+
161
180
  describe '.create!' do
162
181
  context 'with valid data' do
163
182
  let(:data) { { name: 'Idefix', age: 12 } }
metadata CHANGED
@@ -1,97 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acfs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.22.0.rc1.b186
4
+ version: 0.22.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Graichen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-18 00:00:00.000000000 Z
11
+ date: 2013-09-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '3.1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ! '>='
24
+ - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '3.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activemodel
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ! '>='
31
+ - - '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '3.1'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ! '>='
38
+ - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '3.1'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: actionpack
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ! '>='
45
+ - - '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '3.1'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ! '>='
52
+ - - '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.1'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: multi_json
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ! '>='
59
+ - - '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ! '>='
66
+ - - '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: typhoeus
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ! '>='
73
+ - - '>='
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ! '>='
80
+ - - '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rack
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ! '>='
87
+ - - '>='
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ! '>='
94
+ - - '>='
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
@@ -211,14 +211,14 @@ require_paths:
211
211
  - lib
212
212
  required_ruby_version: !ruby/object:Gem::Requirement
213
213
  requirements:
214
- - - ! '>='
214
+ - - '>='
215
215
  - !ruby/object:Gem::Version
216
216
  version: '0'
217
217
  required_rubygems_version: !ruby/object:Gem::Requirement
218
218
  requirements:
219
- - - ! '>'
219
+ - - '>='
220
220
  - !ruby/object:Gem::Version
221
- version: 1.3.1
221
+ version: '0'
222
222
  requirements: []
223
223
  rubyforge_project:
224
224
  rubygems_version: 2.0.3
@@ -252,3 +252,4 @@ test_files:
252
252
  - spec/spec_helper.rb
253
253
  - spec/support/response.rb
254
254
  - spec/support/service.rb
255
+ has_rdoc: