Packages
stripity_stripe
2.2.3
3.3.2
3.3.1
3.2.0
3.1.1
3.1.0
3.0.0
2.17.3
2.17.2
2.17.1
2.17.0
2.16.0
2.15.1
2.15.0
2.14.1
2.14.0
2.13.0
2.12.1
2.12.0
2.11.0
2.10.0
2.9.0
2.8.0
2.7.2
2.7.1
2.7.0
2.6.0
2.5.0
2.4.0
2.3.0
2.2.3
2.2.2
2.2.1
2.2.0
2.1.0
2.0.1
2.0.0
2.0.0-alpha.11
2.0.0-alpha.10
2.0.0-alpha.9
2.0.0-alpha.8
2.0.0-alpha.7
2.0.0-alpha.6
2.0.0-alpha.5
2.0.0-alpha.4
2.0.0-alpha.3
2.0.0-alpha.2
2.0.0-alpha.1
1.6.2
1.6.1
1.6.0
1.4.0
1.3.0
1.2.0
1.1.0
0.5.0
0.4.0
0.3.0
0.2.0
A Stripe client for Elixir.
Current section
Files
Jump to
Current section
Files
lib/stripe/config.ex
defmodule Stripe.Config do
@moduledoc """
Utility that handles interaction with the application's configuration
"""
@doc """
Resolves the given key from the application's configuration returning the
wrapped expanded value. If the value was a function it get's evaluated, if
the value is a touple of three elements it gets applied.
"""
@spec resolve(atom, any) :: any
def resolve(key, default \\ nil)
def resolve(key, default) when is_atom(key) do
Application.get_env(:stripity_stripe, key, default)
|> expand_value()
end
def resolve(key, _) do
raise(
ArgumentError,
message: "#{__MODULE__} expected key '#{key}' to be an atom"
)
end
defp expand_value({module, function, args})
when is_atom(function) and is_list(args) do
apply(module, function, args)
end
defp expand_value(value) when is_function(value) do
value.()
end
defp expand_value(value), do: value
end