Module: Olyx::Guardrails::Secrets::CustomPatternSource

Defined in:
lib/olyx/guardrails/secrets/custom_pattern_source.rb

Overview

Compiles bounded custom patterns and returns their internal findings.

Constant Summary collapse

TIMEOUT_ERROR =
defined?(Regexp::TimeoutError) ? Regexp::TimeoutError : RegexpError

Class Method Summary collapse

Class Method Details

.call(source, patterns) ⇒ Object



16
17
18
19
20
21
# File 'lib/olyx/guardrails/secrets/custom_pattern_source.rb', line 16

def call(source, patterns)
  Validation.array_of!(patterns, String, name: 'custom_patterns')
  patterns.flat_map { |pattern| findings(source, CustomPatternCompiler.call(pattern)) }
rescue TIMEOUT_ERROR
  raise ArgumentError, 'custom pattern timed out'
end