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 40
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 68
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 36
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 64
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 72
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 78
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 60
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 56
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 44
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 50
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 84
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 91
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