* Update sqlite3 to a version that works on M1
* Always use SQLite ~> 1.4
Rails 5.2 changed at some point to not specify a version. < 1.4 of
sqlite fails to build on Apple M1s.
Prior to this commit, the `Gemfile.lock` enforced the use of
Bundler v1.17.3 which was released in 2014.
On Ruby 3, this triggers the following deprecation warning:
```
/home/user/.rvm/gems/ruby-3.0.2@shoulda-matchers/gems/bundler-1.17.3/lib/bundler/shared_helpers.rb:118: warning: Pathname#untaint is deprecated and will be removed in Ruby 3.2.
```
Since the gem itself in v5.0.0 requires at least Ruby v2.6,
it seems fair to require a recent version of Bundler v2,
which in turn runs of every Ruby v2.3 or later.
* Add Appraisal for Rails 6.1
* Upgrade Rails
* fix: standardize error message of association matcher
* Bump listen version to v3.5.1
* Fix the wrong number of arguments (given 2, expected 1)
* Remove deprecated method
* Update Rails to 6.1.3.2
* Remove test for ActiveModel::Errors#generate_message
* Missing ':through' option for has_many association.
* Fix the actual_foreign_key method that is returning a string instead of an array of foreign keys
* Fix Bundler::GemNotFound: Could not find gem 'puma (~> 5.0)'
* Fix Bundler::GemNotFound: Could not find gem 'rack-mini-profiler (~> 2.0)'
* Bump rspec-rails to 4.1.2
* Fix 'rails generate' not working with Rails 6.1
* Fix warning: Using the last argument as keyword parameters is deprecated
* Add ruby 3.0 support
* Update listen to support ruby 3.0
* Prevent CI testing Ruby 3.0 with Rails 5.x
* Fix action/cache key
* Update nokogiri
* Use Ruby 3.0.1 for development
* Remove webdrivers gem
Fix warning: The Metrics/LineLength has the wrong namespace - should be Layout
Fix warning: The `Layout/AlignArguments` cop has been renamed to `Layout/ArgumentAlignment`.
Fix warning: The `Layout/AlignParameters` cop has been renamed to `Layout/ParameterAlignment`.
Fix warning: The `Layout/IndentHeredoc` cop has been renamed to `Layout/HeredocIndentation`.
Fix warning: The `Lint/HandleExceptions` cop has been renamed to `Lint/SuppressedException`.
Set new cops as disable for default
`warnings_spy` was a little library I wrote to report warnings that came
up during test runs and fail the CI build. A while back I extracted it
to `warnings_logger`, so the version that exists here is obsolete.
* Add Rails 6 appraisal to start testing against it.
* Fix usage of Module#parent as this is deprecated in Rails 6 in favor
of Module#module_parent.
* Ensure that we're using the correct version of `sqlite3` and `pg` at
all times
* When creating classes within tests, ensure that they are removed
correctly
* Fix detection of has_secure_password in models: Check that
InstanceMethodsOnActivation is specifically defined, as Rails 6 no
longer has such a module.
Co-authored-by: Lee Machin <me@mrl.ee>