ip/lib/ip.ex

29 lines
700 B
Elixir
Raw Normal View History

2017-10-06 14:56:47 +13:00
defmodule IP do
@moduledoc """
`IP` provides representations for IP addresses and subnets for Elixir with a
bunch of helpful stuff tacked on the side.
Also provides a `__using__` macro so that `use IP` will result in
`import IP.Sigil`, which is just less typing, yo.
## Examples
iex> ~i(192.0.2.1)
#IP.Address<192.0.2.1 DOCUMENTATION>
iex> ~i(2001:db8::)
#IP.Address<2001:db8:: DOCUMENTATION>
iex> outside = ~i(2001:db8::/64)
...> inside = IP.Prefix.eui_64!(outside, "60:f8:1d:ad:d8:90")
...> IP.Prefix.contains_address?(outside, inside)
true
2017-10-06 14:56:47 +13:00
"""
defmacro __using__(_opts) do
quote do
import IP.Sigil
end
end
2017-10-06 14:56:47 +13:00
end