nemesis-shield 0.1.1 → 0.1.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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/nemesis_shield.rb +4 -2
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 85883516f944f9a9d9ad3022e7687c3018a78b1d019417baa28ff4c75fa8164f
4
- data.tar.gz: 94dda8b752f38047a60cc3dc8a78e6c2a464dafb9d85de82c52d9f007241acd8
3
+ metadata.gz: fe007575d89dca3c4c77078c517dd4acd58b19ae65368325e730cfbe977473a5
4
+ data.tar.gz: a16c094ba7f5977a224aedbd236af7411632f5a1f104ff4a6751797c8bf245c4
5
5
  SHA512:
6
- metadata.gz: fccc3324a906b8518acc6ae1bc1dc2be46c34fd9f73b0507b3f6d099b1fc7b8a97e3825e127bff6e1c727ceeb8834a810361291d49e3088fb781a56dd49030bf
7
- data.tar.gz: fe2c53142a11201c6ce83dbb61618df7917d0935bd44acb5e4727a19ff00a4194d689edef1497840a51a6a542ae19812a52ef273f77410a1e0866fcf758e95f7
6
+ metadata.gz: 5bf4a5413932c7e3f0df3e16a0ad9b6b958b6e4d77f0a756f800c83db06eef88973bd29fe99e05a9a0c3dede8388ee33ce0b61cc64175691e6f9c74e0090f7cf
7
+ data.tar.gz: 3383a5c44388a9ce77181c6d20524740329acfd7b52ff2281c72f159fa516da797e16b0437e5b9fe0804de74d1e534c0b65b17db3b73b33af956e4edcae4505e
data/nemesis_shield.rb CHANGED
@@ -27,6 +27,8 @@ module NemesisShield
27
27
  B64 = /\A[A-Za-z0-9+\/]+={0,2}\z/
28
28
  ALPHA = /\A[A-Za-z]+\z/
29
29
  ALNUM = /\A[A-Za-z0-9]+\z/
30
+ # A run of 7+ letters => reads like a word / route name, not an opaque id/token.
31
+ WORD = /[A-Za-z]{7,}/
30
32
 
31
33
  module_function
32
34
 
@@ -40,7 +42,7 @@ module NemesisShield
40
42
  when "uuid" then "{uuid}"
41
43
  when "hex" then "{hex}"
42
44
  when "base64" then "{token}"
43
- when "alnum" then seg.length >= 12 ? "{id}" : seg
45
+ when "alnum" then (seg.length >= 12 && seg !~ WORD) ? "{id}" : seg
44
46
  else seg end
45
47
  end.join("/")
46
48
  out.empty? ? "/" : out
@@ -61,7 +63,7 @@ module NemesisShield
61
63
  return "int" if s =~ INT
62
64
  return "float" if s =~ FLOATRE
63
65
  return "hex" if s.length >= 16 && s =~ HEX
64
- return "base64" if s.length >= 16 && s =~ B64
66
+ return "base64" if s.length >= 16 && s =~ B64 && s !~ WORD
65
67
  return "alpha" if s =~ ALPHA
66
68
  return "alnum" if s =~ ALNUM
67
69
  "string"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nemesis-shield
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Autogon Inc.