params_checker 0.2.1 → 0.2.2
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:
|
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
|
|