Fix credo warnings.

This commit is contained in:
James Harton 2017-10-10 08:49:05 +13:00
parent db9ab41b53
commit e60eced8b0
3 changed files with 12 additions and 7 deletions

View file

@ -267,7 +267,7 @@ defmodule IP.Address do
""" """
@spec to_prefix(t, Prefix.ipv4_prefix_length | Prefix.ipv6_prefix_length) \ @spec to_prefix(t, Prefix.ipv4_prefix_length | Prefix.ipv6_prefix_length) \
:: Prefix.t :: Prefix.t
def to_prefix(%Address{} = address, length), do: IP.Prefix.new(address, length) def to_prefix(%Address{} = address, length), do: Prefix.new(address, length)
@doc """ @doc """
Returns the IP version of the address. Returns the IP version of the address.
@ -516,7 +516,8 @@ defmodule IP.Address do
iex> IP.Address.generate_ula("60:f8:1d:ad:d8:90") iex> IP.Address.generate_ula("60:f8:1d:ad:d8:90")
#IP.Address<fd29:f1ef:86a1::> #IP.Address<fd29:f1ef:86a1::>
""" """
@spec generate_ula(binary, non_neg_integer, true | false) :: {:ok, t} | {:error, term} @spec generate_ula(binary, non_neg_integer, true | false) :: \
{:ok, t} | {:error, term}
def generate_ula(mac, subnet_id \\ 0, locally_assigned \\ true) do def generate_ula(mac, subnet_id \\ 0, locally_assigned \\ true) do
with {:ok, address} <- ULA.generate(mac, subnet_id, locally_assigned), with {:ok, address} <- ULA.generate(mac, subnet_id, locally_assigned),
{:ok, address} <- from_integer(address, 6) {:ok, address} <- from_integer(address, 6)

View file

@ -10,7 +10,8 @@ defmodule IP.Address.ULA do
@doc """ @doc """
Generates an IPv6 Unique Local Address Generates an IPv6 Unique Local Address
""" """
@spec generate(binary, non_neg_integer, true | false) :: {:ok, Address.ipv4} | {:error, term} @spec generate(binary, non_neg_integer, true | false) :: \
{:ok, Address.ipv4} | {:error, term}
def generate(mac, subnet_id, locally_assigned) def generate(mac, subnet_id, locally_assigned)
when is_binary(mac) when is_binary(mac)
and is_integer(subnet_id) and subnet_id >= 0 and subnet_id <= 0xffff and is_integer(subnet_id) and subnet_id >= 0 and subnet_id <= 0xffff
@ -21,7 +22,9 @@ defmodule IP.Address.ULA do
{:ok, eui} <- EUI64.eui_portion(mac), {:ok, eui} <- EUI64.eui_portion(mac),
{:ok, digest} <- generate_digest(ntp_time, eui), {:ok, digest} <- generate_digest(ntp_time, eui),
{:ok, global_id} <- last_40_bits_of_digest(digest), {:ok, global_id} <- last_40_bits_of_digest(digest),
{:ok, prefix} <- generate_address(locally_assigned, subnet_id, global_id) {:ok, prefix} <- generate_address(locally_assigned,
subnet_id,
global_id)
do do
{:ok, prefix} {:ok, prefix}
end end
@ -34,7 +37,8 @@ defmodule IP.Address.ULA do
end end
defp generate_digest(ntp_time, eui) do defp generate_digest(ntp_time, eui) do
with key <- << ntp_time::unsigned-integer-size(64), eui::unsigned-integer-size(64) >>, with key <- << ntp_time::unsigned-integer-size(64),
eui::unsigned-integer-size(64) >>,
digest <- :crypto.hash(:sha, key), digest <- :crypto.hash(:sha, key),
digest <- :binary.decode_unsigned(digest) digest <- :binary.decode_unsigned(digest)
do do

View file

@ -386,12 +386,12 @@ defmodule IP.Prefix do
@spec usable(t) :: non_neg_integer @spec usable(t) :: non_neg_integer
def usable(%Prefix{address: %Address{version: 4}} = prefix) do def usable(%Prefix{address: %Address{version: 4}} = prefix) do
space = prefix space = prefix
|> IP.Prefix.space() |> Prefix.space()
space - 2 space - 2
end end
def usable(%Prefix{address: %Address{version: 6}} = prefix) do def usable(%Prefix{address: %Address{version: 6}} = prefix) do
IP.Prefix.space(prefix) Prefix.space(prefix)
end end
end end