defmodule Ondix.Utils do def prepareRelations(url, relations) do encoded = Enum.join(relations, ",") cond do String.contains?(url, "?") -> url <> "&load=" <> encoded true -> url <> "?load=" <> encoded end end def prepareClauses(url, clauses) do encoded = Enum.map(clauses, fn {a, b, c} -> "#{a}:#{b}:#{c}" end) |> Enum.join(",") cond do String.contains?(url, "?") -> url <> "&where=" <> encoded true -> url <> "?where=" <> encoded end end def preparePage(url, page) do cond do String.contains?(url, "?") -> url <> "?page=#{page}" true -> url <> "?page=#{page}" end end def atomize_map([]), do: [] def atomize_map(map) do Map.keys(map) |> Enum.reduce(%{}, fn keys, acc -> val = Map.get(map, keys) if is_list(val) do Map.put(acc, String.to_atom(keys), Enum.map(val, &atomize_map/1)) else Map.put(acc, String.to_atom(keys), val) end end) end end