mini_defender 0.6.1 → 0.6.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: e29762e85b9cd347c9a95273d6d08d806b6adc24ff284b6ec5e4e347c4e2b910
4
- data.tar.gz: 2ea25d48682e25d311f90d33a3b5b8bacaa6720431380b34479eeede78468e3a
3
+ metadata.gz: 8e0ab4aebfd050f5d3a5560099d9567d6c6bf60e741e36e3bfbc55f8ae84e10d
4
+ data.tar.gz: fd22d8c11ce0b2dbfdaecf36ac48d15fd4a554bab8ab6733d64af267b07edf6d
5
5
  SHA512:
6
- metadata.gz: 6b5411b6d0bd4565a420052b3baceebff4bb1873c42c68b48f566c20533f28fd674f37f4df9bab3e6877d0959e2671fc886d1154e9d6de34508de04bae2c4778
7
- data.tar.gz: 3707890c60e1c3eccff9ab37287819a3e8997b101c5d74ef37fd2cc7bf5466d5304095607a20e8a3f2ab06de0cae22d4055b1f15a5243785511807d77680fdb6
6
+ metadata.gz: 5d7209aae4068a0b26d4f3a3ec3896b4a423aa9c3f201a3534c589359dd4c84de17f764e55f61d2dff5b74387433fbd17a17fef14109127a92ecd6dcebe67dba
7
+ data.tar.gz: 72587c709c155934e3c0c0ef7769f48f938eed2a4dab473a90211fefeb3e215732607cc605c733a4f734f54707df0b00297953b53b925c09e614c35b0f3b926d
@@ -7,7 +7,7 @@ module MiniDefender::ValidatesInput
7
7
  data = cleanse_data(params.to_unsafe_hash.deep_stringify_keys)
8
8
  validator = MiniDefender::Validator.new(rules, data)
9
9
  validator.validate!
10
- coerced ? validator.coerced : validator.data
10
+ coerced ? validator.coerced : validator.validated
11
11
  end
12
12
 
13
13
  private
@@ -28,7 +28,7 @@ module MiniDefender
28
28
 
29
29
  # Set default values for missing data key compared to rules
30
30
  data_rules.each do |k, set|
31
- if !@data.key?(k) || @data[k].blank?
31
+ if !@data.key?(k) || missing_value?(@data[k])
32
32
  set.filter{ |r| r.defaults?(self) }.each do |r|
33
33
  @data.merge!({k => r.default_value(self)}.flatten_keys(keep_roots: true))
34
34
  end
@@ -43,7 +43,7 @@ module MiniDefender
43
43
  value_included = true
44
44
  required = rule_set.any? { |r| r.implicit?(self) }
45
45
 
46
- if !@data.key?(k) || @data[k].blank?
46
+ if !@data.key?(k) || missing_value?(@data[k])
47
47
  rule_set.filter{ |r| r.defaults?(self) }.each do |r|
48
48
  @data.merge!({k => r.default_value(self)}.flatten_keys(keep_roots: true))
49
49
  end
@@ -188,5 +188,12 @@ module MiniDefender
188
188
 
189
189
  result
190
190
  end
191
+
192
+ def missing_value?(value)
193
+ value.nil? ||
194
+ value.is_a?(String) && value.strip.empty? ||
195
+ value.is_a?(Hash) && value.empty? ||
196
+ value.is_a?(Array) && value.empty?
197
+ end
191
198
  end
192
199
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MiniDefender
4
- VERSION = "0.6.1"
4
+ VERSION = "0.6.2"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mini_defender
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ali Alhoshaiyan
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-03-14 00:00:00.000000000 Z
11
+ date: 2024-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport