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
The reason some projects have both is so that some spec files can be
run in isolation, without the rails stuff. In practice, I don't find
myself ever doing this. So, the complexity of two files is unnecessary.
`have_a_version_with` and `have_a_version_with_changes` had the
`versions` association call hardcoded.
If `has_paper_trail` had the `versions` option set to something else
(e.g: `has_paper_trail versions: :paper_trail_versions`) the matcher
couldn't be used.
This fixes that issue by dynamically fetching the association name from
the `:versions_association_name` class attribute.