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