lib/bundler/audit/cli.rb in mrjoy-bundler-audit-0.3.1 vs lib/bundler/audit/cli.rb in mrjoy-bundler-audit-0.3.2

- old
+ new

@@ -82,51 +82,64 @@ def print_warning(message) say message, :yellow end def print_advisory(gem, advisory) - say "Name: ", :red - say gem.name + print_affected_gem(gem) - say "Version: ", :red - say gem.version - say "Advisory: ", :red say advisory.id say "Criticality: ", :red - case advisory.criticality - when :low then say "Low" - when :medium then say "Medium", :yellow - when :high then say "High", [:red, :bold] - else say "Unknown" - end + say *CRITICALITY_MAP[advisory.criticality] say "URL: ", :red say advisory.url + print_advisory_details advisory + print_advisory_solution advisory + + say + end + + protected + def print_affected_gem(gem) + say "Name: ", :red + say gem.name + + say "Version: ", :red + say gem.version + end + + def print_advisory_details(advisory) if options.verbose? say "Description:", :red say print_wrapped advisory.description, :indent => 2 say else - say "Title: ", :red say advisory.title end + end + def print_advisory_solution(advisory) unless advisory.patched_versions.empty? say "Solution: upgrade to ", :red say advisory.patched_versions.join(', ') else say "Solution: ", :red say "remove or disable this gem until a patch is available!", [:red, :bold] end - - say end + CRITICALITY_MAP = Hash({ + :low => ["Low"], + :medium => ["Medium", :yellow], + :high => ["High", [:red, :bold]], + }) do |data, key| + "Unknown" + end end end end