class Bundler::Audit::CLI

Constants

DEFAULT_PRESENTER
Error
PresenterInvalid
PresenterUnkown

Public Instance Methods

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

  scanner    = Scanner.new
  presenter = presenter_klass(options[:format]).new(self.shell, options)

  scanner.scan(:ignore => options.ignore) do |result|
    case result
    when Scanner::InsecureSource
      presenter.push_warning "Insecure Source URI found: #{result.source}"
    when Scanner::UnpatchedGem
      presenter.push_advisory result
    end
  end

  presenter.print_report
  exit presenter.exit_code

rescue Error => e
  say e.message, :red
  exit 1
end
update() click to toggle source
# File lib/bundler/audit/cli.rb, line 71
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 90
def version
  database = Database.new

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

Protected Instance Methods

presenter_klass(presenter_string) click to toggle source
# File lib/bundler/audit/cli.rb, line 103
def presenter_klass(presenter_string)
  presenter_name = presenter_string.capitalize.to_sym
  raise PresenterUnkown, "Unknown Presenter '#{presenter_name}'" unless Presenter.const_defined? presenter_name

  Presenter.const_get presenter_name
rescue NameError
  raise PresenterInvalid, "Invalid Presenter Name '#{presenter_name}'"
end
say(message="", color=nil) click to toggle source
Calls superclass method
# File lib/bundler/audit/cli.rb, line 98
def say(message="", color=nil)
  color = nil unless $stdout.tty?
  super(message.to_s, color)
end