active_form_objects 2.1.3 → 2.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 +4 -4
- data/lib/dsl/error_handling.rb +3 -2
- data/lib/dsl/hooks.rb +6 -0
- data/lib/handlers/hooks.rb +6 -0
- data/lib/handlers/savings.rb +6 -1
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e8035dcb27f78b8e96f423efa20368bf9a458a10254cf11daac46ac5da94f2e5
|
4
|
+
data.tar.gz: 8547c9553340dcc67451b6f0a5eddfe21db24ebeddcd5064f1627344f6070ce6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '08eecf07d908b7940c5611beb5676e629ddc6761bea108fca62689a90b2ec614cc6cfe3f2e65f0bb6f4544fc8b5fa7ff77986ff51658c8cf21969a4aa4a824d5'
|
7
|
+
data.tar.gz: 4fab25d2fa5c139d5db542dc14bdc52c190ea4fad92c76cdbe985215eeb2333b79dc443e85f19fc3a77c2084e40e0343ad1e487ee569866dcea563ef9b36894f
|
data/lib/dsl/error_handling.rb
CHANGED
@@ -6,8 +6,9 @@ module Dsl
|
|
6
6
|
record = (e.try(:record) || e.model)
|
7
7
|
initial_messages = record.errors.messages.as_json
|
8
8
|
record.errors.clear
|
9
|
-
|
10
|
-
|
9
|
+
initial_messages.each do |i|
|
10
|
+
record.errors.add(form, i)
|
11
|
+
end
|
11
12
|
raise ActiveModel::ValidationError, record
|
12
13
|
end
|
13
14
|
end
|
data/lib/dsl/hooks.rb
CHANGED
@@ -8,6 +8,7 @@ module Dsl
|
|
8
8
|
@@before_save = {}
|
9
9
|
@@after_save = {}
|
10
10
|
@@after_validation = {}
|
11
|
+
@@after_commit = {}
|
11
12
|
|
12
13
|
class_methods do
|
13
14
|
def before_save(*params, &block)
|
@@ -24,6 +25,11 @@ module Dsl
|
|
24
25
|
hooks = block.present? ? [block] : params
|
25
26
|
@@after_validation[name] = (@@after_validation[name] || []) + hooks
|
26
27
|
end
|
28
|
+
|
29
|
+
def after_commit(*params, &block)
|
30
|
+
hooks = block.present? ? [block] : params
|
31
|
+
@@after_commit[name] = (@@after_commit[name] || []) + hooks
|
32
|
+
end
|
27
33
|
end
|
28
34
|
end
|
29
35
|
end
|
data/lib/handlers/hooks.rb
CHANGED
data/lib/handlers/savings.rb
CHANGED
@@ -14,8 +14,9 @@ module Handlers
|
|
14
14
|
after_validations_hooks!
|
15
15
|
block ? save_with_block!(block) : save_without_block!
|
16
16
|
after_save_hooks!
|
17
|
-
@resource
|
18
17
|
end
|
18
|
+
after_commit_hooks!
|
19
|
+
@resource
|
19
20
|
rescue ActiveRecord::RecordInvalid => e
|
20
21
|
e.record.errors.add(e.record.class.name, '')
|
21
22
|
raise ActiveRecord::RecordInvalid.new(e.record)
|
@@ -40,5 +41,9 @@ module Handlers
|
|
40
41
|
AfterValidationsHooks.handle(@klass)
|
41
42
|
Polymorphs.handle(@klass)
|
42
43
|
end
|
44
|
+
|
45
|
+
def after_commit_hooks!
|
46
|
+
AfterCommitHooks.handle(@klass)
|
47
|
+
end
|
43
48
|
end
|
44
49
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_form_objects
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michaël Villeneuve
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-11-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -142,8 +142,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
142
142
|
- !ruby/object:Gem::Version
|
143
143
|
version: '0'
|
144
144
|
requirements: []
|
145
|
-
|
146
|
-
rubygems_version: 2.7.3
|
145
|
+
rubygems_version: 3.1.2
|
147
146
|
signing_key:
|
148
147
|
specification_version: 4
|
149
148
|
summary: A step toward an hexagonal Rails architecture
|