Module: Nifty::Utils::Networks

Defined in:
lib/nifty/utils/networks.rb

Class Method Summary collapse

Class Method Details

.ip_in_networks?(ip, networks = []) ⇒ Boolean

Returns:

  • (Boolean)


7
8
9
# File 'lib/nifty/utils/networks.rb', line 7

def self.ip_in_networks?(ip, networks = [])
  !!network_for_ip(networks, ip)
end

.network_for_ip(networks, ip) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/nifty/utils/networks.rb', line 11

def self.network_for_ip(networks, ip)
  networks.each do |i|
    if IPAddr.new(i).include?(ip)
      return i
    end
  end
  return nil
rescue ArgumentError => e
  if e.message == 'invalid address'
    return nil
  else
    raise
  end
end