Namdak Tonpa 5 лет назад
Родитель
Сommit
b051b5e1b1
3 измененных файлов с 31 добавлено и 6 удалено
  1. 29 4
      lib/NITRO.ex
  2. 1 1
      mix.exs
  3. 1 1
      src/nitro.app.src

+ 29 - 4
lib/NITRO.ex

@@ -1,8 +1,33 @@
 defmodule NITRO do
   require Record
 
-  Enum.each(Record.extract_all(from_lib: "nitro/include/nitro.hrl"), fn {name,
-                                                                         definition} ->
-    Record.defrecord(name, definition)
-  end)
+  files = Path.wildcard("include/**/*")
+
+  hrl_files =
+    Enum.filter(files, fn f ->
+      !String.contains?(f, "/_") and Path.extname(f) == ".hrl"
+    end)
+
+  Enum.each(
+    hrl_files,
+    fn t ->
+      Enum.each(
+        Record.extract_all(from_lib: "nitro/" <> t),
+        fn {name, definition} ->
+          IO.inspect({name, definition, t})
+          prev = :application.get_env(:kernel, :nitro_tables, [])
+
+          case :lists.member(name, prev) do
+            true ->
+              :skip
+
+            false ->
+              Record.defrecord(name, definition)
+              :application.set_env(:kernel, :nitro_tables, [name | prev])
+          end
+        end
+      )
+    end
+  )
+
 end

+ 1 - 1
mix.exs

@@ -4,7 +4,7 @@ defmodule NITRO.Mixfile do
   def project do
     [
       app: :nitro,
-      version: "4.11.4",
+      version: "4.11.5",
       description: "NITRO Nitrogen Web Framework",
       package: package(),
       deps: deps()

+ 1 - 1
src/nitro.app.src

@@ -1,6 +1,6 @@
 {application, nitro, [
     {description,  "NITRO Nitrogen Web Framework"},
-    {vsn,          "4.11.4"},
+    {vsn,          "4.11.5"},
     {applications, [kernel, stdlib]},
     {modules, []},
     {registered,   []},