class Overcommit::Hook::PreCommit::BundleAudit

Checks for vulnerable versions of gems in Gemfile.lock.

@see github.com/rubysec/bundler-audit

Constants

LOCK_FILE

Public Instance Methods

run() click to toggle source
# File lib/overcommit/hook/pre_commit/bundle_audit.rb, line 10
def run
  # Ignore if Gemfile.lock is not tracked by git
  ignored_files = execute(%W[git ls-files -o -i --exclude-standard -- #{LOCK_FILE}]).
                  stdout.split("\n")
  return :pass if ignored_files.include?(LOCK_FILE)

  result = execute(command)
  if result.success?
    :pass
  else
    return [:warn, result.stdout]
  end
end