granite 0.11.1 → 0.12.0
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 +4 -4
- data/lib/granite/action.rb +16 -8
- data/lib/granite/represents/attribute.rb +1 -1
- data/lib/granite/version.rb +1 -1
- metadata +29 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8f01fbcec194a3031c22582899a7ff0210d2b621aa149a5ccf7814a3a70540ea
|
4
|
+
data.tar.gz: c763544b18d4feb43a5502df2e661dce313c304f47543978be095e4e72afc863
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '099c76956322fe11a1118dc25a1fffbc0553018d1abf660d7c6270256f40505a3d93be01e57df0d7502c767c09d961fcf3361a7281315296e6abb9c512a38a9f'
|
7
|
+
data.tar.gz: 9b1b66eca75f4ff623319d1828cbec2b987c36050fb70598a8a14ea7edd760da38eb61c89f0a4de3b706875b68a16dccefe22333c3ac8edbe5b80864e04f4aca
|
data/lib/granite/action.rb
CHANGED
@@ -50,20 +50,28 @@ module Granite
|
|
50
50
|
prepend AssignAttributes
|
51
51
|
|
52
52
|
handle_exception ActiveRecord::RecordInvalid do |e|
|
53
|
-
|
54
|
-
(this + other).uniq
|
55
|
-
end
|
53
|
+
merge_errors(e.record.errors)
|
56
54
|
end
|
57
55
|
|
58
56
|
handle_exception ActiveData::ValidationError do |e|
|
59
|
-
|
60
|
-
(this + other).uniq
|
61
|
-
end
|
57
|
+
merge_errors(e.model.errors)
|
62
58
|
end
|
63
59
|
|
64
60
|
handle_exception Granite::Action::ValidationError do |e|
|
65
|
-
|
66
|
-
|
61
|
+
merge_errors(e.action.errors)
|
62
|
+
end
|
63
|
+
|
64
|
+
if ActiveModel.version < Gem::Version.new('6.1.0')
|
65
|
+
def merge_errors(other_errors)
|
66
|
+
errors.messages.deep_merge!(other_errors.messages) do |_, this, other|
|
67
|
+
(this + other).uniq
|
68
|
+
end
|
69
|
+
end
|
70
|
+
else
|
71
|
+
def merge_errors(other_errors)
|
72
|
+
other_errors.each do |error|
|
73
|
+
errors.import(error) unless errors.added?(error.attribute, error)
|
74
|
+
end
|
67
75
|
end
|
68
76
|
end
|
69
77
|
|
data/lib/granite/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: granite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.12.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Toptal Engineering
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-12-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionpack
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
version: '5.1'
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: '
|
22
|
+
version: '7.1'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,21 +29,21 @@ dependencies:
|
|
29
29
|
version: '5.1'
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: '
|
32
|
+
version: '7.1'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: active_data
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: 1.
|
39
|
+
version: 1.2.0
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: 1.
|
46
|
+
version: 1.2.0
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: activesupport
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -53,7 +53,7 @@ dependencies:
|
|
53
53
|
version: '5.1'
|
54
54
|
- - "<"
|
55
55
|
- !ruby/object:Gem::Version
|
56
|
-
version: '
|
56
|
+
version: '7.1'
|
57
57
|
type: :runtime
|
58
58
|
prerelease: false
|
59
59
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -63,7 +63,7 @@ dependencies:
|
|
63
63
|
version: '5.1'
|
64
64
|
- - "<"
|
65
65
|
- !ruby/object:Gem::Version
|
66
|
-
version: '
|
66
|
+
version: '7.1'
|
67
67
|
- !ruby/object:Gem::Dependency
|
68
68
|
name: memoist
|
69
69
|
requirement: !ruby/object:Gem::Requirement
|
@@ -84,20 +84,28 @@ dependencies:
|
|
84
84
|
requirements:
|
85
85
|
- - ">="
|
86
86
|
- !ruby/object:Gem::Version
|
87
|
-
version: '
|
88
|
-
- - "<"
|
89
|
-
- !ruby/object:Gem::Version
|
90
|
-
version: '6.1'
|
87
|
+
version: '0'
|
91
88
|
type: :development
|
92
89
|
prerelease: false
|
93
90
|
version_requirements: !ruby/object:Gem::Requirement
|
94
91
|
requirements:
|
95
92
|
- - ">="
|
96
93
|
- !ruby/object:Gem::Version
|
97
|
-
version: '
|
98
|
-
|
94
|
+
version: '0'
|
95
|
+
- !ruby/object:Gem::Dependency
|
96
|
+
name: appraisal
|
97
|
+
requirement: !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
99
|
+
- - ">="
|
99
100
|
- !ruby/object:Gem::Version
|
100
|
-
version: '
|
101
|
+
version: '0'
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
requirements:
|
106
|
+
- - ">="
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: '0'
|
101
109
|
- !ruby/object:Gem::Dependency
|
102
110
|
name: capybara
|
103
111
|
requirement: !ruby/object:Gem::Requirement
|
@@ -294,8 +302,8 @@ dependencies:
|
|
294
302
|
- - "~>"
|
295
303
|
- !ruby/object:Gem::Version
|
296
304
|
version: '0.15'
|
297
|
-
description:
|
298
|
-
email:
|
305
|
+
description:
|
306
|
+
email:
|
299
307
|
executables: []
|
300
308
|
extensions: []
|
301
309
|
extra_rdoc_files: []
|
@@ -375,7 +383,7 @@ homepage: https://github.com/toptal/granite
|
|
375
383
|
licenses:
|
376
384
|
- MIT
|
377
385
|
metadata: {}
|
378
|
-
post_install_message:
|
386
|
+
post_install_message:
|
379
387
|
rdoc_options: []
|
380
388
|
require_paths:
|
381
389
|
- lib
|
@@ -390,8 +398,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
390
398
|
- !ruby/object:Gem::Version
|
391
399
|
version: '0'
|
392
400
|
requirements: []
|
393
|
-
rubygems_version: 3.
|
394
|
-
signing_key:
|
401
|
+
rubygems_version: 3.2.29
|
402
|
+
signing_key:
|
395
403
|
specification_version: 4
|
396
404
|
summary: Another business actions architecture for Rails apps
|
397
405
|
test_files: []
|