Current section

Files

Jump to
guard lib guard external_repo.ex
Raw

lib/guard/external_repo.ex

defmodule Guard.ExternalRepo do
defmacro __using__(_opts) do
repo = Application.get_env(:guard, Guard.ExternalRepo)[:repo]
if repo do
quote do
Process.register(GenServer.whereis(repo), Guard.Repo)
end
# Function for generating the delegates found below:
# Guard.Repo.__info__(:functions) |> Enum.each(fn({fun, ar}) -> IO.puts "defdelegate #{fun}(#{["a", "b", "c", "d", "e", "f"] |> Enum.take(ar) |> Enum.join(",")}), to: unquote(repo)" end)
quote do
defdelegate __adapter__(), to: unquote(repo)
defdelegate __log__(a), to: unquote(repo)
defdelegate __sql__(), to: unquote(repo)
defdelegate aggregate(a, b, c), to: unquote(repo)
defdelegate aggregate(a, b, c, d), to: unquote(repo)
defdelegate all(a), to: unquote(repo)
defdelegate all(a, b), to: unquote(repo)
defdelegate child_spec(a), to: unquote(repo)
defdelegate config(), to: unquote(repo)
defdelegate delete(a), to: unquote(repo)
defdelegate delete(a, b), to: unquote(repo)
defdelegate delete!(a), to: unquote(repo)
defdelegate delete!(a, b), to: unquote(repo)
defdelegate delete_all(a), to: unquote(repo)
defdelegate delete_all(a, b), to: unquote(repo)
defdelegate get(a, b), to: unquote(repo)
defdelegate get(a, b, c), to: unquote(repo)
defdelegate get!(a, b), to: unquote(repo)
defdelegate get!(a, b, c), to: unquote(repo)
defdelegate get_by(a, b), to: unquote(repo)
defdelegate get_by(a, b, c), to: unquote(repo)
defdelegate get_by!(a, b), to: unquote(repo)
defdelegate get_by!(a, b, c), to: unquote(repo)
defdelegate in_transaction?(), to: unquote(repo)
defdelegate init(a, b), to: unquote(repo)
defdelegate insert(a), to: unquote(repo)
defdelegate insert(a, b), to: unquote(repo)
defdelegate insert!(a), to: unquote(repo)
defdelegate insert!(a, b), to: unquote(repo)
defdelegate insert_all(a, b), to: unquote(repo)
defdelegate insert_all(a, b, c), to: unquote(repo)
defdelegate insert_or_update(a), to: unquote(repo)
defdelegate insert_or_update(a, b), to: unquote(repo)
defdelegate insert_or_update!(a), to: unquote(repo)
defdelegate insert_or_update!(a, b), to: unquote(repo)
defdelegate load(a, b), to: unquote(repo)
defdelegate one(a), to: unquote(repo)
defdelegate one(a, b), to: unquote(repo)
defdelegate one!(a), to: unquote(repo)
defdelegate one!(a, b), to: unquote(repo)
defdelegate preload(a, b), to: unquote(repo)
defdelegate preload(a, b, c), to: unquote(repo)
defdelegate query(a), to: unquote(repo)
defdelegate query(a, b), to: unquote(repo)
defdelegate query(a, b, c), to: unquote(repo)
defdelegate query!(a), to: unquote(repo)
defdelegate query!(a, b), to: unquote(repo)
defdelegate query!(a, b, c), to: unquote(repo)
defdelegate rollback(a), to: unquote(repo)
defdelegate start_link(), to: unquote(repo)
defdelegate start_link(a), to: unquote(repo)
defdelegate stop(a), to: unquote(repo)
defdelegate stop(a, b), to: unquote(repo)
defdelegate stream(a), to: unquote(repo)
defdelegate stream(a, b), to: unquote(repo)
defdelegate to_sql(a, b), to: unquote(repo)
defdelegate transaction(a), to: unquote(repo)
defdelegate transaction(a, b), to: unquote(repo)
defdelegate update(a), to: unquote(repo)
defdelegate update(a, b), to: unquote(repo)
defdelegate update!(a), to: unquote(repo)
defdelegate update!(a, b), to: unquote(repo)
defdelegate update_all(a, b), to: unquote(repo)
defdelegate update_all(a, b, c), to: unquote(repo)
end
end
end
end