Allow proc and symbol as values for only_integer
of NumericalityValidator
#15834
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.
We have to dynamically decide of the value should be validated as float or as integer. This PR adds the possibility of defining a symbol or a Proc as value for the
only_integer
option, while preserving the old behaviour of just setting a boolean.I see one difference in behaviour to the existing version: If you provided a symbol instead of a boolean before, it was always handled as truthness (the same as
only_integer: true
). With this PR applied it would raise anNoMethodError
, because it tries to call the method on the object. Should I handle that to keep full backwards compatibility?Thank you Rails team for your hard work! Happy to get any feedback :)