Skip to content

Commit

Permalink
Test against Rails 7.2
Browse files Browse the repository at this point in the history
  • Loading branch information
mshibuya committed Aug 23, 2024
1 parent 53b89c9 commit 9ea46b1
Show file tree
Hide file tree
Showing 16 changed files with 170 additions and 56 deletions.
5 changes: 5 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,11 @@ jobs:
orm: active_record
adapter: sqlite3
asset: vite
- ruby: "3.3"
gemfile: gemfiles/rails_7.2.gemfile
orm: active_record
adapter: sqlite3
asset: sprockets
- ruby: "3.2"
gemfile: gemfiles/composite_primary_keys.gemfile
orm: active_record
Expand Down
29 changes: 29 additions & 0 deletions Appraisals
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,13 @@ appraise 'rails-6.0' do
end

group :mongoid do
gem 'cancancan-mongoid'
gem 'carrierwave-mongoid', '>= 0.6.3', require: 'carrierwave/mongoid'
gem 'database_cleaner-mongoid', '>= 2.0', require: false
gem 'kaminari-mongoid'
gem 'mongoid', '~> 7.0'
gem 'mongoid-paperclip', '>= 0.0.8', require: 'mongoid_paperclip'
gem 'shrine-mongoid', '~> 1.0'
end
end

Expand All @@ -34,7 +40,13 @@ appraise 'rails-6.1' do
end

group :mongoid do
gem 'cancancan-mongoid'
gem 'carrierwave-mongoid', '>= 0.6.3', require: 'carrierwave/mongoid'
gem 'database_cleaner-mongoid', '>= 2.0', require: false
gem 'kaminari-mongoid'
gem 'mongoid', '~> 7.0'
gem 'mongoid-paperclip', '>= 0.0.8', require: 'mongoid_paperclip'
gem 'shrine-mongoid', '~> 1.0'
end
end

Expand All @@ -51,7 +63,13 @@ appraise 'rails-7.0' do
end

group :mongoid do
gem 'cancancan-mongoid'
gem 'carrierwave-mongoid', '>= 0.6.3', require: 'carrierwave/mongoid'
gem 'database_cleaner-mongoid', '>= 2.0', require: false
gem 'kaminari-mongoid'
gem 'mongoid', '~> 8.0'
gem 'mongoid-paperclip', '>= 0.0.8', require: 'mongoid_paperclip'
gem 'shrine-mongoid', '~> 1.0'
end
end

Expand All @@ -60,10 +78,21 @@ appraise 'rails-7.1' do
gem 'importmap-rails', require: false

group :mongoid do
gem 'cancancan-mongoid'
gem 'carrierwave-mongoid', '>= 0.6.3', require: 'carrierwave/mongoid'
gem 'database_cleaner-mongoid', '>= 2.0', require: false
gem 'kaminari-mongoid'
gem 'mongoid', '~> 8.0'
gem 'mongoid-paperclip', '>= 0.0.8', require: 'mongoid_paperclip'
gem 'shrine-mongoid', '~> 1.0'
end
end

appraise 'rails-7.2' do
gem 'rails', '~> 7.2.0'
gem 'importmap-rails', require: false
end

appraise 'composite_primary_keys' do
gem 'rails', '~> 7.0.0'

Expand Down
9 changes: 0 additions & 9 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ group :test do
gem 'carrierwave', ['>= 2.0.0.rc', '< 3']
gem 'cuprite', '!= 0.15.1'
gem 'database_cleaner-active_record', '>= 2.0', require: false
gem 'database_cleaner-mongoid', '>= 2.0', require: false
gem 'dragonfly', '~> 1.0'
gem 'factory_bot', '>= 4.2', '!= 6.4.5'
gem 'generator_spec', '>= 0.8'
Expand Down Expand Up @@ -54,12 +53,4 @@ group :active_record do
end
end

group :mongoid do
gem 'cancancan-mongoid'
gem 'carrierwave-mongoid', '>= 0.6.3', require: 'carrierwave/mongoid'
gem 'kaminari-mongoid'
gem 'mongoid-paperclip', '>= 0.0.8', require: 'mongoid_paperclip'
gem 'shrine-mongoid', '~> 1.0'
end

gemspec
9 changes: 0 additions & 9 deletions gemfiles/composite_primary_keys.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ group :test do
gem "carrierwave", [">= 2.0.0.rc", "< 3"]
gem "cuprite", "!= 0.15.1"
gem "database_cleaner-active_record", ">= 2.0", require: false
gem "database_cleaner-mongoid", ">= 2.0", require: false
gem "dragonfly", "~> 1.0"
gem "factory_bot", ">= 4.2", "!= 6.4.5"
gem "generator_spec", ">= 0.8"
Expand Down Expand Up @@ -53,12 +52,4 @@ group :active_record do
end
end

group :mongoid do
gem "cancancan-mongoid"
gem "carrierwave-mongoid", ">= 0.6.3", require: "carrierwave/mongoid"
gem "kaminari-mongoid"
gem "mongoid-paperclip", ">= 0.0.8", require: "mongoid_paperclip"
gem "shrine-mongoid", "~> 1.0"
end

gemspec path: "../"
4 changes: 2 additions & 2 deletions gemfiles/rails_6.0.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ group :test do
gem "carrierwave", [">= 2.0.0.rc", "< 3"]
gem "cuprite", "!= 0.15.1"
gem "database_cleaner-active_record", ">= 2.0", require: false
gem "database_cleaner-mongoid", ">= 2.0", require: false
gem "dragonfly", "~> 1.0"
gem "factory_bot", ">= 4.2", "!= 6.4.5"
gem "generator_spec", ">= 0.8"
Expand Down Expand Up @@ -62,10 +61,11 @@ end
group :mongoid do
gem "cancancan-mongoid"
gem "carrierwave-mongoid", ">= 0.6.3", require: "carrierwave/mongoid"
gem "database_cleaner-mongoid", ">= 2.0", require: false
gem "kaminari-mongoid"
gem "mongoid", "~> 7.0"
gem "mongoid-paperclip", ">= 0.0.8", require: "mongoid_paperclip"
gem "shrine-mongoid", "~> 1.0"
gem "mongoid", "~> 7.0"
end

gemspec path: "../"
4 changes: 2 additions & 2 deletions gemfiles/rails_6.1.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ group :test do
gem "carrierwave", [">= 2.0.0.rc", "< 3"]
gem "cuprite", "!= 0.15.1"
gem "database_cleaner-active_record", ">= 2.0", require: false
gem "database_cleaner-mongoid", ">= 2.0", require: false
gem "dragonfly", "~> 1.0"
gem "factory_bot", ">= 4.2", "!= 6.4.5"
gem "generator_spec", ">= 0.8"
Expand Down Expand Up @@ -61,10 +60,11 @@ end
group :mongoid do
gem "cancancan-mongoid"
gem "carrierwave-mongoid", ">= 0.6.3", require: "carrierwave/mongoid"
gem "database_cleaner-mongoid", ">= 2.0", require: false
gem "kaminari-mongoid"
gem "mongoid", "~> 7.0"
gem "mongoid-paperclip", ">= 0.0.8", require: "mongoid_paperclip"
gem "shrine-mongoid", "~> 1.0"
gem "mongoid", "~> 7.0"
end

gemspec path: "../"
4 changes: 2 additions & 2 deletions gemfiles/rails_7.0.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ group :test do
gem "carrierwave", [">= 2.0.0.rc", "< 3"]
gem "cuprite", "!= 0.15.1"
gem "database_cleaner-active_record", ">= 2.0", require: false
gem "database_cleaner-mongoid", ">= 2.0", require: false
gem "dragonfly", "~> 1.0"
gem "factory_bot", ">= 4.2", "!= 6.4.5"
gem "generator_spec", ">= 0.8"
Expand Down Expand Up @@ -62,10 +61,11 @@ end
group :mongoid do
gem "cancancan-mongoid"
gem "carrierwave-mongoid", ">= 0.6.3", require: "carrierwave/mongoid"
gem "database_cleaner-mongoid", ">= 2.0", require: false
gem "kaminari-mongoid"
gem "mongoid", "~> 8.0"
gem "mongoid-paperclip", ">= 0.0.8", require: "mongoid_paperclip"
gem "shrine-mongoid", "~> 1.0"
gem "mongoid", "~> 8.0"
end

gemspec path: "../"
4 changes: 2 additions & 2 deletions gemfiles/rails_7.1.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ group :test do
gem "carrierwave", [">= 2.0.0.rc", "< 3"]
gem "cuprite", "!= 0.15.1"
gem "database_cleaner-active_record", ">= 2.0", require: false
gem "database_cleaner-mongoid", ">= 2.0", require: false
gem "dragonfly", "~> 1.0"
gem "factory_bot", ">= 4.2", "!= 6.4.5"
gem "generator_spec", ">= 0.8"
Expand Down Expand Up @@ -56,10 +55,11 @@ end
group :mongoid do
gem "cancancan-mongoid"
gem "carrierwave-mongoid", ">= 0.6.3", require: "carrierwave/mongoid"
gem "database_cleaner-mongoid", ">= 2.0", require: false
gem "kaminari-mongoid"
gem "mongoid", "~> 8.0"
gem "mongoid-paperclip", ">= 0.0.8", require: "mongoid_paperclip"
gem "shrine-mongoid", "~> 1.0"
gem "mongoid", "~> 8.0"
end

gemspec path: "../"
55 changes: 55 additions & 0 deletions gemfiles/rails_7.2.gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# This file was generated by Appraisal

source "https://rubygems.org"

gem "appraisal", ">= 2.0"
gem "devise", "~> 4.7"
gem "net-smtp", require: false
gem "rails", "~> 7.2.0"
gem "sassc-rails", "~> 2.1"
gem "turbo-rails"
gem "vite_rails", require: false
gem "webpacker", require: false
gem "webrick"
gem "importmap-rails", require: false

group :development, :test do
gem "pry", ">= 0.9"
end

group :test do
gem "cancancan", "~> 3.0"
gem "carrierwave", [">= 2.0.0.rc", "< 3"]
gem "cuprite", "!= 0.15.1"
gem "database_cleaner-active_record", ">= 2.0", require: false
gem "dragonfly", "~> 1.0"
gem "factory_bot", ">= 4.2", "!= 6.4.5"
gem "generator_spec", ">= 0.8"
gem "kt-paperclip"
gem "launchy", ">= 2.2"
gem "mini_magick", ">= 3.4"
gem "pundit"
gem "rack-cache", require: "rack/cache"
gem "rspec-expectations", "!= 3.8.3"
gem "rspec-rails", ">= 4.0.0.beta2"
gem "rspec-retry"
gem "rubocop", ["~> 1.20", "!= 1.22.2"], require: false
gem "rubocop-performance", require: false
gem "shrine", "~> 3.0"
gem "simplecov", ">= 0.9", require: false
gem "simplecov-lcov", require: false
gem "timecop", ">= 0.5"
gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby]
end

group :active_record do
gem "paper_trail", ">= 12.0"

platforms :ruby, :mswin, :mingw, :x64_mingw do
gem "mysql2", ">= 0.3.14"
gem "pg", ">= 1.0.0"
gem "sqlite3", "~> 1.3"
end
end

gemspec path: "../"
6 changes: 5 additions & 1 deletion spec/dummy_app/app/active_record/fanship.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,15 @@ class Fanship < ActiveRecord::Base
self.table_name = :fans_teams
if defined?(CompositePrimaryKeys)
self.primary_keys = :fan_id, :team_id
has_many :favorite_players, foreign_key: %i[fan_id team_id], inverse_of: :fanship
else
self.primary_key = :fan_id, :team_id
end
if defined?(CompositePrimaryKeys) || ActiveRecord.gem_version >= Gem::Version.new('7.2')
has_many :favorite_players, foreign_key: %i[fan_id team_id], inverse_of: :fanship
else
has_many :favorite_players, query_constraints: %i[fan_id team_id], inverse_of: :fanship
end

belongs_to :fan, inverse_of: :fanships, optional: true
belongs_to :team, optional: true
end
Expand Down
5 changes: 4 additions & 1 deletion spec/dummy_app/app/active_record/favorite_player.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@
class FavoritePlayer < ActiveRecord::Base
if defined?(CompositePrimaryKeys)
self.primary_keys = :fan_id, :team_id, :player_id
belongs_to :fanship, foreign_key: %i[fan_id team_id], inverse_of: :favorite_players
else
self.primary_key = :fan_id, :team_id, :player_id
end
if defined?(CompositePrimaryKeys) || ActiveRecord.gem_version >= Gem::Version.new('7.2')
belongs_to :fanship, foreign_key: %i[fan_id team_id], inverse_of: :favorite_players
else
belongs_to :fanship, query_constraints: %i[fan_id team_id], inverse_of: :favorite_players
end

Expand Down
9 changes: 7 additions & 2 deletions spec/dummy_app/app/active_record/field_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,13 @@ class FieldTest < ActiveRecord::Base

has_rich_text :action_text_field if defined?(ActionText)

enum string_enum_field: {S: 's', M: 'm', L: 'l'}
enum integer_enum_field: %i[small medium large]
if ActiveRecord.gem_version >= Gem::Version.new('7.0')
enum :string_enum_field, {S: 's', M: 'm', L: 'l'}
enum :integer_enum_field, %i[small medium large]
else
enum string_enum_field: {S: 's', M: 'm', L: 'l'}
enum integer_enum_field: %i[small medium large]
end

validates :string_field, exclusion: {in: ['Invalid']} # to test file upload caching
end
6 changes: 5 additions & 1 deletion spec/dummy_app/app/active_record/player.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,11 @@ class Player < ActiveRecord::Base
record.errors.add(:base, 'Player is cheating') if /on steroids/.match?(value.to_s)
end

enum formation: {start: 'start', substitute: 'substitute'}
if ActiveRecord.gem_version >= Gem::Version.new('7.0')
enum :formation, {start: 'start', substitute: 'substitute'}
else
enum formation: {start: 'start', substitute: 'substitute'}
end

before_destroy :destroy_hook

Expand Down
6 changes: 5 additions & 1 deletion spec/dummy_app/app/active_record/team.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,11 @@ class Team < ActiveRecord::Base
validates_numericality_of :revenue, allow_nil: true
belongs_to :division, optional: true

enum main_sponsor: %i[no_sponsor food_factory transportation_company bank energy_producer]
if ActiveRecord.gem_version >= Gem::Version.new('7.0')
enum :main_sponsor, %i[no_sponsor food_factory transportation_company bank energy_producer]
else
enum main_sponsor: %i[no_sponsor food_factory transportation_company bank energy_producer]
end

def player_names_truncated
players.collect(&:name).join(', ')[0..32]
Expand Down
Loading

0 comments on commit 9ea46b1

Please sign in to comment.