redacting-logger 1.3.1 → 1.4.0

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: 103a53e496f8efc3d6d21fa37c07a773f9f36c2f879a6a07fd0cb8daa3e0db90
4
- data.tar.gz: 5494118743b74310aae14aab0d3c3b8ba6a2b963f88eff7a60171d4a663af436
3
+ metadata.gz: 78c93baa4550a4f20001837396543c6571e9da65db5494b28b30c91cc203ebfd
4
+ data.tar.gz: c273eec893c8fdcf35436e21798ac7eaae74cb636056ab65af58a644cb6185e3
5
5
  SHA512:
6
- metadata.gz: 44f56e1658d46788b23124064d30d7efba075c000757494a1e6f4710fe1b278be22c51a99f1bbb14c3cbad87c9a919fabcac289dd558df1d2b4c9c6a5a51ed85
7
- data.tar.gz: 4f414b31538ae5e6863f096eaf298b43dae339d87b1ac7b2ea4029e8d58c50205e5d9b0e300b15732cda03c2e179d4058a96d4f65f64567fc629a9092c444e2a
6
+ metadata.gz: e0dd47fe1560866faf4ff202a3649c6d69ee7f2b6d1b3c21874b13299e8e9cf8f3c3769d120800c9292909f071e2ff3079f7de39a002eca2852f96087a122666
7
+ data.tar.gz: 07c6db97cfc003a5de49caa7d1d4cdc7bf76ebd9f7467ec56b580b710c3a13398c08bafa47a832d8a8a09737d75acdef53e76f445c09d614d5ad4fa89484b293
@@ -4,6 +4,10 @@
4
4
  # These patterns are sourced from different places on the internet, some came from https://github.com/l4yton/RegHex
5
5
  module Patterns
6
6
  DEFAULT = [
7
+ # RubyGems Token
8
+ # https://guides.rubygems.org/api-key-scopes/
9
+ /rubygems_[0-9a-f]{48}/,
10
+
7
11
  # GitHub Personal Access Token
8
12
  # https://github.blog/2021-04-05-behind-githubs-new-authentication-token-formats/
9
13
  /ghp_[A-Za-z0-9]{36,}|[0-9A-Fa-f]{40,}/,
@@ -42,11 +46,7 @@ module Patterns
42
46
 
43
47
  # Vault Tokens
44
48
  # https://github.com/hashicorp/vault/issues/27151
45
- /[sbr]\.[a-zA-Z0-9]{24,}/, # <= 1.9.x
46
- /hv[sbr]\.[a-zA-Z0-9]{24,}/, # >= 1.10
47
-
48
- # RubyGems Token
49
- # https://guides.rubygems.org/api-key-scopes/
50
- /rubygems_[0-9a-f]{48}/
49
+ /[sbr]\.[a-zA-Z0-9]{24,}/, # <= 1.9.x
50
+ /hv[sbr]\.[a-zA-Z0-9]{24,}/ # >= 1.10
51
51
  ].freeze
52
52
  end
@@ -30,6 +30,8 @@ class RedactingLogger < Logger
30
30
  @redact_patterns = redact_patterns
31
31
  @redacted_msg = redacted_msg
32
32
  @redact_patterns += Patterns::DEFAULT if use_default_patterns
33
+
34
+ @redact_patterns = Regexp.union(@redact_patterns)
33
35
  end
34
36
 
35
37
  # Adds a message to the log.
@@ -40,30 +42,24 @@ class RedactingLogger < Logger
40
42
  def add(severity, message = nil, progname = nil)
41
43
  message, progname = yield if block_given?
42
44
 
43
- @redact_patterns.each do |pattern|
44
- case message
45
-
46
- when String, Symbol, Numeric
47
- message = message.to_s.gsub(pattern, @redacted_msg)
45
+ case message
48
46
 
49
- when Array
50
- message = message.map do |m|
51
- m.to_s.gsub(pattern, @redacted_msg)
52
- end
47
+ when String, Symbol, Numeric
48
+ message = message.to_s.gsub(@redact_patterns, @redacted_msg)
53
49
 
54
- when Hash
55
- message = message.transform_values do |v|
56
- v.to_s.gsub(pattern, @redacted_msg)
57
- end
50
+ when Array
51
+ message = message.map do |m|
52
+ m.to_s.gsub(@redact_patterns, @redacted_msg)
58
53
  end
59
- end
60
54
 
61
- if progname
62
- @redact_patterns.each do |pattern|
63
- progname = progname.to_s.gsub(pattern, @redacted_msg)
55
+ when Hash
56
+ message = message.transform_values do |v|
57
+ v.to_s.gsub(@redact_patterns, @redacted_msg)
64
58
  end
65
59
  end
66
60
 
67
- super(severity, message, progname)
61
+ progname = progname.to_s.gsub(@redact_patterns, @redacted_msg) if progname
62
+
63
+ super
68
64
  end
69
65
  end
data/lib/version.rb CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RedactingLogger
4
4
  module Version
5
- VERSION = "1.3.1"
5
+ VERSION = "1.4.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redacting-logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitHub
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2024-05-21 00:00:00.000000000 Z
12
+ date: 2024-07-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: logger