This adds an appraisal for railties v 7.0, and adds CI coverage for Ruby 2.6 through 3.1.
For Ruby 3.0+ support, I had to:
Make more consistent use of keyword arguments for methods that expect them. (i.e. passing **args instead of args)
Change the optional force: false argument on "change protection" method overrides so that it acts as a hashy opts = {} argument instead of a keyword argument. This ensures that a method call like update_all(foo: 'bar') will treat foo: 'bar' as the attributes argument, instead of eliding it into the keyword args.
Other Information
I switched from CircleCI to GitHub Actions, mostly to get coverage across multiple Ruby versions, but also because it's a lot simpler for a project like this.
Switched from rubocop-betterment to betterlint and made a bunch of linter corrections.
I also added uncruft and addressed a couple spec-only deprecation warnings.
Summary
This adds an appraisal for
railties
v7.0
, and adds CI coverage for Ruby 2.6 through 3.1.For Ruby 3.0+ support, I had to:
**args
instead ofargs
)force: false
argument on "change protection" method overrides so that it acts as a hashyopts = {}
argument instead of a keyword argument. This ensures that a method call likeupdate_all(foo: 'bar')
will treatfoo: 'bar'
as theattributes
argument, instead of eliding it into the keyword args.Other Information
rubocop-betterment
tobetterlint
and made a bunch of linter corrections.uncruft
and addressed a couple spec-only deprecation warnings./domain @Betterment/journaled-owners @coreyja /no-platform