Current section
Files
Jump to
Current section
Files
lib/layers/builder_queries/builder_queries.ex
defmodule MongoAgile.BuilderQueries do
@moduledoc false
defmacro __using__(opts) do
collection = Keyword.get(opts, :collection)
pid_mongo = Keyword.get(opts, :pid_mongo)
quote bind_quoted: [
collection: collection,
pid_mongo: pid_mongo]
do
@pid_mongo pid_mongo
@collection collection
use MongoAgile.BuilderQueries.FindBuilder
use MongoAgile.BuilderQueries.FindOneBuilder
use MongoAgile.BuilderQueries.UpdateOneBuilder
use MongoAgile.BuilderQueries.UpdateManyBuilder
use MongoAgile.BuilderQueries.InsertOneBuilder
use MongoAgile.BuilderQueries.InsertManyBuilder
use MongoAgile.BuilderQueries.DeleteOneBuilder
use MongoAgile.BuilderQueries.DeleteManyBuilder
use MongoAgile.BuilderQueries.ReplaceOneBuilder
@doc """
"""
def run_query(name, args) do
name_fn = String.to_atom("#{name}_run_query")
apply(__MODULE__, name_fn, [args])
end
end
end
@callback run_query(query :: map) :: {:ok, any} | {:error, any}
end