Util.fields_info(): convert field names to string
This commit is contained in:
parent
8b590695bb
commit
5123c1b3e8
2 changed files with 5 additions and 7 deletions
|
|
@ -1,9 +1,9 @@
|
||||||
defmodule Scopes.Util do
|
defmodule Scopes.Util do
|
||||||
|
|
||||||
defmacro fields_info(fields) do
|
defmacro fields_info(fields) do
|
||||||
names = for {f, _, _} <- fields do f end
|
names = for f <- fields do Macro.to_string(f) end
|
||||||
quote do
|
quote bind_quoted: [names: names, fields: fields] do
|
||||||
Enum.zip(unquote(names), unquote(fields))
|
Enum.zip(names, fields) |> Map.new
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,8 @@ defmodule Scopes.UtilTest do
|
||||||
|
|
||||||
describe "info:" do
|
describe "info:" do
|
||||||
test "fields" do
|
test "fields" do
|
||||||
a = 17
|
{a, b, c} = {17, 22, 42}
|
||||||
b = 22
|
assert %{"a" => 17, "b" => 22, "c" => 42} = Util.fields_info([a, b, c])
|
||||||
c = 42
|
|
||||||
assert [a: 17, b: 22, c: 42] = Util.fields_info([a, b, c])
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue