Packages
excoveralls
0.3.3
0.18.5
0.18.4
0.18.3
0.18.2
0.18.1
0.18.0
0.17.1
0.17.0
0.16.1
0.16.0
0.15.3
0.15.2
0.15.1
0.15.0
0.14.6
0.14.5
0.14.4
0.14.3
0.14.2
0.14.1
0.14.0
0.13.4
0.13.3
0.13.2
0.13.1
0.13.0
0.12.3
0.12.2
0.12.1
0.12.0
0.11.2
0.11.1
0.11.0
0.10.6
0.10.5
0.10.4
0.10.3
0.10.2
0.10.1
0.10.0
0.9.2
0.9.1
0.9.0
0.8.2
0.8.1
0.8.0
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.11
0.3.10
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
Coverage report tool for Elixir with coveralls.io integration.
Current section
Files
Jump to
Current section
Files
lib/excoveralls/poster.ex
defmodule ExCoveralls.Poster do
@moduledoc """
Post JSON to coveralls server.
"""
@file_name "excoveralls.post.json"
@doc """
Create a temporarily json file and post it to server using curl command.
Then, remove the file after it's completed.
It raises error if 'which curl' returns empty.
"""
def execute(json) do
if is_cmd_available do
File.write!(@file_name, json)
run_command(@file_name)
File.rm!(@file_name)
else
raise "Posting json requires curl, but it's not found."
end
end
defp is_cmd_available do
try do
{_result, exit_status} = System.cmd("which", ["curl"])
exit_status == 0
rescue
_ -> false
end
end
defp run_command(file_name) do
{result, _exit_status} = System.cmd("curl", ["https://coveralls.io/api/v1/jobs", "-F", "json_file=@#{file_name}"])
IO.puts result
end
end