acfs 0.21.1 → 0.22.0.b190
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 +14 -6
- data/lib/acfs/model/persistence.rb +6 -6
- data/lib/acfs/version.rb +2 -2
- data/spec/acfs/model/persistance_spec.rb +19 -0
- metadata +17 -18
checksums.yaml
CHANGED
@@ -1,7 +1,15 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
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
|
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
@@ -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.
|
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-
|
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:
|
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:
|