module Fog::Proxmox::IpHelper

module IpHelper mixins

Constants

CIDRv4_PREFIX
CIDRv4_PREFIX_REGEXP
CIDRv4_REGEXP
CIDRv6_PREFIX
CIDRv6_PREFIX_REGEXP
CIDRv6_REGEXP
IPv4_SRC
IPv6_SRC

Public Class Methods

cidr6?(ip) click to toggle source
# File lib/fog/proxmox/helpers/ip_helper.rb, line 41
def self.cidr6?(ip)
  CIDRv6_REGEXP.match?(ip)
end
cidr6_prefix?(prefix) click to toggle source
# File lib/fog/proxmox/helpers/ip_helper.rb, line 69
def self.cidr6_prefix?(prefix)
  CIDRv6_PREFIX_REGEXP.match?(prefix) && prefix.to_i >= 0 && prefix.to_i <= 128
end
cidr?(ip) click to toggle source
# File lib/fog/proxmox/helpers/ip_helper.rb, line 37
def self.cidr?(ip)
  CIDRv4_REGEXP.match?(ip)
end
cidr_prefix?(prefix) click to toggle source
# File lib/fog/proxmox/helpers/ip_helper.rb, line 65
def self.cidr_prefix?(prefix)
  CIDRv4_PREFIX_REGEXP.match?(prefix)
end
ip(ip) click to toggle source
# File lib/fog/proxmox/helpers/ip_helper.rb, line 73
def self.ip(ip)
  if cidr = CIDRv4_REGEXP.match(ip)
    cidr[1]
  end
end
ip6(ip) click to toggle source
# File lib/fog/proxmox/helpers/ip_helper.rb, line 79
def self.ip6(ip)
  if cidr = CIDRv6_REGEXP.match(ip)
    cidr[1]
  end
end
ip6?(ip) click to toggle source
# File lib/fog/proxmox/helpers/ip_helper.rb, line 61
def self.ip6?(ip)
  Resolv::IPv6::Regex.match?(ip)
end
ip?(ip) click to toggle source
# File lib/fog/proxmox/helpers/ip_helper.rb, line 57
def self.ip?(ip)
  Resolv::IPv4::Regex.match?(ip)
end
prefix(ip) click to toggle source
# File lib/fog/proxmox/helpers/ip_helper.rb, line 45
def self.prefix(ip)
  if cidr = CIDRv4_REGEXP.match(ip)
    cidr[7]
  end
end
prefix6(ip) click to toggle source
# File lib/fog/proxmox/helpers/ip_helper.rb, line 51
def self.prefix6(ip)
  if cidr = CIDRv6_REGEXP.match(ip)
    cidr[3]
  end
end
to_cidr(ip,prefix = nil) click to toggle source
# File lib/fog/proxmox/helpers/ip_helper.rb, line 85
def self.to_cidr(ip,prefix = nil)
  return nil unless self.ip?(ip) && (!prefix || self.cidr_prefix?(prefix))
  cidr = "#{ip}"
  cidr += "/#{prefix}" if self.cidr_prefix?(prefix)
  cidr
end
to_cidr6(ip,prefix = nil) click to toggle source
# File lib/fog/proxmox/helpers/ip_helper.rb, line 92
def self.to_cidr6(ip,prefix = nil)
  return nil unless self.ip6?(ip) && (!prefix || self.cidr6_prefix?(prefix))
  cidr = "#{ip}"
  cidr += "/#{prefix}" if self.cidr6_prefix?(prefix)
  cidr
end