add Geef.Config module for Elixir
This commit is contained in:
committed by
Carlos Martín Nieto
parent
8c39463095
commit
01254f2f90
17
lib/geef.ex
17
lib/geef.ex
@@ -2,17 +2,20 @@ defmodule Geef do
|
||||
|
||||
defmacro __using__(_) do
|
||||
quote do
|
||||
alias Geef.Repository
|
||||
alias Geef.Blob
|
||||
alias Geef.Commit
|
||||
alias Geef.Config
|
||||
alias Geef.Index
|
||||
alias Geef.Index.Tree
|
||||
alias Geef.Object
|
||||
alias Geef.Odb
|
||||
alias Geef.Oid
|
||||
alias Geef.Reference
|
||||
alias Geef.Object
|
||||
alias Geef.Commit
|
||||
alias Geef.Tree
|
||||
alias Geef.TreeEntry
|
||||
alias Geef.Blob
|
||||
alias Geef.Tag
|
||||
alias Geef.Repository
|
||||
alias Geef.Signature
|
||||
alias Geef.Tree
|
||||
alias Geef.Tag
|
||||
alias Geef.TreeEntry
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
25
lib/geef/config.ex
Normal file
25
lib/geef/config.ex
Normal file
@@ -0,0 +1,25 @@
|
||||
defmodule Geef.Config do
|
||||
import Geef
|
||||
alias Geef.Repository
|
||||
|
||||
def stop(config), do: :geef_config.stop(config)
|
||||
|
||||
def open(repo) when is_pid(repo), do: Repository.config(repo)
|
||||
def open(path), do: :geef_config.open(path)
|
||||
def open!(arg), do: open(arg) |> assert_ok
|
||||
|
||||
def set(config, key, value) do
|
||||
:geef_config.set(config, make_config_key(key), value)
|
||||
end
|
||||
|
||||
def get_bool(config, key) do
|
||||
:geef_config.get_bool(config, make_config_key(key))
|
||||
end
|
||||
|
||||
def get_string(config, key) do
|
||||
:geef_config.get_string(config, make_config_key(key))
|
||||
end
|
||||
|
||||
defp make_config_key(key) when is_binary(key), do: String.to_char_list(key)
|
||||
defp make_config_key(key), do: key
|
||||
end
|
||||
@@ -15,7 +15,9 @@ defmodule Geef.Repository do
|
||||
def discover(path), do: :geef_repo.discover(path)
|
||||
|
||||
def bare?(repo), do: :geef_repo.is_bare(repo)
|
||||
def gitdir(repo), do: :geef_repo.path(repo)
|
||||
def workdir(repo), do: :geef_repo.workdir(repo)
|
||||
def config(repo), do: :geef_repo.config(repo)
|
||||
|
||||
def reference_names(repo), do: :geef_repo.references(repo)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user