Merge branch 'revparse'
This commit is contained in:
@@ -7,15 +7,11 @@ defrecord Geef.Object, Record.extract(:geef_object, from: "src/geef_records.hrl"
|
||||
end
|
||||
end
|
||||
|
||||
def from_erl(obj) do
|
||||
do_from_erl(obj, elem(obj, 0))
|
||||
end
|
||||
|
||||
defp do_from_erl(obj, :geef_tree) do
|
||||
def from_erl(obj) when elem(obj, 1) == :tree do
|
||||
set_elem(obj, 0, Geef.Tree)
|
||||
end
|
||||
|
||||
defp do_from_erl(obj, _) do
|
||||
def rom_erl(obj) do
|
||||
set_elem(obj, 0, Geef.Object)
|
||||
end
|
||||
|
||||
|
||||
17
lib/geef/revparse.ex
Normal file
17
lib/geef/revparse.ex
Normal file
@@ -0,0 +1,17 @@
|
||||
defmodule Geef.Revparse do
|
||||
import Geef
|
||||
use Geef
|
||||
|
||||
@spec single(pid, iolist) :: {:ok, Object.t} | {:error, term}
|
||||
def single(repo, str) do
|
||||
case :geef_revparse.single(repo, str) do
|
||||
{:ok, obj} ->
|
||||
{:ok, Object.from_erl(obj)}
|
||||
error -> error
|
||||
end
|
||||
end
|
||||
|
||||
@spec single!(pid, iolist) :: {:ok, Object.t}
|
||||
def single!(repo, str), do: single(repo, str) |> assert_ok
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user