Packages
step_flow
1.4.0-rc2
1.9.0-rc2
1.9.0-rc1
1.9.0-rc0
1.8.2
1.8.1
1.8.1-rc8
1.8.1-rc7
1.8.1-rc6
1.8.1-rc5
1.8.1-rc4
1.8.1-rc3
1.8.1-rc2
1.8.1-rc1
1.8.1-rc0
1.8.0
1.8.0-rc3
1.8.0-rc2
1.8.0-rc1
1.8.0-rc0
1.7.3
1.7.3-rc4
1.7.3-rc3
1.7.3-rc2
1.7.3-rc1
1.7.3-rc0
1.7.2
1.7.2-rc4
1.7.2-rc3
1.7.2-rc2
1.7.2-rc1
1.7.2-rc0
1.7.1
1.7.0
1.7.0-rc1
1.7.0-rc0
1.6.1
1.6.1-rc1
1.6.1-rc0
1.6.0
1.6.0-rc9
1.6.0-rc8
1.6.0-rc7
1.6.0-rc6
1.6.0-rc5
1.6.0-rc4
1.6.0-rc3
1.6.0-rc20
1.6.0-rc2
1.6.0-rc19
1.6.0-rc18
1.6.0-rc17
1.6.0-rc16
1.6.0-rc15
1.6.0-rc14
1.6.0-rc13
1.6.0-rc12
1.6.0-rc11
1.6.0-rc10
1.6.0-rc1
1.5.0
1.5.0-rc1
1.4.2-rc2
1.4.2-rc1
1.4.1
1.4.1-rc1
1.4.0
1.4.0-rc4
1.4.0-rc3
1.4.0-rc2
1.4.0-rc1
1.3.1
1.3.0
1.3.0-rc
1.2.0
1.1.0
1.0.0
1.0.0-rc9
1.0.0-rc8
1.0.0-rc7
1.0.0-rc6
1.0.0-rc5
1.0.0-rc1
0.2.13
0.2.12
0.2.11
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
0.0.24
0.0.23
0.0.22
0.0.21
0.0.20
0.0.19
0.0.18
0.0.17
0.0.16
0.0.15
0.0.14
0.0.13
0.0.12
0.0.11
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.4
0.0.3
0.0.2
0.0.1
Step flow manager for Elixir applications
Current section
Files
Jump to
Current section
Files
lib/step_flow/configuration.ex
defmodule StepFlow.Configuration do
@moduledoc false
def get_var_value(module, key, default \\ nil) do
conf_module = Application.get_env(:step_flow, module)
if conf_module != nil do
case Keyword.get(conf_module, key) do
{:system, variable} ->
case System.get_env(variable) do
nil -> default
value -> value
end
nil ->
default
value ->
value
end
else
default
end
end
def get_exposed_domain_name do
get_var_value(StepFlow, :exposed_domain_name)
end
def get_teams_url do
if notifications_enabled?() do
get_var_value(StepFlow, :teams_channel_url)
else
nil
end
end
def get_slack_token do
if notifications_enabled?() do
get_var_value(StepFlow, :slack_api_token)
else
nil
end
end
def get_slack_channel do
get_var_value(StepFlow, :slack_api_channel)
|> format_channel
end
def format_channel(nil), do: nil
def format_channel("#" <> _ = channel), do: channel
def format_channel(channel), do: "#" <> channel
def to_string(value) when is_integer(value), do: Integer.to_string(value)
def to_string(value), do: value
def to_integer(value) when is_bitstring(value) do
{value, _} = Integer.parse(value)
value
end
def to_integer(value) when is_integer(value), do: value
defp notifications_enabled? do
skip_notification = get_var_value(StepFlow, :skip_notification)
case skip_notification do
false -> false
"false" -> false
_ -> true
end
end
def metrics_enabled? do
case get_var_value(StepFlow, :enable_metrics) do
true -> true
"true" -> true
_ -> false
end
end
end