yaaf 0.2.0 → 1.0.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/README.md +1 -1
- data/lib/yaaf/form.rb +5 -20
- data/lib/yaaf/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 150ad0da1d4e4e76783819e3432e566ffae9be4894228d6dbca3540a1f8641b2
|
4
|
+
data.tar.gz: 01ad2b7331b363ded0cc2ee06c07dd63b1ce35917e614dc2bbd881963fd990aa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ad0fcc36cfeff881a36f9c89e2729ebb05523691e03546669091e322ef28f2b189a4d66f4141c48b11c19ff2fbbdfa917f0cdd34d1ca8c3a1383b4b4039b3801
|
7
|
+
data.tar.gz: c6a0535f1dfa8db916d2a2bb6d7c05b8d20272090440e124975775ab59f79d8bce4a2ac650109992bd5bc184c45491a28fbfdee7dd90e05abf09b2ded73502ae
|
data/README.md
CHANGED
@@ -50,7 +50,7 @@ If you want to learn more about Form Objects you can check out [these great arti
|
|
50
50
|
|
51
51
|
### Why YAAF?
|
52
52
|
|
53
|
-
- It is [
|
53
|
+
- It is [60 lines long](https://github.com/rootstrap/yaaf/blob/master/lib/yaaf/form.rb#L60). As you can imagine, we did no magic in such a few lines of code, we just leveraged Rails modules in order to provide our form objects with a Rails-like behavior. You can review the code, it's easy to understand.
|
54
54
|
|
55
55
|
- It provides a similar API to `ActiveModel` models so you can treat them interchangeably.
|
56
56
|
|
data/lib/yaaf/form.rb
CHANGED
@@ -30,18 +30,6 @@ module YAAF
|
|
30
30
|
|
31
31
|
attr_accessor :models
|
32
32
|
|
33
|
-
def promote_errors(model)
|
34
|
-
if rails_version_less_than_6_1?
|
35
|
-
model.errors.each do |attribute, message|
|
36
|
-
errors.add(attribute, message)
|
37
|
-
end
|
38
|
-
else
|
39
|
-
model.errors.each do |model_error|
|
40
|
-
errors.add(model_error.attribute, model_error.message)
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
33
|
def save_in_transaction(options)
|
46
34
|
::ActiveRecord::Base.transaction do
|
47
35
|
run_callbacks :save do
|
@@ -57,19 +45,16 @@ module YAAF
|
|
57
45
|
end
|
58
46
|
|
59
47
|
def validate_models
|
60
|
-
models.each
|
61
|
-
|
62
|
-
|
48
|
+
models.each { |model| promote_errors(model) if model.invalid? }
|
49
|
+
end
|
50
|
+
|
51
|
+
def promote_errors(model)
|
52
|
+
errors.merge!(model.errors)
|
63
53
|
end
|
64
54
|
|
65
55
|
def handle_transaction_rollback(exception)
|
66
56
|
run_callbacks :rollback
|
67
57
|
raise exception
|
68
58
|
end
|
69
|
-
|
70
|
-
def rails_version_less_than_6_1?
|
71
|
-
ActiveModel::VERSION::MAJOR < 6 ||
|
72
|
-
ActiveModel::VERSION::MAJOR == 6 && ActiveModel::VERSION::MINOR.zero?
|
73
|
-
end
|
74
59
|
end
|
75
60
|
end
|
data/lib/yaaf/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yaaf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juan Manuel Ramallo
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2021-
|
12
|
+
date: 2021-03-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activemodel
|
@@ -17,7 +17,7 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '
|
20
|
+
version: '5.2'
|
21
21
|
- - "<"
|
22
22
|
- !ruby/object:Gem::Version
|
23
23
|
version: '7'
|
@@ -27,7 +27,7 @@ dependencies:
|
|
27
27
|
requirements:
|
28
28
|
- - ">="
|
29
29
|
- !ruby/object:Gem::Version
|
30
|
-
version: '
|
30
|
+
version: '5.2'
|
31
31
|
- - "<"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '7'
|
@@ -37,7 +37,7 @@ dependencies:
|
|
37
37
|
requirements:
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '5.2'
|
41
41
|
- - "<"
|
42
42
|
- !ruby/object:Gem::Version
|
43
43
|
version: '7'
|
@@ -47,7 +47,7 @@ dependencies:
|
|
47
47
|
requirements:
|
48
48
|
- - ">="
|
49
49
|
- !ruby/object:Gem::Version
|
50
|
-
version: '
|
50
|
+
version: '5.2'
|
51
51
|
- - "<"
|
52
52
|
- !ruby/object:Gem::Version
|
53
53
|
version: '7'
|