ip/lib/string/chars/ip/prefix.ex
2018-09-04 03:25:04 +00:00

23 lines
512 B
Elixir

defimpl String.Chars, for: IP.Prefix do
alias IP.Prefix
@moduledoc """
Implements `String.Chars` for `IP.Prefix`.
"""
@doc ~S"""
Convert a `prefix` into a string representation.
## Examples
iex> address = IP.Address.from_string!("192.0.2.1", 4)
...> prefix = IP.Prefix.new(address, 32)
...> "#{prefix}"
"192.0.2.1/32"
"""
def to_string(%Prefix{} = prefix) do
length = Prefix.length(prefix)
address = Prefix.first(prefix)
"#{address}/#{length}"
end
end