Adjust to newer elixir

Calling Tree.new doesn't transform the record type any more.
This commit is contained in:
Carlos Martín Nieto
2013-08-10 10:05:19 +02:00
parent 19ff0dd7d5
commit 0e93508e80
2 changed files with 18 additions and 2 deletions

View File

@@ -7,6 +7,18 @@ defrecord Geef.Object, Record.extract(:geef_object, from: "src/geef_records.hrl"
end end
end end
def new(obj) do
do_new(obj, elem(obj, 0))
end
defp do_new(obj, :geef_tree) do
set_elem(obj, 0, Geef.Tree)
end
defp do_new(obj, _) do
set_elem(obj, 0, Geef.Object)
end
def lookup(repo, id) do def lookup(repo, id) do
case :geef_obj.lookup(repo, id) do case :geef_obj.lookup(repo, id) do
{:ok, obj} -> {:ok, obj} ->

View File

@@ -1,4 +1,8 @@
defrecord Geef.TreeEntry, Record.extract(:geef_tree_entry, from: "src/geef_records.hrl") defrecord Geef.TreeEntry, Record.extract(:geef_tree_entry, from: "src/geef_records.hrl") do
def new(obj) do
set_elem(obj, 0, Geef.TreeEntry)
end
end
defrecord Geef.Tree, Record.extract(:geef_object, from: "src/geef_records.hrl") do defrecord Geef.Tree, Record.extract(:geef_object, from: "src/geef_records.hrl") do
alias Geef.Object alias Geef.Object
@@ -9,7 +13,7 @@ defrecord Geef.Tree, Record.extract(:geef_object, from: "src/geef_records.hrl")
def lookup(repo, id) do def lookup(repo, id) do
case :geef_tree.lookup(repo, id) do case :geef_tree.lookup(repo, id) do
{:ok, obj} -> {:ok, obj} ->
{:ok, new obj} {:ok, Object.new obj}
error -> error ->
error error
end end