I've been using the appraisal gem quite a bit with my company to help migrate one of the main services from Rails 4 to Rails 5. A common pattern that I've noticed during the migration, is that there are certain gems that need to be installed in the current production version, that are no longer necessary for the the appraisals. It would be nice if there was a way to designate a gem in an appraise block with :drop or :remove so that the generated Gemfile will not include that gem.
An example Gemfile and Appraisals file would look like the following:
Gemfile
gem 'rails', '~> 4.2'
group :test do
gem 'rspec', '~> 4.0'
gem 'test_after_commit'
end
Appraisals
appraise 'rails-5' do
gem 'rails', '~> 5.2'
group :test do
gem 'test_after_commit', :remove
end
end
To produce:
gemfiles/rails_5.gemfile
gem 'rails', '~> 5.2'
group :test do
gem 'rspec', '~> 4.0'
end
If this feature is of interest, I can make a PR to add it.
I've been using the
appraisal
gem quite a bit with my company to help migrate one of the main services from Rails 4 to Rails 5. A common pattern that I've noticed during the migration, is that there are certain gems that need to be installed in the current production version, that are no longer necessary for the the appraisals. It would be nice if there was a way to designate a gem in anappraise
block with:drop
or:remove
so that the generated Gemfile will not include that gem.An example Gemfile and Appraisals file would look like the following:
Gemfile
Appraisals
To produce: gemfiles/rails_5.gemfile
If this feature is of interest, I can make a PR to add it.