Improve validate_inclusion_of matcher boolean warn messages#1692
Merged
matsales28 merged 1 commit intothoughtbot:mainfrom Jan 9, 2026
Merged
Improve validate_inclusion_of matcher boolean warn messages#1692matsales28 merged 1 commit intothoughtbot:mainfrom
matsales28 merged 1 commit intothoughtbot:mainfrom
Conversation
Closes thoughtbot#1688 The generated warn messages for the validate_inclusion_of matcher do not include the model/attribute names, which makes it hard to know where to look at to update/remove the tests. Following the library's existing warn messages behaviour of including the attribute in the message, I did the same here. I believe this is a simple but helpful improvement to help users fix those warnings. For example: https://github.com/thoughtbot/shoulda-matchers/blob/main/lib/shoulda/matchers/active_model/errors.rb#L17 I did consider adding the line/caller location, but I didn't find an example of that in the library, and decided to propose simply adding the model#attribute names.
matsales28
approved these changes
Jan 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Closes #1688
The generated warn messages for the validate_inclusion_of matcher do not include the model/attribute names, which makes it hard to know where to look at to update/remove the tests.
Following the library's existing warn messages behaviour of including the attribute in the message, I did the same here. I believe this is a simple but helpful improvement to help users fix those warnings. For example: https://github.com/thoughtbot/shoulda-matchers/blob/main/lib/shoulda/matchers/active_model/errors.rb#L17
I did consider adding the line/caller location, but I didn't find an example of that in the library, and decided to propose simply adding the model#attribute names.
Is this enough? Happy to try a different approach :)
Ruby script showing an example of the improved warn message: https://gist.github.com/stefannibrasil/fcc8362bbd050e4f3bcc568b9fc7ec9d