Add .is_name? And Strengthen .is_ip_addr? Validation #65
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.
This makes two changes. The first is it adds a
.is_name?
regex that can be used to test if a string appears to be a valid DNS hostname. It does not perform any DNS resolution, it only checks that it appears to be well constructed, e.g. it does not contain any bad characters likethis;&isNotAValid_(Name)
.This second change is to strengthen the existing
.is_ipv4?
and.is_ipv6?
tests to ensure that when the result is true, that the same value can be passed toIPAddr.new
without worrying about an exception. More specifically, due to how whitespace was being handled, strings which contained new lines could evaluate to true, despite not being proper IP addresses. New unit tests were added for this.Example: