Project

General

Profile

Feature #4687 ยป ipaddr.patch

smartinez87 (Sebastian Martinez), 05/13/2011 09:33 PM

View differences:

lib/ipaddr.rb
end
class << IPSocket
# Returns +true+ if addr is a valid IPv4 address.
def valid_v4?(addr)
if /\A(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\Z/ =~ addr
return $~.captures.all? {|i| i.to_i < 256}
......
return false
end
# Returns +true+ if addr is a valid IPv6 address.
def valid_v6?(addr)
# IPv6 (normal)
return true if /\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*\Z/ =~ addr
......
false
end
# Returns +true+ if addr is either a valid IPv4 or IPv6 address.
def valid?(addr)
valid_v4?(addr) || valid_v6?(addr)
end
    (1-1/1)