Current section
Files
Jump to
Current section
Files
lib/core/string.ex
defmodule Gulib.String do
def parse(value \\ nil), do: "#{value}"
#### Begin blank? ######################
def blank?(value) when is_list(value) do
value == []
end
def blank?(value) when is_map(value) do
value == %{}
end
def blank?(""), do: true
def blank?(nil), do: true
def blank?(value) when is_tuple(value) do
value == {}
end
def blank?(value) when is_binary(value) or is_atom(value) do
trim(value) == ""
end
def blank?(_), do: false
#### Begin present? #####################
def present?(value), do: not blank?(value)
def trim(value) do
value |> parse |> String.trim
end
def length(value, opts \\ []) do
if opts[:trim] do
value |> parse |> String.trim |> String.length
else
value |> parse |> String.length
end
end
end