ruby Custom types using dry-logic and predicates Build custom types for IPv4 and IPv6 using dry-logic and predicates.