Method: IPAdmin::CIDR#network

Defined in:
lib/ip_admin.rb

#network(options = nil) ⇒ Object Also known as: base, first

Provide base network address.

  • Arguments:

    • Optional Hash with the following fields:

      - :Objectify -- if true, return IPAdmin::CIDR object (optional)
      - :Short -- if true, return IPv6 addresses in short-hand notation (optional)
      
  • Returns:

    • IP address or IPAdmin::CIDR object.

Example:

puts cidr4.network()   --> 192.168.1.0


2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
# File 'lib/ip_admin.rb', line 2066

def network(options=nil)
    objectify = false
    short = false
    
    if (options)
        unless(options.kind_of?(Hash))
            raise Argumenterror, "Expected Hash, but " +
                                 "#{options.class} provided."
        end
        
        if( options.has_key?(:Short) )
            short = true
        end
        
        if( options.has_key?(:Objectify) )
            objectify = true
        end
    end

    if (@version == 4)
        ip = IPAdmin.unpack_ipv4_addr(@network)
    else
        ip = IPAdmin.unpack_ipv6_addr(@network)
        ip = IPAdmin.shorten(ip) if (short && !objectify)
    end
    
    if (objectify)
        ip = IPAdmin::CIDR.new(:CIDR => ip)
    end

    return(ip)
end