ip/README.md
2017-10-11 18:26:19 +13:00

41 lines
1.2 KiB
Markdown

# IP
[![pipeline status](https://gitlab.com/jimsy/ip/badges/master/pipeline.svg)](https://gitlab.com/jimsy/ip/commits/master)
[![Hex.pm](https://img.shields.io/hexpm/v/ip.svg)](https://hex.pm/packages/ip)
IP, IP, Ooray! Simple IP Address representations.
## Installation
If [available in Hex](https://hex.pm/docs/publish), the package can be installed
by adding `ip` to your list of dependencies in `mix.exs`:
```elixir
def deps do
[
{:ip, "~> 0.1.0"}
]
end
```
## Usage
`ip` provides representations for IP addresses and subnets for Elixir with a bunch of helpful stuff tacked on the side.
iex> "192.0.2.1"
...> |> IP.Address.from_string!
#IP.Address<192.0.2.1 DOCUMENTATION>
iex> "2001:db8::"
...> |> IP.Address.from_string!
#IP.Address<2001:db8:: DOCUMENTATION>
iex> outside = IP.Prefix.from_string!("2001:db8::/64")
...> inside = IP.Prefix.eui_64(outside, "60:f8:1d:ad:d8:90")
...> IP.Prefix.contains_address?(outside, inside)
true
Documentation can be generated with [ExDoc](https://github.com/elixir-lang/ex_doc)
and published on [HexDocs](https://hexdocs.pm). Once published, the docs can
be found at [https://hexdocs.pm/ip](https://hexdocs.pm/ip).