summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authordrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-05-22 02:21:56 +0000
committerdrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-05-22 02:21:56 +0000
commit95e1fc5b4e3125e866ec855dec7c2d888706dd00 (patch)
treeeb9143956c5fb90b762210513a2e9ff3cb53aba2 /lib
parentbb34bcbe470d62b6dccac38ef0a1e8ee435b8530 (diff)
* lib/ipaddr.rb: Improve documentation. Patch by Sandor Szucs.
[Ruby 1.9 - Bug #4753] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r--lib/ipaddr.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/ipaddr.rb b/lib/ipaddr.rb
index 317f5c9458..b6e7dad918 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+$/