diff --git a/.circleci/config.yml b/.circleci/config.yml index 875f2b88..06168738 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -54,9 +54,9 @@ workflows: matrix: parameters: ruby_version: - - '3.4.1' - - '3.3.6' - - '3.2.5' + - '4.0.1' + - '3.4.8' + - '3.3.10' after-checkout-steps: - install_dependencies after-appraisal-install-steps: @@ -73,9 +73,9 @@ workflows: matrix: parameters: ruby_version: - - '3.4.1' - - '3.3.6' - - '3.2.5' + - '4.0.1' + - '3.4.8' + - '3.3.10' after-checkout-steps: - install_dependencies after-appraisal-install-steps: @@ -92,9 +92,9 @@ workflows: matrix: parameters: ruby_version: - - '3.4.1' - - '3.3.6' - - '3.2.5' + - '4.0.1' + - '3.4.8' + - '3.3.10' after-checkout-steps: - install_dependencies after-appraisal-install-steps: diff --git a/.ruby-version b/.ruby-version index 408069ae..90cdbdcb 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -ruby-3.4.1 +ruby-4.0.1 diff --git a/Appraisals b/Appraisals index 0553ce8b..16c6c471 100644 --- a/Appraisals +++ b/Appraisals @@ -1,7 +1,6 @@ # frozen_string_literal: true -case RUBY_VERSION -when '3.2.5', '3.3.6', '3.4.1' +if Gem::Requirement.new(['>= 3.3', '< 4.1']).satisfied_by?(Gem::Version.new(RUBY_VERSION)) appraise "ruby-#{RUBY_VERSION}" do end else diff --git a/Gemfile b/Gemfile index 0c769181..957dce7d 100644 --- a/Gemfile +++ b/Gemfile @@ -4,10 +4,10 @@ source 'https://rubygems.org' # global source source 'https://rubygems.org' do gem 'appraisal', '>= 2.5', '< 3' - gem 'bundler', '>= 2.6', '< 3' + gem 'bundler', '>= 2.6', '< 5' gem 'debug', '>= 1.11', '< 2' - gem 'mocha', '>= 2.7', '< 3' - gem 'pry', '>= 0.15', '< 1' + gem 'mocha', '>= 3', '< 4' + gem 'pry', '>= 0.16', '< 1' gem 'rake', '>= 13.3', '< 14' gem 'selenium-webdriver', '>= 4.38', '< 5' gem 'simplecov', '>= 0.22', '< 1', group: :test, require: false diff --git a/LICENSE.txt b/LICENSE.txt index 7cd11c78..f2053a38 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,4 +1,4 @@ -Copyright (C) 2012-2025 AppFolio, inc. +Copyright (C) 2012-2026 AppFolio, inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the diff --git a/Rakefile b/Rakefile index b95eda15..705c4bf5 100644 --- a/Rakefile +++ b/Rakefile @@ -92,7 +92,7 @@ class SeleniumRunner matrix = {} Dir.glob(file_pattern).each do |file| - matches = file.match(%r{(test/test_apps/(\d\.\d))/gemfiles/(.*ruby_(\d\.\d\.\d)\.gemfile)}) + matches = file.match(%r{(test/test_apps/(\d+\.\d+))/gemfiles/(.*ruby_(\d+\.\d+\.\d+)\.gemfile)}) gemfile_path = matches[0] app_root = matches[1] diff --git a/ae_page_objects.gemspec b/ae_page_objects.gemspec index 74b3a014..9fc66fbe 100644 --- a/ae_page_objects.gemspec +++ b/ae_page_objects.gemspec @@ -13,10 +13,10 @@ Gem::Specification.new do |spec| spec.summary = spec.description spec.homepage = 'https://github.com/appfolio/ae_page_objects' spec.license = 'MIT' - spec.files = Dir['**/*'].select { |f| f[%r{^(lib/|LICENSE.txt|.*gemspec)}] } + spec.files = Dir['**/*'].select { |f| f[%r{^(lib/|LICENSE.txt|ae_page_objects\.gemspec)}] } spec.require_paths = ['lib'] - spec.required_ruby_version = Gem::Requirement.new('< 3.5') + spec.required_ruby_version = Gem::Requirement.new('< 4.1') spec.metadata['allowed_push_host'] = 'https://rubygems.org' spec.add_dependency('capybara', ['>= 3', '< 4']) diff --git a/test/test_apps/7.2/Appraisals b/test/test_apps/7.2/Appraisals index 0553ce8b..16c6c471 100644 --- a/test/test_apps/7.2/Appraisals +++ b/test/test_apps/7.2/Appraisals @@ -1,7 +1,6 @@ # frozen_string_literal: true -case RUBY_VERSION -when '3.2.5', '3.3.6', '3.4.1' +if Gem::Requirement.new(['>= 3.3', '< 4.1']).satisfied_by?(Gem::Version.new(RUBY_VERSION)) appraise "ruby-#{RUBY_VERSION}" do end else diff --git a/test/test_apps/7.2/Gemfile b/test/test_apps/7.2/Gemfile index 606f2431..4501ff62 100644 --- a/test/test_apps/7.2/Gemfile +++ b/test/test_apps/7.2/Gemfile @@ -2,6 +2,7 @@ source 'https://rubygems.org' git_source(:github) { |repo| "https://github.com/#{repo}.git" } # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' +gem 'minitest', '~> 5.0' gem 'rails', '~> 7.2.0' # Use sqlite3 as the database for Active Record gem 'sqlite3', '~> 1.4' diff --git a/test/test_apps/7.2/gemfiles/ruby_3.2.5.gemfile b/test/test_apps/7.2/gemfiles/ruby_3.3.10.gemfile similarity index 95% rename from test/test_apps/7.2/gemfiles/ruby_3.2.5.gemfile rename to test/test_apps/7.2/gemfiles/ruby_3.3.10.gemfile index fa3062e9..82688b88 100644 --- a/test/test_apps/7.2/gemfiles/ruby_3.2.5.gemfile +++ b/test/test_apps/7.2/gemfiles/ruby_3.3.10.gemfile @@ -2,6 +2,7 @@ source "https://rubygems.org" +gem "minitest", "~> 5.0" gem "rails", "~> 7.2.0" gem "sqlite3", "~> 1.4" gem "puma", ">= 5.6.8" diff --git a/test/test_apps/7.2/gemfiles/ruby_3.3.6.gemfile b/test/test_apps/7.2/gemfiles/ruby_3.4.8.gemfile similarity index 95% rename from test/test_apps/7.2/gemfiles/ruby_3.3.6.gemfile rename to test/test_apps/7.2/gemfiles/ruby_3.4.8.gemfile index fa3062e9..82688b88 100644 --- a/test/test_apps/7.2/gemfiles/ruby_3.3.6.gemfile +++ b/test/test_apps/7.2/gemfiles/ruby_3.4.8.gemfile @@ -2,6 +2,7 @@ source "https://rubygems.org" +gem "minitest", "~> 5.0" gem "rails", "~> 7.2.0" gem "sqlite3", "~> 1.4" gem "puma", ">= 5.6.8" diff --git a/test/test_apps/7.2/gemfiles/ruby_3.4.1.gemfile b/test/test_apps/7.2/gemfiles/ruby_4.0.1.gemfile similarity index 95% rename from test/test_apps/7.2/gemfiles/ruby_3.4.1.gemfile rename to test/test_apps/7.2/gemfiles/ruby_4.0.1.gemfile index fa3062e9..82688b88 100644 --- a/test/test_apps/7.2/gemfiles/ruby_3.4.1.gemfile +++ b/test/test_apps/7.2/gemfiles/ruby_4.0.1.gemfile @@ -2,6 +2,7 @@ source "https://rubygems.org" +gem "minitest", "~> 5.0" gem "rails", "~> 7.2.0" gem "sqlite3", "~> 1.4" gem "puma", ">= 5.6.8" diff --git a/test/test_apps/8.0/Appraisals b/test/test_apps/8.0/Appraisals index 0553ce8b..16c6c471 100644 --- a/test/test_apps/8.0/Appraisals +++ b/test/test_apps/8.0/Appraisals @@ -1,7 +1,6 @@ # frozen_string_literal: true -case RUBY_VERSION -when '3.2.5', '3.3.6', '3.4.1' +if Gem::Requirement.new(['>= 3.3', '< 4.1']).satisfied_by?(Gem::Version.new(RUBY_VERSION)) appraise "ruby-#{RUBY_VERSION}" do end else diff --git a/test/test_apps/8.0/Gemfile b/test/test_apps/8.0/Gemfile index c96bdda7..0fc8fc78 100644 --- a/test/test_apps/8.0/Gemfile +++ b/test/test_apps/8.0/Gemfile @@ -2,6 +2,7 @@ source 'https://rubygems.org' git_source(:github) { |repo| "https://github.com/#{repo}.git" } # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' +gem 'minitest', '~> 5.0' gem 'rails', '~> 8.0.0' # Use sqlite3 as the database for Active Record gem 'sqlite3', '~> 2.1' diff --git a/test/test_apps/8.0/gemfiles/ruby_3.3.6.gemfile b/test/test_apps/8.0/gemfiles/ruby_3.3.10.gemfile similarity index 95% rename from test/test_apps/8.0/gemfiles/ruby_3.3.6.gemfile rename to test/test_apps/8.0/gemfiles/ruby_3.3.10.gemfile index b081e663..426af238 100644 --- a/test/test_apps/8.0/gemfiles/ruby_3.3.6.gemfile +++ b/test/test_apps/8.0/gemfiles/ruby_3.3.10.gemfile @@ -2,6 +2,7 @@ source "https://rubygems.org" +gem "minitest", "~> 5.0" gem "rails", "~> 8.0.0" gem "sqlite3", "~> 2.1" gem "puma", ">= 5.6.8" diff --git a/test/test_apps/8.0/gemfiles/ruby_3.4.1.gemfile b/test/test_apps/8.0/gemfiles/ruby_3.4.8.gemfile similarity index 95% rename from test/test_apps/8.0/gemfiles/ruby_3.4.1.gemfile rename to test/test_apps/8.0/gemfiles/ruby_3.4.8.gemfile index b081e663..426af238 100644 --- a/test/test_apps/8.0/gemfiles/ruby_3.4.1.gemfile +++ b/test/test_apps/8.0/gemfiles/ruby_3.4.8.gemfile @@ -2,6 +2,7 @@ source "https://rubygems.org" +gem "minitest", "~> 5.0" gem "rails", "~> 8.0.0" gem "sqlite3", "~> 2.1" gem "puma", ">= 5.6.8" diff --git a/test/test_apps/8.0/gemfiles/ruby_3.2.5.gemfile b/test/test_apps/8.0/gemfiles/ruby_4.0.1.gemfile similarity index 95% rename from test/test_apps/8.0/gemfiles/ruby_3.2.5.gemfile rename to test/test_apps/8.0/gemfiles/ruby_4.0.1.gemfile index b081e663..426af238 100644 --- a/test/test_apps/8.0/gemfiles/ruby_3.2.5.gemfile +++ b/test/test_apps/8.0/gemfiles/ruby_4.0.1.gemfile @@ -2,6 +2,7 @@ source "https://rubygems.org" +gem "minitest", "~> 5.0" gem "rails", "~> 8.0.0" gem "sqlite3", "~> 2.1" gem "puma", ">= 5.6.8" diff --git a/test/test_apps/8.1/Appraisals b/test/test_apps/8.1/Appraisals index 0553ce8b..16c6c471 100644 --- a/test/test_apps/8.1/Appraisals +++ b/test/test_apps/8.1/Appraisals @@ -1,7 +1,6 @@ # frozen_string_literal: true -case RUBY_VERSION -when '3.2.5', '3.3.6', '3.4.1' +if Gem::Requirement.new(['>= 3.3', '< 4.1']).satisfied_by?(Gem::Version.new(RUBY_VERSION)) appraise "ruby-#{RUBY_VERSION}" do end else diff --git a/test/test_apps/8.1/gemfiles/ruby_3.2.5.gemfile b/test/test_apps/8.1/gemfiles/ruby_3.3.10.gemfile similarity index 100% rename from test/test_apps/8.1/gemfiles/ruby_3.2.5.gemfile rename to test/test_apps/8.1/gemfiles/ruby_3.3.10.gemfile diff --git a/test/test_apps/8.1/gemfiles/ruby_3.3.6.gemfile b/test/test_apps/8.1/gemfiles/ruby_3.4.8.gemfile similarity index 100% rename from test/test_apps/8.1/gemfiles/ruby_3.3.6.gemfile rename to test/test_apps/8.1/gemfiles/ruby_3.4.8.gemfile diff --git a/test/test_apps/8.1/gemfiles/ruby_3.4.1.gemfile b/test/test_apps/8.1/gemfiles/ruby_4.0.1.gemfile similarity index 100% rename from test/test_apps/8.1/gemfiles/ruby_3.4.1.gemfile rename to test/test_apps/8.1/gemfiles/ruby_4.0.1.gemfile