class Integer

Adds IP-related methods to all Integers

Constants

Mask32_

Public Instance Methods

max_mask_bits() click to toggle source
# File lib/iface/ip_helpers.rb, line 30
def max_mask_bits
  to_s(2)[/(0*)$/, 1].size
end
to_ip(ipver = 4) click to toggle source
# File lib/iface/ip_helpers.rb, line 7
def to_ip(ipver = 4)
  to_ipaddr(ipver).to_s
end
to_ipaddr(ipver = 4) click to toggle source
# File lib/iface/ip_helpers.rb, line 19
def to_ipaddr(ipver = 4)
  case ipver
  when 4
    to_ipaddr4
  when 6
    to_ipaddr6
  else
    raise ArgumentError, "Expecting argument 1 to be either 4 or 6; got #{ipver.inspect}"
  end
end
to_ipaddr4() click to toggle source
# File lib/iface/ip_helpers.rb, line 11
def to_ipaddr4
  IPAddr.new_ntoh([self].pack('N'))
end
to_ipaddr6() click to toggle source
# File lib/iface/ip_helpers.rb, line 15
def to_ipaddr6
  IPAddr.new_ntoh([(self >> 96), (self >> 64) & Mask32_, (self >> 32) & Mask32_, self & Mask32_].pack('N*'))
end