to_s()
  public
  
    
    
Returns a string containing the IP address representation.
   
  
    Show source    
    
      
  def to_s
    str = to_string
    return str if ipv4?
    str.gsub!(/\b0{1,3}([\da-f]+)\b/, '\1')
    loop do
      break if str.sub!(/\A0:0:0:0:0:0:0:0\z/, '::')
      break if str.sub!(/\b0:0:0:0:0:0:0\b/, ':')
      break if str.sub!(/\b0:0:0:0:0:0\b/, ':')
      break if str.sub!(/\b0:0:0:0:0\b/, ':')
      break if str.sub!(/\b0:0:0:0\b/, ':')
      break if str.sub!(/\b0:0:0\b/, ':')
      break if str.sub!(/\b0:0\b/, ':')
      break
    end
    str.sub!(/:{3,}/, '::')
    if /\A::(ffff:)?([\da-f]{1,4}):([\da-f]{1,4})\z/ =~ str
      str = sprintf('::%s%d.%d.%d.%d', $1, $2.hex / 256, $2.hex % 256, $3.hex / 256, $3.hex % 256)
    end
    str
  end