Sha256: 80b272c75ce091208eec2eaf63c6caf7bb77ab201fd1a7c815f5dbad0f020d8a

Contents?: true

Size: 936 Bytes

Versions: 7

Compression:

Stored size: 936 Bytes

Contents

require_relative 'eol_check'

class Brakeman::CheckEOLRails < Brakeman::EOLCheck
  Brakeman::Checks.add self

  @description = "Checks for unsupported versions of Rails"

  def run_check
    return unless tracker.config.rails_version

    check_eol_version :rails, RAILS_EOL_DATES
  end

  # https://rubyonrails.org/maintenance
  # https://endoflife.date/rails
  RAILS_EOL_DATES = {
    ['2.0.0', '2.3.99'] => Date.new(2013, 6, 25),
    ['3.0.0', '3.2.99'] => Date.new(2016, 6, 30),
    ['4.0.0', '4.2.99'] => Date.new(2017, 4, 27),
    ['5.0.0', '5.0.99'] => Date.new(2018, 5, 9),
    ['5.1.0', '5.1.99'] => Date.new(2019, 8, 25),
    ['5.2.0', '5.2.99'] => Date.new(2022, 6, 1),
    ['6.0.0', '6.0.99'] => Date.new(2023, 6, 1),
    ['6.1.0', '6.1.99'] => Date.new(2024, 10, 1),
    ['7.0.0', '7.0.99'] => Date.new(2025, 4, 1),
    ['7.1.0', '7.1.99'] => Date.new(2025, 10, 1),
    ['7.2.0', '7.2.99'] => Date.new(2026, 8, 9),
  }
end

Version data entries

7 entries across 7 versions & 3 rubygems

Version Path
brakeman-7.0.0 lib/brakeman/checks/check_eol_rails.rb
brakeman-lib-7.0.0 lib/brakeman/checks/check_eol_rails.rb
brakeman-min-7.0.0 lib/brakeman/checks/check_eol_rails.rb
brakeman-6.2.2 lib/brakeman/checks/check_eol_rails.rb
brakeman-lib-6.2.2 lib/brakeman/checks/check_eol_rails.rb
brakeman-min-6.2.2 lib/brakeman/checks/check_eol_rails.rb
brakeman-6.2.2.rc1 lib/brakeman/checks/check_eol_rails.rb