diff --git a/lib/geef/odb.ex b/lib/geef/odb.ex new file mode 100644 index 0000000..264ee7a --- /dev/null +++ b/lib/geef/odb.ex @@ -0,0 +1,7 @@ +defmodule Geef.Odb do + def exists?(pid, id) do + :geef_odb.exists(pid, id) + end + + def stop(pid), do: :geef_odb.stop(pid) +end diff --git a/lib/geef/reference.ex b/lib/geef/reference.ex new file mode 100644 index 0000000..2266989 --- /dev/null +++ b/lib/geef/reference.ex @@ -0,0 +1,24 @@ +defmodule Geef.Reference do + alias Geef.Repository + + def lookup(repo, name), do: :geef_ref.lookup(repo, name) + def lookup!(repo, name) do + case lookup(repo, name) do + {:ok, ref} -> + ref + {:error, err} -> + raise err + end + end + + def resolve(ref), do: :geef_ref.resolve(ref) + def resolve!(ref) do + case :geef_ref.resolve(ref) do + {:ok, resolved} -> + resolved + {:error, err} -> + raise err + end + end + +end \ No newline at end of file