class Pronto::BundlerAudit::AdvisoryFormatters::BaseAdvisoryFormatter
Pronto::BundlerAudit::AdvisoryFormatters::BaseAdvisoryFormatter
is an abstract base class for formatting Bundler::Audit::Advisory objects as a String in the context of the given `gem` (Bundler::LazySpecification).
Public Class Methods
new(gem:, advisory:)
click to toggle source
param gem [Bundler::LazySpecification] param advisory [Bundler::Audit::Advisory]
# File lib/pronto/bundler_audit/advisory_formatters/base_advisory_formatter.rb, line 13 def initialize(gem:, advisory:) @gem = gem @advisory = advisory end
Public Instance Methods
to_s()
click to toggle source
# File lib/pronto/bundler_audit/advisory_formatters/base_advisory_formatter.rb, line 18 def to_s raise NotImplementedError end
Private Instance Methods
advisory_criticality()
click to toggle source
# File lib/pronto/bundler_audit/advisory_formatters/base_advisory_formatter.rb, line 40 def advisory_criticality str = @advisory.criticality.to_s.capitalize str = "Unknown" if str.empty? str end
advisory_description()
click to toggle source
# File lib/pronto/bundler_audit/advisory_formatters/base_advisory_formatter.rb, line 32 def advisory_description if @advisory.cve "CVE-#{@advisory.cve}" elsif @advisory.osvdb @advisory.osvdb end end
advisory_solution()
click to toggle source
# File lib/pronto/bundler_audit/advisory_formatters/base_advisory_formatter.rb, line 54 def advisory_solution if any_patched_versions? "Upgrade to #{patched_versions}." else "Remove or disable this gem until a patch is available!" end end
advisory_title()
click to toggle source
# File lib/pronto/bundler_audit/advisory_formatters/base_advisory_formatter.rb, line 50 def advisory_title @advisory.title end
advisory_url()
click to toggle source
# File lib/pronto/bundler_audit/advisory_formatters/base_advisory_formatter.rb, line 46 def advisory_url @advisory.url end
any_patched_versions?()
click to toggle source
# File lib/pronto/bundler_audit/advisory_formatters/base_advisory_formatter.rb, line 66 def any_patched_versions? !@advisory.patched_versions.empty? end
gem_name()
click to toggle source
# File lib/pronto/bundler_audit/advisory_formatters/base_advisory_formatter.rb, line 24 def gem_name @gem.name end
gem_version()
click to toggle source
# File lib/pronto/bundler_audit/advisory_formatters/base_advisory_formatter.rb, line 28 def gem_version @gem.version end
patched_versions()
click to toggle source
# File lib/pronto/bundler_audit/advisory_formatters/base_advisory_formatter.rb, line 62 def patched_versions @advisory.patched_versions.join(", ") end