Magic
Magic is a set of common libraries for personal daily coding. It's contained randmom, system cmd, http request, IoC(beta).
System cmd
Run
iex> import Magic
iex> ~q(echo 123)
{:ok, ["123"]}Async Run
iex(1)> import Magic
Magic
iex(2)> ~b(echo 123)
#Port<0.5385>
iex(3)> flush()
{#Port<0.5385>, {:data, "123\n"}}
{#Port<0.5385>, {:exit_status, 0}}
:okRandom String
iex> Random.random()
"9nNc2OaQJowEEucW"
iex> Random.random(32)
"SpMkGZ5fvapMlvA8ALG8n3YQShPm91wB"
Find who implemented Mix.SCM
iex> Shotgun.find(Mix.SCM)
[Hex.SCM, Mix.SCM.Path, Mix.SCM.Git]
iex> Shotgun.find(ABC)
[]Http Request
iex> {:ok, rsp} = Http.get("https://registry-1.docker.io/v2/")
iex> rsp.data
%{"errors" => [%{"code" => "UNAUTHORIZED", "detail" => nil, "message" => "authentication required"}]}Installation
If available in Hex, the package can be installed
by adding magic to your list of dependencies in mix.exs:
def deps do
[{:magic, "~> 0.2.0"}]
endDocumentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/magic.