class Dependabot::DependabotError

Constants

BASIC_AUTH_REGEX
FURY_IO_PATH_REGEX

Remove any path segment from fury.io sources

Public Class Methods

new(message = nil) click to toggle source
Calls superclass method
# File lib/dependabot/errors.rb, line 11
def initialize(message = nil)
  super(sanitize_message(message))
end

Private Instance Methods

filter_sensitive_data(message) click to toggle source
# File lib/dependabot/errors.rb, line 28
def filter_sensitive_data(message)
  replace_capture_groups(message, BASIC_AUTH_REGEX, "")
end
replace_capture_groups(string, regex, replacement) click to toggle source
# File lib/dependabot/errors.rb, line 37
def replace_capture_groups(string, regex, replacement)
  return string unless string.is_a?(String)

  string.scan(regex).flatten.compact.reduce(string) do |original_msg, match|
    original_msg.gsub(match, replacement)
  end
end
sanitize_message(message) click to toggle source
# File lib/dependabot/errors.rb, line 17
def sanitize_message(message)
  return message unless message.is_a?(String)

  path_regex =
    Regexp.escape(Utils::BUMP_TMP_DIR_PATH) + "\/" +
    Regexp.escape(Utils::BUMP_TMP_FILE_PREFIX) + "[a-zA-Z0-9-]*"

  message = message.gsub(/#{path_regex}/, "dependabot_tmp_dir").strip
  filter_sensitive_data(message)
end
sanitize_source(source) click to toggle source
# File lib/dependabot/errors.rb, line 32
def sanitize_source(source)
  source = filter_sensitive_data(source)
  replace_capture_groups(source, FURY_IO_PATH_REGEX, "<redacted>")
end