active_form_objects 2.1.3 → 2.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 70fae9d4bfd4ab4a8be0fb5078bc76df2fa26aa7dd8fe84ecfc8da4222ed13f3
4
- data.tar.gz: 7a5d4015059b41d4e731209a7791862e9afe2ad3b81787b47f2453cefa738f31
3
+ metadata.gz: e8035dcb27f78b8e96f423efa20368bf9a458a10254cf11daac46ac5da94f2e5
4
+ data.tar.gz: 8547c9553340dcc67451b6f0a5eddfe21db24ebeddcd5064f1627344f6070ce6
5
5
  SHA512:
6
- metadata.gz: 838f6f1568eec8a9c16516fa9ccd7c30d98a9a54bb7885ccd90c324d24c770549df7f3f2ba17ba0551e259be6f29fa15effcd0e1819e0f72f9e89b5cd3da2020
7
- data.tar.gz: 006365a9ac48e75bb38237b45da7ef7e4b8ad65d0229e6a339c026abf43bda3e7067bf2cad6236d6c71b9e7a2d0bfa622d8b7a969759d92243ba4bea43a224b7
6
+ metadata.gz: '08eecf07d908b7940c5611beb5676e629ddc6761bea108fca62689a90b2ec614cc6cfe3f2e65f0bb6f4544fc8b5fa7ff77986ff51658c8cf21969a4aa4a824d5'
7
+ data.tar.gz: 4fab25d2fa5c139d5db542dc14bdc52c190ea4fad92c76cdbe985215eeb2333b79dc443e85f19fc3a77c2084e40e0343ad1e487ee569866dcea563ef9b36894f
@@ -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
- record.errors.messages[form] = initial_messages
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
@@ -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
@@ -39,4 +39,10 @@ module Handlers
39
39
  handle_hooks('after_validation')
40
40
  end
41
41
  end
42
+
43
+ class AfterCommitHooks < BeforeSaveHooks
44
+ def handle
45
+ handle_hooks('after_commit')
46
+ end
47
+ end
42
48
  end
@@ -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.3
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: 2019-10-30 00:00:00.000000000 Z
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
- rubyforge_project:
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