Class: IPAddr
- Inherits:
-
Object
- Object
- IPAddr
- Defined in:
- lib/freedom_patches/ip_addr.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.handle_wildcards(val) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/freedom_patches/ip_addr.rb', line 4 def self.handle_wildcards(val) return if val.blank? num_wildcards = val.count("*") return val if num_wildcards == 0 # strip ranges like "/16" from the end if present v = val.gsub(%r{/.*}, "") return if v[v.index("*")..-1] =~ /[^\.\*]/ parts = v.split(".") (4 - parts.size).times { parts << "*" } # support strings like 192.* v = parts.join(".") "#{v.tr("*", "0")}/#{32 - (v.count("*") * 8)}" end |
Instance Method Details
#to_cidr_s ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/freedom_patches/ip_addr.rb', line 23 def to_cidr_s if @addr mask = @mask_addr.to_s(2).count("1") if mask == 32 to_s else "#{self}/#{mask}" end else nil end end |