Gitea.Helpers (gitea v1.1.11)
Helper functions that can be unit tested independently of the main functions. If you spot any way to make these better, please share: https://github.com/dwyl/gitea/issues
Link to this section Summary
Functions
api_base_url/0
returns the Gitea
Server REST API url for API requests.
Returns the full system path
get_org_name_from_url/1
extracts the organisation name from a .git url.
ssh://git@gitea-server.fly.dev:10022/theorg/myrepo.git
returns {org, repo} from git url
get_repo_name_from_url/1
extracts the repository name from a .git url.
Feel free to refactor/simplify this function if you want.
local_git_repo/2
returns the %Git.Repository{}
(struct) for an org
and repo
on the localhost
. This is used by the Git
module to perform operations.
local_repo_path/2
returns the full system path for the cloned repo
on the localhost
i.e. the Elixir/Phoenix server that cloned it.
make_url/1
constructs the URL based on the supplied git url
.
remote_url/3
returns the git remote url.
remote_url_ssh/2
returns the remote ssh url for cloning.
temp_dir/1
returns the Current Working Directory (CWD).
Made this a function in case we want to change the location of the
directory later e.g. to a temporary directory.
Link to this section Functions
api_base_url()
@spec api_base_url() :: String.t()
api_base_url/0
returns the Gitea
Server REST API url for API requests.
examples
Examples
iex> Gitea.Helpers.api_base_url() "https://gitea-server.fly.dev/api/v1/"
create_local_path(path)
Returns the full system path
get_org_name_from_url(url)
get_org_name_from_url/1
extracts the organisation name from a .git url.
ssh://git@gitea-server.fly.dev:10022/theorg/myrepo.git
get_org_repo_names(url)
returns {org, repo} from git url
examples
Examples
iex> Gitea.Helpers.get_org_repo_names("git@gitea-server.fly.dev:myorg/myrepo.git") {"myorg", "myrepo"}
iex> Gitea.Helpers.get_org_repo_names("ssh://git@gitea-server.fly.dev:10022/theorg/myrepo.git") {"theorg", "myrepo"}
iex> Gitea.Helpers.get_org_repo_names("https://gitea-server.fly.dev/myorg/public-repo.git") {"myorg", "public-repo"}
get_repo_name_from_url(url)
get_repo_name_from_url/1
extracts the repository name from a .git url.
Feel free to refactor/simplify this function if you want.
local_git_repo(org, repo)
@spec local_git_repo(String.t(), String.t()) :: Git.Repository.t()
local_git_repo/2
returns the %Git.Repository{}
(struct) for an org
and repo
on the localhost
. This is used by the Git
module to perform operations.
local_repo_path(org, repo)
local_repo_path/2
returns the full system path for the cloned repo
on the localhost
i.e. the Elixir/Phoenix server that cloned it.
make_url(git_url)
make_url/1
constructs the URL based on the supplied git url
.
examples
Examples
iex> Gitea.Helpers.make_url("gitea-server.fly.dev") "git@gitea-server.fly.dev:"
iex> Gitea.Helpers.make_url("github.com") "git@github.com:"
remote_url(base_url, org, repo)
remote_url/3
returns the git remote url.
remote_url_ssh(org, repo)
remote_url_ssh/2
returns the remote ssh url for cloning.
temp_dir(dir)
temp_dir/1
returns the Current Working Directory (CWD).
Made this a function in case we want to change the location of the
directory later e.g. to a temporary directory.