* Bump Rails from 5.2.6 to 5.2.8.1
* Bump Rails from 6.0.4.4 to 6.0.6
* Bump Rails from 6.1.4.4 to 6.1.7
* test: skip validates_presence_of test with has_secure_password when rails greater than 6.0
See: https://github.com/rails/rails/pull/43378
* Bump Rails from 7.0.1 to 7.0.4
* 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.
`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>