class IPAddress::Prefix128
Public Class Methods
Source
# File lib/ipaddress/prefix.rb, line 216 def initialize(num=128) unless (0..128).include? num.to_i raise ArgumentError, "Prefix must be in range 0..128, got: #{num}" end super(num.to_i) end
Creates a new prefix object for 128 bits IPv6
addresses
prefix = IPAddress::Prefix128.new 64 #=> 64
Calls superclass method
IPAddress::Prefix::new
Public Instance Methods
Source
# File lib/ipaddress/prefix.rb, line 233 def bits "1" * @prefix + "0" * (128 - @prefix) end
Transforms the prefix into a string of bits representing the netmask
prefix = IPAddress::Prefix128.new 64 prefix.bits #=> "1111111111111111111111111111111111111111111111111111111111111111" "0000000000000000000000000000000000000000000000000000000000000000"
Source
# File lib/ipaddress/prefix.rb, line 259 def host_prefix 128 - @prefix end
Returns the length of the host portion of a netmask.
prefix = Prefix128.new 96 prefix.host_prefix #=> 32
Source
# File lib/ipaddress/prefix.rb, line 246 def to_u128 bits.to_i(2) end
Unsigned 128 bits decimal number representing the prefix
prefix = IPAddress::Prefix128.new 64 prefix.to_u128 #=> 340282366920938463444927863358058659840