* Change update_attributes to update
In Rails 6.0 update_attributes/update_attributes! is considered deprecated. Method update/update! is the replacement.
* CI: Don't use Bundler 1.16.1
- Bundler 1.16.1 has bug where dependencies can't be resolved properly
when a gem is a release candidate or an alpha version.
The underlying bundler issue can be found here https://github.com/bundler/bundler/issues/6449
* Disable eager_load in test env:
- In Rails 6.0, rails/rails@3b95478 made a change to eagerly define
attribute methods of a Model when `eager_load` is enabled.
This breaks our test suite because of the way we run migration.
The TL;DR is that doing `People.attribute_names` will return an
empty array instead of `[:id, time_zone, ...]`.
You can find a failing build here https://travis-ci.org/paper-trail-gem/paper_trail/jobs/463369634
Basically what happens is:
1) The dummy app boot, attribute methods of each model are defined
but since migration didn't run yet, the tables aren't even
created resulting in a empty attribute set.
2) Migration runs, but it's already too late.
In this commit I disabled eager_loading in test, AFAIT there isn't
much benefit in eager_loading the dummy app anyway.
Also renaming the `user.rb` file to `postgres_user.rb` in order for
rails autoloading to work correctly.
* integrate versioning into AR touch method
* add touch to list of :on events, deprecate touch_with_version
* integrate versioning into AR touch method
* Add paper_trail.update_columns
Add paper_trail.update_columns so you can record a version when using
update_columns (which skips all callbacks, including the after_update
callback).
* Change recordable_object_changes to not have a default for the changes
argument so that we don't need an exception to
Style/MethodCallWithoutArgsParentheses
* Add back the duplication between record_update and
record_update_columns, at @jaredbeck's request
* - Add Changelog entry for `paper_trail.update_columns`
- Use a guard in `record_update_columns`
- Use Timecop.freeze so that we can guarantee that an expectation will pass
- Add some comments
model_spec is far too long, let's break it up into specs for individual
models in the dummy app.
Extract spec/models/legacy_widget_spec.rb
Extract spec/models/on/empty_array_spec.rb
Extract spec/models/on/create_spec.rb
Extract spec/models/on/update_spec.rb
Extract spec/models/on/destroy_spec.rb
Move an example to config_spec.rb
Extract spec/models/translation_spec.rb
Extract spec/models/article_spec.rb
Move examples to document_spec.rb