summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMarco Ceresa <ceresa@gmail.com>2010-02-10 15:48:12 +0000
committerMarco Ceresa <ceresa@gmail.com>2010-02-10 15:48:12 +0000
commit8d58cdf9af5a6e87e871ff71758ce685b5675f57 (patch)
treee999d29fb6b356b682a3fdcd9d7ed9177d4b4fed /lib
parentb3b6f0529017568a8d9639159a4b503e361b5fe5 (diff)
downloadipaddress-8d58cdf9af5a6e87e871ff71758ce685b5675f57.tar.gz
reached 100% coverage in IPv6 tests
Diffstat (limited to 'lib')
-rw-r--r--lib/ipaddress.rb7
-rw-r--r--lib/ipaddress/ipv6.rb8
2 files changed, 5 insertions, 10 deletions
diff --git a/lib/ipaddress.rb b/lib/ipaddress.rb
index 4752e01..7fcca05 100644
--- a/lib/ipaddress.rb
+++ b/lib/ipaddress.rb
@@ -6,8 +6,11 @@ require 'ipaddress/ipv4'
require 'ipaddress/ipv6'
def IPAddress(str)
- if str.include? "-"
+ case str
+ when /\-/
IPAddress::Range.new(str)
+ when /[:\.]/
+ IPAddress::IPv6::Mapped.new(str)
else
begin
IPAddress::IPv4.new(str)
@@ -16,7 +19,7 @@ def IPAddress(str)
end
end
end
-
+
diff --git a/lib/ipaddress/ipv6.rb b/lib/ipaddress/ipv6.rb
index 997a97e..3a8806f 100644
--- a/lib/ipaddress/ipv6.rb
+++ b/lib/ipaddress/ipv6.rb
@@ -27,7 +27,6 @@ module IPAddress;
def initialize(str)
ip, netmask = str.split("/")
- # Check the ip and remove white space
if IPAddress.valid_ipv6?(ip)
@groups = self.class.groups(ip)
@address = IN6FORMAT % @groups
@@ -35,13 +34,6 @@ module IPAddress;
else
raise ArgumentError, "Invalid IP #{ip.inspect}"
end
-
- # # Check the prefix
- # if netmask =~ /^\d{1,3}$/
- # @prefix = Prefix128.new(netmask.to_i)
- # else
- # @prefix = Prefix128.new(128)
- # end
@prefix = Prefix128.new(netmask ? netmask : 128)