Method: Legitbot::Validators::IpRanges::ClassMethods#partition_ips

Defined in:
lib/legitbot/validators/ip_ranges.rb

#partition_ips(ips) ⇒ Object



62
63
64
65
66
67
68
69
70
71
72
# File 'lib/legitbot/validators/ip_ranges.rb', line 62

def partition_ips(ips)
  return [] unless ips&.any?

  ips
    .map { |cidr| IPAddr.new(cidr) }
    .partition(&:ipv4?)
    .each_with_index
    .map do |list, index|
      [FAMILIES[index], build_interval_tree(list)]
    end.to_h
end