class Bundler::Audit::CLI

Public Instance Methods

check() click to toggle source
# File lib/bundler/audit/cli.rb, line 38
def check
  update if options[:update]

  scanner    = Scanner.new
  vulnerable = false

  scanner.scan(:ignore => options.ignore) do |result|
    vulnerable = true

    case result
    when Scanner::InsecureSource
      print_warning "Insecure Source URI found: #{result.source}"
    when Scanner::UnpatchedGem
      print_advisory result.gem, result.advisory
    end
  end

  if vulnerable
    say "Vulnerabilities found!", :red
    exit 1
  else
    say("No vulnerabilities found", :green) unless options.quiet?
  end
end
update() click to toggle source
# File lib/bundler/audit/cli.rb, line 66
def update
  say("Updating ruby-advisory-db ...") unless options.quiet?

  case Database.update!(quiet: options.quiet?)
  when true
    say("Updated ruby-advisory-db", :green) unless options.quiet?
  when false
    say "Failed updating ruby-advisory-db!", :red
    exit 1
  when nil
    say "Skipping update", :yellow
  end

  unless options.quiet?
    puts("ruby-advisory-db: #{Database.new.size} advisories")
  end
end
version() click to toggle source
# File lib/bundler/audit/cli.rb, line 85
def version
  database = Database.new

  puts "#{File.basename($0)} #{VERSION} (advisories: #{database.size})"
end

Protected Instance Methods

print_advisory(gem, advisory) click to toggle source
print_warning(message) click to toggle source
say(message="", color=nil) click to toggle source
Calls superclass method
# File lib/bundler/audit/cli.rb, line 93
def say(message="", color=nil)
  color = nil unless $stdout.tty?
  super(message.to_s, color)
end