acfs 0.21.1 → 0.22.0.b190

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: f9e830db4b4193bd1ebdffdbdba28191ff30227e
4
- data.tar.gz: 8630d769c877519428fa0dd9f653ff2fdb8fed99
5
- SHA512:
6
- metadata.gz: 977b4902ddf515f7c32e7435f96a020973c93857b0eee761feff5fea1d7cbf02daecba865a68a788509757b0f1b133ed5a78d882ff06dead7520fee54bcadb03
7
- data.tar.gz: 849169850f97ea4dcbfc8298374e3c5d85fe656c10b52e6a2c17573a7fc7225558034b093e6aa92e8d9c2656ff7e5c60449a2d38a5549464833576270a8f9021
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NTFjMmFjOTUzY2NkMDBmMzM2ZGIzNmUwZmY5YTRkZDYyMzQzMDY1ZQ==
5
+ data.tar.gz: !binary |-
6
+ ZjQ0MThlM2VhZWQ2MGFmYzQ3NWM4N2VkNWZkZDc1OTI2Y2NhZDVjYg==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ MzUwMDY3MGMyMDc5YmU5MzllNWM4OWQ4MjMyYjQwNjcxYjk3OGExNDQxYTEw
10
+ MjUzMDM1MGYxMTdjMDc1ODdmZTVhOWJmODYwM2E1OWQyN2VkNDAxYjhmZDI5
11
+ NjIwZTBiOGU5OGZjZDk5NmQ3NjBiY2MwNTVjN2I0ODgwMjhiMmQ=
12
+ data.tar.gz: !binary |-
13
+ YjRlMzgwNzFhZThkMWRjYjg4MmFhNjFkMjIyODQxYzIxZGFhYTU4YjdlNTY5
14
+ ZWEwZGIwOGIwMmFlMTJkYzc0N2VlNDBkMzFhN2U2NTg1NDE3YzY1MmYwYWFh
15
+ NWE0NDAzZDk5ZGE0ZmVhY2EzOGI3NDMyOGEyYWY3NzhiY2Q4MWY=
@@ -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
data/lib/acfs/version.rb CHANGED
@@ -1,8 +1,8 @@
1
1
  module Acfs
2
2
  module VERSION
3
3
  MAJOR = 0
4
- MINOR = 21
5
- PATCH = 1
4
+ MINOR = 22
5
+ PATCH = 0
6
6
  STAGE = nil
7
7
 
8
8
  STRING = [MAJOR, MINOR, PATCH, STAGE].reject(&:nil?).join('.')
@@ -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.21.1
4
+ version: 0.22.0.b190
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: '0'
221
+ version: 1.3.1
222
222
  requirements: []
223
223
  rubyforge_project:
224
224
  rubygems_version: 2.0.3
@@ -252,4 +252,3 @@ test_files:
252
252
  - spec/spec_helper.rb
253
253
  - spec/support/response.rb
254
254
  - spec/support/service.rb
255
- has_rdoc: