View Source EctoForge.CreateExtension.Get behaviour (ecto_forge v0.1.0)

You can use callback functions for processing. After the query and before the query to filter the data.

defmodule EctoForge.Extension.Get.Preload do

use EctoForge.CreateExtension.Get

def before_query_add_extension_to_get(_module, _mode, query, attrs) do
  preload_attrs = Utls.MapUtls.opts_to_map(attrs)
  attrs = Keyword.delete(attrs, :preload)

  if is_list(preload_attrs) do
    {preload(query, ^preload_attrs), attrs}
  else
    {query, attrs}
  end
end
end

Summary

Callbacks

Link to this callback

after_query_add_extension_to_get(module, mode, query, attrs)

View Source
@callback after_query_add_extension_to_get(
  module :: atom(),
  mode :: atom(),
  query :: Ecto.Query.t(),
  attrs :: map() | keyword()
) :: any()
Link to this callback

before_query_add_extension_to_get(module, mode, query, attrs)

View Source
@callback before_query_add_extension_to_get(
  module :: atom(),
  mode :: atom(),
  query :: Ecto.Query.t(),
  attrs :: map() | keyword()
) :: any()