From e75043be62ac8ae108e3992de3f7c8f993cf5fb1 Mon Sep 17 00:00:00 2001 From: Sandor Szuecs Date: Sat, 21 May 2011 13:46:51 +0200 Subject: [PATCH] [doc] ipaddr --- lib/ipaddr.rb | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-) diff --git a/lib/ipaddr.rb b/lib/ipaddr.rb index 317f5c9..b6e7dad 100644 --- a/lib/ipaddr.rb +++ b/lib/ipaddr.rb @@ -19,6 +19,7 @@ require 'socket' unless Socket.const_defined? "AF_INET6" class Socket < BasicSocket + # IPv6 protocol family AF_INET6 = Object.new end @@ -51,6 +52,14 @@ unless Socket.const_defined? "AF_INET6" end alias getaddress_orig getaddress + + # Returns a +String+ based representation of a valid DNS hostname, + # IPv4 or IPv6 address. + # + # IPSocket.getaddress 'localhost' #=> "::1" + # IPSocket.getaddress 'broadcasthost' #=> "255.255.255.255" + # IPSocket.getaddress 'www.ruby-lang.org' #=> "221.186.184.68" + # IPSocket.getaddress 'www.ccc.de' #=> "2a00:1328:e102:ccc0::122" def getaddress(s) if valid?(s) s @@ -86,8 +95,11 @@ end class IPAddr + # 32 bit mask for IPv4 IN4MASK = 0xffffffff + # 128 bit mask for IPv4 IN6MASK = 0xffffffffffffffffffffffffffffffff + # Formatstring for IPv6 IN6FORMAT = (["%.4x"] * 8).join(':') # Returns the address family of this IP address. @@ -377,6 +389,9 @@ class IPAddr protected + # Set +@addr+, the internal stored ip address, to given +addr+. The + # parameter +addr+ is validated using the first +family+ member, + # which is +Socket::AF_INET+ or +Socket::AF_INET6+. def set(addr, *family) case family[0] ? family[0] : @family when Socket::AF_INET @@ -397,6 +412,7 @@ class IPAddr return self end + # Set current netmask to given mask. def mask!(mask) if mask.kind_of?(String) if mask =~ /^\d+$/ -- 1.7.5.1