Current section

Files

Jump to
core_utils lib params_helper.ex
Raw

lib/params_helper.ex

defmodule CoreUtils.ParamsHelper do
@spec to_integer(nil | binary(), integer()) :: integer()
def to_integer(value, default \\ 0)
def to_integer(nil, default), do: default
def to_integer(str, default) do
case Integer.parse(str) do
{n, _} -> n
_ -> default
end
end
@spec to_float(String.t() | float() | integer(), a) :: float() | a when a: var
def to_float(input, _default \\ :error)
def to_float(input, _default) when is_float(input), do: input
def to_float(input, default) do
case Float.parse(to_string(input)) do
{f, ""} -> f
_ -> default
end
end
defguard is_empty_list(value)
when is_nil(value) or length(value) == 0
@spec diff_time(Time, Time, Timex.Comparable.granularity()) :: integer()
def diff_time(time1, time2, units) do
case Timex.diff(time1, time2, units) do
{:error, _} ->
0
min when is_number(min) ->
min
_ ->
0
end
end
end