lib/ABAC.ex
defmodule ABAC do
require Record
Enum.each(
Enum.filter(Path.wildcard("include/abac/*"), &(Path.extname(&1) == ".hrl")),
fn t ->
Enum.each(
Record.extract_all([from_lib: "schema/" <> t, includes: ["include"]]),
fn {name, definition} ->
case :lists.member(name, :application.get_env(:kernel, :erp_tables, [])) do
true -> :skip
false ->
Record.defrecord(name, definition)
:application.set_env(:kernel, :erp_tables, [name | :application.get_env(:kernel, :erp_tables, [])])
end
end
)
end
)
end