summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbluemonk <ceresa@gmail.com>2011-05-24 14:04:15 +0200
committerbluemonk <ceresa@gmail.com>2011-05-24 14:04:15 +0200
commit10c9350c941ba49d91d01c6fe4074551d9fe4c32 (patch)
tree65d901a5b44ad80290f7abc30f144956b5914763
parent96aaf68210d644157bd57a6ec3e38c49f38bfc34 (diff)
downloadipaddress-10c9350c941ba49d91d01c6fe4074551d9fe4c32.tar.gz
Changed IPAddress.parse() to improve speed (see new wiki benchmark page)
-rw-r--r--lib/ipaddress.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/ipaddress.rb b/lib/ipaddress.rb
index e6c54e5..0b7bd00 100644
--- a/lib/ipaddress.rb
+++ b/lib/ipaddress.rb
@@ -43,8 +43,12 @@ module IPAddress
case str
when /:.+\./
IPAddress::IPv6::Mapped.new(str)
+ when /\./
+ IPAddress::IPv4.new(str)
+ when /:/
+ IPAddress::IPv6.new(str)
else
- IPAddress::IPv4.new(str) rescue IPAddress::IPv6.new(str)
+ raise ArgumentError, "Unknown IP Address #{str}"
end
end