params_checker 0.2.1 → 0.2.2
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 43e9bdab09ff2a45a7afc6964db9db8ff2e979c0336b666e3730c16d342ad15c
|
4
|
+
data.tar.gz: e407ab745e0d4370164110009fd47f70c789a368a277dc65974d3befdf092516
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 48612e65dc48a2abb93ba0059a1708f80e518c3acdf277324040df5b1659e0e314f228769e350cba3ef62cc93c4fd89c9e7b780929b26109f38366b2e79a1a8e
|
7
|
+
data.tar.gz: 6b1eb417945cdc66eee221f7adade0298f8e195e50de2e302617d00a7ec06225cada71b88756cd60753d9d56aae78ff8ca1838c3e1d0ccda175259bec59916d9
|
@@ -11,15 +11,14 @@ module ParamsChecker
|
|
11
11
|
@formatted_params_after_custom_all_fields_check = {}
|
12
12
|
end
|
13
13
|
|
14
|
-
def self.init required: true, many: false
|
15
|
-
raise "This field's type must be boolean." if [required, many
|
14
|
+
def self.init required: true, many: false
|
15
|
+
raise "This field's type must be boolean." if [required, many].any? { |value| !value.in? [true, false] }
|
16
16
|
|
17
17
|
type = many ? 'nested_hashs' : 'nested_hash'
|
18
18
|
{
|
19
19
|
type: type,
|
20
20
|
required: required,
|
21
21
|
many: many,
|
22
|
-
allow_empty: allow_empty,
|
23
22
|
class: self
|
24
23
|
}
|
25
24
|
end
|
@@ -115,7 +114,8 @@ module ParamsChecker
|
|
115
114
|
|
116
115
|
def value_need_to_be_present? key
|
117
116
|
if fields[key].key?(:default) && !fields[key][:default].nil?
|
118
|
-
@params[key] = fields[key][:default]
|
117
|
+
@params[key].nil? && @params[key] = fields[key][:default]
|
118
|
+
|
119
119
|
true
|
120
120
|
else
|
121
121
|
fields[key][:required]
|
@@ -170,6 +170,8 @@ module ParamsChecker
|
|
170
170
|
ParamChecker::EmailParamChecker.call key, fields, params
|
171
171
|
when 'boolean'
|
172
172
|
ParamChecker::BooleanChecker.call key, fields, params
|
173
|
+
when 'file'
|
174
|
+
ParamChecker::FileChecker.call key, fields, params
|
173
175
|
end
|
174
176
|
end
|
175
177
|
|
@@ -272,6 +272,27 @@ module ParamsChecker
|
|
272
272
|
class BooleanChecker < BaseParamChecker
|
273
273
|
prepend SimpleCommand
|
274
274
|
|
275
|
+
def call
|
276
|
+
return nil if fields[key][:allow_nil] && opts[key].nil?
|
277
|
+
|
278
|
+
check_type && formatted_boolean
|
279
|
+
end
|
280
|
+
|
281
|
+
def formatted_boolean
|
282
|
+
[false, "false", "1"].exclude?(opts[key])
|
283
|
+
end
|
284
|
+
|
285
|
+
def check_type
|
286
|
+
valid = opts[key].in? [true, false, "true", "false", "1", "0"]
|
287
|
+
add_error("This field's type must be boolean.") unless valid
|
288
|
+
valid
|
289
|
+
end
|
290
|
+
|
291
|
+
end
|
292
|
+
|
293
|
+
class FileChecker < BaseParamChecker
|
294
|
+
prepend SimpleCommand
|
295
|
+
|
275
296
|
def call
|
276
297
|
return nil if fields[key][:allow_nil] && opts[key].nil?
|
277
298
|
|
@@ -279,8 +300,8 @@ module ParamsChecker
|
|
279
300
|
end
|
280
301
|
|
281
302
|
def check_type
|
282
|
-
valid = opts[key].
|
283
|
-
add_error("This field's type must be
|
303
|
+
valid = opts[key].is_a?(ActionDispatch::Http::UploadedFile)
|
304
|
+
add_error("This field's type must be file.") unless valid
|
284
305
|
valid
|
285
306
|
end
|
286
307
|
|