Packages

A collection of macros to enhance Ectos fragment()

Current section

Files

Jump to
ecto_fragment_extras lib ecto_fragment_extras convert_inline_params.ex
Raw

lib/ecto_fragment_extras/convert_inline_params.ex

defmodule EctoFragmentExtras.ConvertInlineParams do
@moduledoc false
def call({:<<>>, _meta, pieces}) do
query =
Enum.map_join(pieces, fn
binary when is_binary(binary) -> binary
_ -> "?"
end)
frags =
Enum.flat_map(pieces, fn
{:"::", _, [{_, _, [val]} | _]} -> [val]
_ -> []
end)
{query, frags}
end
end