Current section

Files

Jump to
ex_money_sql lib money ecto query_api composite.ex
Raw

lib/money/ecto/query_api/composite.ex

if Code.ensure_loaded?(Ecto.Query.API) do
defmodule Money.Ecto.Query.API.Composite do
@moduledoc false
@behaviour Money.Ecto.Query.API
@impl Money.Ecto.Query.API
defmacro amount(field),
do: quote(do: fragment("amount(?)", unquote(field)))
@impl Money.Ecto.Query.API
defmacro currency_code(field),
do: quote(do: fragment("currency_code(?)", unquote(field)))
@impl Money.Ecto.Query.API
defmacro sum(field, cast? \\ true)
@impl Money.Ecto.Query.API
defmacro sum(field, false),
do: quote(do: fragment("sum(?)", unquote(field)))
@impl Money.Ecto.Query.API
defmacro sum(field, true),
do: quote(do: type(sum(unquote(field)), unquote(field)))
@impl Money.Ecto.Query.API
def cast_decimal(%Decimal{} = d), do: d
end
end