def network_ranges(refresh = false)
      @network_ranges = nil if refresh
      return @network_ranges if @network_ranges
      @network_ranges = {}
      JSS::NetworkSegment.all(refresh, api: self).each do |ns|
        @network_ranges[ns[:id]] = IPAddr.new(ns[:starting_address])..IPAddr.new(ns[:ending_address])
      end
      @network_ranges
    end
def network_ranges(refresh = false)
      @network_ranges = nil if refresh
      return @network_ranges if @network_ranges
      @network_ranges = {}
      JSS::NetworkSegment.all(refresh, api: self).each do |ns|
        @network_ranges[ns[:id]] = IPAddr.new(ns[:starting_address])..IPAddr.new(ns[:ending_address])
      end
      @network_ranges
    end
All NetworkSegments in this jss as IPAddr object Ranges representing the
 Segment, e.g. with starting = 10.24.9.1 and ending = 10.24.15.254
 the range looks like:
   <IPAddr: IPv4:10.24.9.1/255.255.255.255>..#<IPAddr: IPv4:10.24.15.254/255.255.255.255>

 Using the #include? method on those Ranges is very useful.

 @param refresh[Boolean] should the data be re-queried?

 @return [Hash{Integer => Range}] the network segments as IPv4 address Ranges