получить все подходящие сети для IP-адреса от postgres db - PullRequest
1 голос
/ 20 марта 2019

У меня есть postgres db с таблицей networks, которая включает столбец network типа cidr.Я хочу поставить в очередь все сети, которые содержат IP-адрес, который я предоставляю.Я не могу найти, как это сделать.

В настоящее время я вытягиваю все сети, а затем использую метод include?, класс IPAddr обеспечивает:

Network.all.each{|row| pp row if row.network.include?("10.176.0.5")}

1 Ответ

1 голос
/ 20 марта 2019

Вы можете использовать оператор postgres '>>= (включает или равен) или >> (включает), определенный для типа cidr:

Network.where(['network >> ?', "10.176.0.5"])
...