Current section

Files

Jump to
query_builder lib query offset.ex
Raw

lib/query/offset.ex

defmodule QueryBuilder.Query.Offset do
@moduledoc false
require Ecto.Query
def offset(ecto_query, _assoc_fields, value) do
apply_offset(ecto_query, value)
end
defp apply_offset(query, value) when is_integer(value) do
Ecto.Query.offset(query, ^value)
end
defp apply_offset(query, value) when is_binary(value) do
value = String.trim(value)
case Integer.parse(value) do
{int_value, ""} ->
apply_offset(query, int_value)
_ ->
raise Ecto.QueryError,
message: "Offset value must be integer. Got #{inspect(value)}",
query: query
end
end
defp apply_offset(query, value) do
raise Ecto.QueryError,
message: "Offset value must be integer. Got #{inspect(value)}",
query: query
end
end