Type:
Class
Constants:
IN4MASK : 0xffffffff

32 bit mask for IPv4

IN6MASK : 0xffffffffffffffffffffffffffffffff

128 bit mask for IPv4

IN6FORMAT : (["%.4x"] * 8).join(':')

Format string for IPv6

RE_IPV4ADDRLIKE : %r{ \A (\d+) \. (\d+) \. (\d+) \. (\d+) \z }x

Regexp internally used for parsing IPv4 address.

RE_IPV6ADDRLIKE_FULL : %r{ \A (?: (?: [\da-f]{1,4} : ){7} [\da-f]{1,4} | ( (?: [\da-f]{1,4} : ){6} ) (\d+) \. (\d+) \. (\d+) \. (\d+) ) \z }xi

Regexp internally used for parsing IPv6 address.

RE_IPV6ADDRLIKE_COMPRESSED : %r{ \A ( (?: (?: [\da-f]{1,4} : )* [\da-f]{1,4} )? ) :: ( (?: ( (?: [\da-f]{1,4} : )* ) (?: [\da-f]{1,4} | (\d+) \. (\d+) \. (\d+) \. (\d+) ) )? ) \z }xi

Regexp internally used for parsing IPv6 address.

IPAddr provides a set of methods to manipulate an IP address. Both IPv4 and IPv6 are supported.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
require 'ipaddr'
 
ipaddr1 = IPAddr.new "3ffe:505:2::1"
 
p ipaddr1                   #=> #<IPAddr: IPv6:3ffe:0505:0002:0000:0000:0000:0000:0001/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff>
 
p ipaddr1.to_s              #=> "3ffe:505:2::1"
 
ipaddr2 = ipaddr1.mask(48#=> #<IPAddr: IPv6:3ffe:0505:0002:0000:0000:0000:0000:0000/ffff:ffff:ffff:0000:0000:0000:0000:0000>
 
p ipaddr2.to_s              #=> "3ffe:505:2::"
 
ipaddr3 = IPAddr.new "192.168.2.0/24"
 
p ipaddr3                   #=> #<IPAddr: IPv4:192.168.2.0/255.255.255.0>
<<
  • References/Ruby on Rails/Ruby/Classes/IPAddr

<<(num) Instance Public methods Returns a new ipaddr built by bitwise

2025-01-10 15:47:30
==
  • References/Ruby on Rails/Ruby/Classes/IPAddr

==(other) Instance Public methods Returns true if two ipaddrs are equal.

2025-01-10 15:47:30
hash
  • References/Ruby on Rails/Ruby/Classes/IPAddr

hash() Instance Public methods Returns a hash value used by

2025-01-10 15:47:30
eql?
  • References/Ruby on Rails/Ruby/Classes/IPAddr

eql?(other) Instance Public methods Checks equality used by

2025-01-10 15:47:30
mask!
  • References/Ruby on Rails/Ruby/Classes/IPAddr

mask!(mask) Instance Protected methods

2025-01-10 15:47:30
reverse
  • References/Ruby on Rails/Ruby/Classes/IPAddr

reverse() Instance Public methods Returns a string for DNS reverse lookup.

2025-01-10 15:47:30
ipv4_compat
  • References/Ruby on Rails/Ruby/Classes/IPAddr

ipv4_compat() Instance Public methods Returns a new ipaddr built by converting

2025-01-10 15:47:30
|
  • References/Ruby on Rails/Ruby/Classes/IPAddr

|(other) Instance Public methods Returns a new ipaddr built by bitwise OR.

2025-01-10 15:47:30
~
  • References/Ruby on Rails/Ruby/Classes/IPAddr

~() Instance Public methods Returns a new ipaddr built by bitwise negation.

2025-01-10 15:47:30
mask
  • References/Ruby on Rails/Ruby/Classes/IPAddr

mask(prefixlen) Instance Public methods Returns a new ipaddr built by masking

2025-01-10 15:47:30