class Guard::BundlerAudit
Public Instance Methods
run_all()
click to toggle source
Guard
callback
# File lib/guard/bundler_audit.rb, line 19 def run_all audit end
run_on_changes(paths)
click to toggle source
Guard
callback
# File lib/guard/bundler_audit.rb, line 26 def run_on_changes paths audit end
start()
click to toggle source
Guard
callback
# File lib/guard/bundler_audit.rb, line 11 def start ::Bundler::Audit::Database.update! audit end
Private Instance Methods
audit()
click to toggle source
Scans for vulnerabilities and reports them.
# File lib/guard/bundler_audit.rb, line 35 def audit res = ::Bundler::Audit::Scanner.new.scan.to_a.map do |vuln| case vuln when ::Bundler::Audit::Scanner::InsecureSource insecure_source_message vuln when ::Bundler::Audit::Scanner::UnpatchedGem insecure_gem_message vuln else insecure_message vuln end end if res.any? message = "Vulnerabilities found:\n" + res.join("\n") color = :red notify message else message = "No vulnerabilities found." color = :green end UI.info(UI.send(:color, message, color)) end
insecure_gem_message(vuln)
click to toggle source
# File lib/guard/bundler_audit.rb, line 69 def insecure_gem_message vuln "Insecure gem found: #{vuln.gem} #{vuln.advisory} #{vuln.advisory.url}" end
insecure_message(vuln)
click to toggle source
# File lib/guard/bundler_audit.rb, line 61 def insecure_message vuln "Vulnerability found: #{vuln.name}" end
insecure_source_message(vuln)
click to toggle source
# File lib/guard/bundler_audit.rb, line 65 def insecure_source_message vuln "Insecure source URI found: #{vuln.source}" end
notify(message)
click to toggle source
# File lib/guard/bundler_audit.rb, line 57 def notify message ::Guard::Notifier.notify(message, title: message, image: :pending) end