class IPAddr

Constants

MASKS

Socket families and IP address masks

@api private

Public Instance Methods

each() { |_to_string(addr | i)| ... } click to toggle source

Iterates over each IP address that is included in the addresses netmask. Supports both IPv4 and IPv6 addresses.

@yield [ip]

The block which will be passed every IP address covered be the
netmask of the IPAddr object.

@yieldparam [String] ip

An IP address.

@example

netblock = IPAddr.new('10.1.1.1/24')

netblock.each do |ip|
  puts ip
end

@api public

# File lib/ronin/support/core_ext/ipaddr.rb, line 53
def each
  return enum_for(__method__) unless block_given?

  family_mask = MASKS[@family]

  (0..((~@mask_addr) & family_mask)).each do |i|
    yield _to_string(@addr | i)
  end

  return self
end