NITRO.ex 835 B

12345678910111213141516171819202122232425262728293031323334
  1. defmodule NITRO do
  2. require Record
  3. files = ["calendar.hrl", "nitro.hrl", "comboLookup.hrl",
  4. "comboLookupVec.hrl", "comboLookupEdit.hrl", "koatuuControl.hrl"]
  5. hrl_files =
  6. Enum.filter(files, fn f ->
  7. !String.contains?(f, "/_") and Path.extname(f) == ".hrl"
  8. end)
  9. Enum.each(
  10. hrl_files,
  11. fn t ->
  12. Enum.each(
  13. Record.extract_all(from_lib: "nitro/include/" <> t),
  14. fn {name, definition} ->
  15. # IO.inspect({name, definition, t})
  16. prev = :application.get_env(:kernel, :nitro_tables, [])
  17. case :lists.member(name, prev) do
  18. true ->
  19. :skip
  20. false ->
  21. Record.defrecord(name, definition)
  22. :application.set_env(:kernel, :nitro_tables, [name | prev])
  23. end
  24. end
  25. )
  26. end
  27. )
  28. end