Representation of IP addresses and subnets.
Find a file
2019-03-04 15:07:55 +13:00
config FIRST POST 2017-10-06 14:56:47 +13:00
lib Update deps 2018-09-04 03:25:04 +00:00
test Implement ~i and IP.Scope.prefix_scope() 2017-10-12 10:22:58 +13:00
.formatter.exs Update deps 2018-09-04 03:25:04 +00:00
.gitignore Initial parsing of various formats for IP addresses. 2017-10-08 19:07:51 +13:00
.gitlab-ci.yml Update deps 2018-09-04 03:25:04 +00:00
LICENSE Update MIT license file 2019-03-04 15:07:55 +13:00
mix.exs Update deps 2018-09-04 03:25:04 +00:00
mix.lock Update deps 2018-09-04 03:25:04 +00:00
README.md Update README. 2017-10-12 10:35:47 +13:00

IP

pipeline status Hex.pm

IP, IP, Ooray! Simple IP Address representations.

Installation

If available in Hex, the package can be installed by adding ip to your list of dependencies in mix.exs:

def deps do
  [
    {:ip, "~> 0.2.0"}
  ]
end

Usage

ip provides representations for IP addresses and subnets for Elixir with a bunch of helpful stuff tacked on the side.

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

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/ip.