Packages
excoveralls
0.18.5
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/html.ex
defmodule ExCoveralls.Html do
@moduledoc """
Generate HTML report of result.
"""
alias ExCoveralls.Html.View
alias ExCoveralls.Stats
@file_name "excoveralls.html"
@doc """
Provides an entry point for the module.
"""
def execute(stats, options \\ []) do
ExCoveralls.Local.print_summary(stats)
Stats.source(stats, options[:filter]) |> generate_report(options[:output_dir])
Stats.ensure_minimum_coverage(stats)
end
defp generate_report(map, output_dir) do
IO.puts("Generating report...")
filter_full_covered =
Map.get(ExCoveralls.Settings.get_coverage_options(), "html_filter_full_covered", false)
View.render(cov: map, filter_full_covered: filter_full_covered) |> write_file(output_dir)
end
defp output_dir(output_dir) do
cond do
output_dir ->
output_dir
true ->
options = ExCoveralls.Settings.get_coverage_options()
case Map.fetch(options, "output_dir") do
{:ok, val} -> val
_ -> "cover/"
end
end
end
defp write_file(content, output_dir) do
file_path = output_dir(output_dir)
unless File.exists?(file_path) do
File.mkdir_p!(file_path)
end
File.write!(Path.expand(@file_name, file_path), content)
IO.puts "Saved to: #{file_path}"
end
end