Fix #4736: Display network prefix length (if present) in API key IP whitelist.

This commit is contained in:
evazion
2021-03-01 02:23:05 -06:00
parent e5bbc039ae
commit 35a0c6b11f
8 changed files with 42 additions and 12 deletions

View File

@@ -0,0 +1,23 @@
# A wrapper around the IPAddress gem that adds some extra utility methods.
#
# https://github.com/ipaddress-gem/ipaddress
module Danbooru
class IpAddress
attr_reader :ip_address
delegate_missing_to :ip_address
def initialize(string)
@ip_address = ::IPAddress.parse(string)
end
# "1.2.3.4/24" if the address is a subnet, "1.2.3.4" otherwise.
def to_s
ip_address.size > 1 ? ip_address.to_string : ip_address.to_s
end
def inspect
"#<Danbooru::IpAddress #{to_s}>"
end
end
end