NITRO.ex 988 B

12345678910111213141516171819202122232425262728293031323334
  1. defmodule NITRO do
  2. require Record
  3. files = ["calendar.hrl", "nitro.hrl", "comboLookup.hrl", "nitro_pi.hrl", "comboLookupVec.hrl", "comboLookupEdit.hrl",
  4. "comboLookupText.hrl", "comboLookupModify.hrl", "comboLookupModify_item.hrl", "comboLookupGroup.hrl",
  5. "comboLookupGroup_list.hrl", "comboLookupGroup_item.hrl", "koatuuControl.hrl", "n2o.hrl"]
  6. hrl_files =
  7. Enum.filter(files, fn f ->
  8. !String.contains?(f, "/_") and Path.extname(f) == ".hrl"
  9. end)
  10. Enum.each(
  11. hrl_files,
  12. fn t ->
  13. Enum.each(
  14. Record.extract_all(from_lib: "nitro/include/" <> t),
  15. fn {name, definition} ->
  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