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: 0013a86614eb2a40c8e5d526ebba0cdd244367c32e86812f388059e26abaf952
4
- data.tar.gz: 675209c8ae0ac1ba49bffd934afa6bb34a66e7c02e107cfbd0718336f362534c
3
+ metadata.gz: 43e9bdab09ff2a45a7afc6964db9db8ff2e979c0336b666e3730c16d342ad15c
4
+ data.tar.gz: e407ab745e0d4370164110009fd47f70c789a368a277dc65974d3befdf092516
5
5
  SHA512:
6
- metadata.gz: a83330c3e167398a9d90773f568d9666fd4c63fefcae418d3767fc9c868952f09de975435a456ae5a3f7f6c3371a772a2feb64dc3181a3301d119b84fc13260d
7
- data.tar.gz: 797e848185371dc8ca275b47fe0d2c92ac8bd1ac05179b1a772eff6b3e3ca7f9145c7dc8b44e294a6d9d897927004f3cb0968465c30ef57877f6269c2e9416d6
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, allow_empty: false
15
- raise "This field's type must be boolean." if [required, many, allow_empty].any? { |value| !value.in? [true, false] }
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].in? [true, false]
283
- add_error("This field's type must be boolean.") unless valid
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
 
@@ -1,3 +1,3 @@
1
1
  module ParamsChecker
2
- VERSION = '0.2.1'
2
+ VERSION = '0.2.2'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: params_checker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - rexy tech