readymade 0.2.4 → 0.2.5
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/CHANGELOG.md +6 -0
- data/Gemfile.lock +1 -1
- data/lib/readymade/form.rb +20 -4
- data/lib/readymade/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d8b0938bb39253068f0b78cd62841b08aa118f9ae51fb8e8e49c59a47cc5d6dc
|
4
|
+
data.tar.gz: 59fa97d3a17ab1b7330a1af92399a09aceb8843b81f1adb4f667580e495685f1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5496ed0f230582f69b423e15561ba247d5967b44242fe3baa0611f4056e207ab8752dd2360380dc20a3072fea94ceac176f6098b84a07ea263ecd314ff735f3e
|
7
|
+
data.tar.gz: 99a797b196fc7d20c60026b39e5500c7b5a048ce743d92ae37b55412370b429c52a9623cc74031535811ce9743ba43dc197d923cae99fa4a5623ee368cec9ca2
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
data/lib/readymade/form.rb
CHANGED
@@ -45,6 +45,8 @@ module Readymade
|
|
45
45
|
end
|
46
46
|
|
47
47
|
def required_attributes
|
48
|
+
return [] if params.try(:[], :_destroy).present?
|
49
|
+
|
48
50
|
@required_attributes ||= self.class::REQUIRED_ATTRIBUTES
|
49
51
|
end
|
50
52
|
|
@@ -79,9 +81,17 @@ module Readymade
|
|
79
81
|
|
80
82
|
# copy errors from nested forms into parent form
|
81
83
|
def sync_nested_errors(nested_forms)
|
82
|
-
|
83
|
-
|
84
|
-
errors.
|
84
|
+
if rails_errors_v2?
|
85
|
+
nested_forms.each do |n_form|
|
86
|
+
n_form.errors.each do |code|
|
87
|
+
errors.add("#{n_form.humanized_name}.#{code.attribute}", code.message)
|
88
|
+
end
|
89
|
+
end
|
90
|
+
else
|
91
|
+
nested_forms.each do |n_form|
|
92
|
+
n_form.errors.each do |code, text|
|
93
|
+
errors.add("#{n_form.humanized_name}.#{code}", text)
|
94
|
+
end
|
85
95
|
end
|
86
96
|
end
|
87
97
|
|
@@ -92,7 +102,7 @@ module Readymade
|
|
92
102
|
def sync_errors(from: self, to: record)
|
93
103
|
return if [from, to].any?(&:blank?)
|
94
104
|
|
95
|
-
if
|
105
|
+
if rails_errors_v2?
|
96
106
|
from.errors.messages.each do |key, values|
|
97
107
|
Array.wrap(values).uniq.each do |uv|
|
98
108
|
to.errors.add(key, uv)
|
@@ -145,6 +155,12 @@ module Readymade
|
|
145
155
|
{}
|
146
156
|
end
|
147
157
|
|
158
|
+
private
|
159
|
+
|
160
|
+
def rails_errors_v2?
|
161
|
+
Rails.version.to_f > 6.0
|
162
|
+
end
|
163
|
+
|
148
164
|
# EXAMPLE
|
149
165
|
# class Items::Forms::Create::Value < ::Readymade::Form
|
150
166
|
# PERMITTED_ATTRIBUTES = %i[vat_percent price_type item_category].freeze
|
data/lib/readymade/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: readymade
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OrestF
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-05-
|
11
|
+
date: 2022-05-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: byebug
|