Sha256: 909ec9f3ad9bf1e26ddf4f3b7d7b72cdc8b7f5d006b928ed39790eb0de33fea9
Contents?: true
Size: 972 Bytes
Versions: 4
Compression:
Stored size: 972 Bytes
Contents
module Validator require "ipaddress" class IpAddress def initialize(value) @value = value end # check if ip has prefix def has_prefix? @value =~ /\// end # IPv4 addresses which are only 32 bits long def valid_ipv4_prefix? prefix = get_prefix (prefix >= 1 and prefix <= 32) end # IPv6 addresses are 128 bits long def valid_ipv6_prefix? prefix = get_prefix (prefix >= 1 and prefix <= 128) end # IPv4 determination by . (dot) def is_ipv4? @value =~ /\./ end def valid_prefix? if is_ipv4? valid_ipv4_prefix? else valid_ipv6_prefix? end end def valid_ipv4? IPAddress(@value).ipv4? rescue false end def valid_ipv6? IPAddress(@value).ipv6? rescue false end def valid? valid_ipv4? || valid_ipv6? end private def get_prefix @value.split("/").last.to_i end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
validator-0.1.1 | lib/validator/ip_address.rb |
validator-0.1.0 | lib/validator/ip_address.rb |
validator-0.0.2 | lib/validator/ip_address.rb |
validator-0.0.1 | lib/validator/ip_address.rb |