Fix "annotate models" functionality for models in subdirectories #38762
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Follow-up to #37175
Since upgrading the annotate gem as part of the Rails upgrade work, we've been getting warnings indicating that the gem is unable to annotate any of our models contained in subdirectories of the
models
dir:I discovered that this is an open bug in annotate (ctran/annotate_models#758) and in fact some other users had already done the investigation to figure out exactly what change needed to be made. I opened a PR to implement their fix (ctran/annotate_models#848), but while we wait for it to get accepted and released I figured we might as well implement a workaround.
The simple workaround is to make sure that the configuration variable containing the paths to look in for files consists of just strings and no Pathnames.
Testing story
Ran
bundle exec annotate --models
; confirmed that not only does it run without generating warnings but it also successfully updates the annotations for the models it was previously warning about. I've included those updates in this PR.Reviewer Checklist: