#!/usr/bin/env -S ERL_FLAGS=+B elixir Mix.install(req: "~> 0.4") files = [ {"https://raw.githubusercontent.com/jetpack-io/typeid/main/spec/invalid.yml", "priv/spec/invalid.yml"}, {"https://raw.githubusercontent.com/jetpack-io/typeid/main/spec/valid.yml", "priv/spec/valid.yml"} ] IO.puts("Updating spec YAML files") :ok = for {src, dest} <- files, reduce: :ok do :ok -> IO.write("Downloading #{src} to #{dest}... ") with {:ok, io} <- File.open(dest, [:write]), {:ok, _} <- Req.get(src, into: IO.binstream(io, 500)) do IO.puts("OK") :ok else other -> IO.puts("ERROR") other end failure -> failure end IO.puts("Done!")