when /:.+\./
IPAddress::IPv6::Mapped.new(str)
if value =~ /\:/ converted = value.gsub(/([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})/) { |a| IPAddr.new("::#{a}").to_string.slice(-9, 9) } else converted = value end IPAddress.parse(converted)