Class: IPSocket
| Relationships & Source Files | |
| Inherits: | Object | 
| Defined in: | lib/ipaddr.rb | 
Class Method Summary
- 
    
      .getaddress(s)  
    
    Returns a Stringbased representation of a valid DNS hostname, IPv4 or IPv6 address.
- .getaddress_orig private
- .valid_v6?(addr) ⇒ Boolean private
Class Method Details
.getaddress(s)
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"# File 'lib/ipaddr.rb', line 845
def getaddress(s) if valid_v6?(s) s else getaddress_orig(s) end end
.getaddress_orig (private)
[ GitHub ]# File 'lib/ipaddr.rb', line 834
alias getaddress_orig getaddress
    .valid_v6?(addr)  ⇒ Boolean  (private)
  
# File 'lib/ipaddr.rb', line 815
def valid_v6?(addr) case addr when IPAddr::RE_IPV6ADDRLIKE_FULL if $2 $~[2,4].all? {|i| i.to_i < 256 } else true end when IPAddr::RE_IPV6ADDRLIKE_COMPRESSED if $4 addr.count(':') <= 6 && $~[4,4].all? {|i| i.to_i < 256} else addr.count(':') <= 7 end else false end end