diff options
Diffstat (limited to 'lib/ipaddress.rb')
-rw-r--r-- | lib/ipaddress.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/ipaddress.rb b/lib/ipaddress.rb index 00a1eee..50336f0 100644 --- a/lib/ipaddress.rb +++ b/lib/ipaddress.rb @@ -5,6 +5,35 @@ require 'ipaddress/ipbase' require 'ipaddress/ipv4' require 'ipaddress/ipv6' +# +# IPAddress is a wrapper method built around +# IPAddress's library classes. Its purpouse is to +# make you indipendent from the type of IP address +# you're going to use. +# +# For example, instead of creating the three types +# of IP addresses using their own contructors +# +# ip = IPAddress::IPv4.new "172.16.10.1/24" +# ip6 = IPAddress::IPv6.new "2001:db8::8:800:200c:417a/64" +# ip_mapped = IPAddress::IPv6::Mapped "::ffff:172.16.10.1/128" +# +# you can just use the IPAddress wrapper: +# +# ip = IPAddress "172.16.10.1/24" +# ip6 = IPAddress "2001:db8::8:800:200c:417a/64" +# ip_mapped = IPAddress "::ffff:172.16.10.1/128" +# +# All the object created will be instances of the +# correct class: +# +# ip.class +# #=> IPAddress::IPv4 +# ip6.class +# #=> IPAddress::IPv6 +# ip_mapped.class +# #=> IPAddress::IPv6::Mapped +# def IPAddress(str) case str when /:.+\./ |