X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Futils.ex;h=21d1159be84383426262ee49bb7d4758dccb3523;hb=dd1de994d57e3d9c99bb4e4c7019c696b5153f50;hp=8d36a0001fa5e8ab5e50fef0d32b85ce8f131bf9;hpb=6e6f1ead31ba26bc42b14226e3c0876042f0596a;p=akkoma diff --git a/lib/pleroma/utils.ex b/lib/pleroma/utils.ex index 8d36a0001..21d1159be 100644 --- a/lib/pleroma/utils.ex +++ b/lib/pleroma/utils.ex @@ -1,5 +1,5 @@ # Pleroma: A lightweight social networking server -# Copyright © 2017-2019 Pleroma Authors +# Copyright © 2017-2020 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.Utils do @@ -9,4 +9,19 @@ defmodule Pleroma.Utils do |> Enum.map(&Path.join(dir, &1)) |> Kernel.ParallelCompiler.compile() end + + @doc """ + POSIX-compliant check if command is available in the system + + ## Examples + iex> command_available?("git") + true + iex> command_available?("wrongcmd") + false + + """ + @spec command_available?(String.t()) :: boolean() + def command_available?(command) do + match?({_output, 0}, System.cmd("sh", ["-c", "command -v #{command}"])) + end end