mini_defender 0.5.7 → 0.5.8

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: 42cffd5eb5cd6e4e6735ac05f335fd0d2cb856430b666893e8b4477c5ac65262
4
- data.tar.gz: 2af39ecec258011f4f4f7d20b447fcf984d239a27b6db4d4f26acd185bfe1031
3
+ metadata.gz: 0b22d2146228e92dfadf457e5643cf302660d0270ca7d7bdb5c234d6f77c8c26
4
+ data.tar.gz: 6fb0563b3e8ca27291823e57b36d0e80721c72623580c2ddbb81c529ab414ad7
5
5
  SHA512:
6
- metadata.gz: 06c12dedec9bcf79df20573f7de5553f5b5eeff4f00f6c39132f3f4b901009b4903403821f1fbec828ef49f65c6d0e5e0843eef06ee7db06163505055ebc47bc
7
- data.tar.gz: af62aaeffc7200becfeec360a4192f0fd184dede43c16f953a1ab0e4ff3b51dc434e22d0744906d3e2e6062511d284eafa739822646285d69220759918bf12b6
6
+ metadata.gz: 788accd406dee38de6fc5fb0150eee0760400eb1afa1ab5f0f4f8480384f77aa5f9d2b0737fece159c2c361c2f1c375a691b8e008e6bca7a259cb3557db3cc38
7
+ data.tar.gz: df80d251d07fd941fe6711ce275b2a5b599548b8b9e31efab1d7893da1f631dbe15dd4768b45683814f7fff4ceaa2ff645e6b0cf2568b22fc7f69ee17ea2b798
@@ -33,9 +33,22 @@ module MiniDefender
33
33
  end
34
34
 
35
35
  def array_patterns(rules)
36
- rules
37
- .filter { |key, _| key.include?('*') }
38
- .map { |key, _| Regexp.compile('\A' + key.gsub(/\*/, '\d+') + '\Z') }
36
+ unless rules.is_a?(Hash)
37
+ raise ArgumentError, 'Rules must be a Hash'
38
+ end
39
+
40
+ result = rules.keys.filter { |key| key.include?('*') }
41
+
42
+ # If the user hasn't add a rule for each of the array elements, add it manually
43
+ rules.keys.each do |key|
44
+ current = []
45
+ key.split('.').each do |section|
46
+ current << section
47
+ result << current.join('.') if section == '*'
48
+ end
49
+ end
50
+
51
+ result.sort.uniq.map { |key| Regexp.compile('\A' + key.gsub(/\*/, '\d+') + '\Z') }
39
52
  end
40
53
  end
41
54
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MiniDefender
4
- VERSION = "0.5.7"
4
+ VERSION = "0.5.8"
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.5.7
4
+ version: 0.5.8
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-02-10 00:00:00.000000000 Z
11
+ date: 2024-02-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport