Packages
excoveralls
0.2.1
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/settings.ex
defmodule ExCoveralls.Settings do
@moduledoc """
Handles the configuration setting defined in json file.
"""
defmodule Files do
@file_name "coveralls.json"
def default_file, do: "#{Path.dirname(__ENV__.file)}/../conf/#{@file_name}"
def custom_file, do: "#{System.cwd}/#{@file_name}"
end
@doc """
Get stop words from the json file.
The words are taken as regular expression.
"""
def get_stop_words do
read_config("default_stop_words", []) ++ read_config("custom_stop_words", [])
|> Enum.map(&Regex.compile!/1)
end
defp read_config_file(file_name) do
if File.exists?(file_name) do
case File.read!(file_name) |> JSEX.decode do
{:ok, config} -> Enum.into(config, HashDict.new)
_ -> raise "Failed to parse config file as JSON : #{file_name}"
end
else
HashDict.new
end
end
@doc """
Reads the value for the specified key defined in the json file.
"""
def read_config(key, default \\ nil) do
case (read_config_file(Files.custom_file) |> HashDict.get(key)) do
nil -> read_config_file(Files.default_file) |> HashDict.get(key, default)
config -> config
end
end
end