Sha256: e284adba13165ca4de070d576f8356b4ac62420e705900bd1d1cf2808db25d00
Contents?: true
Size: 1.66 KB
Versions: 12
Compression:
Stored size: 1.66 KB
Contents
require 'date' require 'brakeman/checks/base_check' # Not used directly - base check for EOLRails and EOLRuby class Brakeman::EOLCheck < Brakeman::BaseCheck def check_eol_version library, eol_dates version = case library when :rails tracker.config.rails_version when :ruby tracker.config.ruby_version else raise 'Implement using tracker.config.gem_version' end eol_dates.each do |(start_version, end_version), eol_date| if version_between? start_version, end_version, version case when Date.today >= eol_date warn_about_unsupported_version library, eol_date, version when (Date.today + 30) >= eol_date warn_about_soon_unsupported_version library, eol_date, version, :medium when (Date.today + 60) >= eol_date warn_about_soon_unsupported_version library, eol_date, version, :low end break end end end def warn_about_soon_unsupported_version library, eol_date, version, confidence warn warning_type: 'Unmaintained Dependency', warning_code: :"pending_eol_#{library}", message: msg("Support for ", msg_version(version, library.capitalize), " ends on #{eol_date}"), confidence: confidence, gem_info: gemfile_or_environment end def warn_about_unsupported_version library, eol_date, version warn warning_type: 'Unmaintained Dependency', warning_code: :"eol_#{library}", message: msg("Support for ", msg_version(version, library.capitalize), " ended on #{eol_date}"), confidence: :high, gem_info: gemfile_or_environment end end
Version data entries
12 entries across 12 versions & 3 rubygems