Current section
Files
Jump to
Current section
Files
lib/config.ex
defmodule Trello.Config do
alias Trello.Http
def generate_auth_url(config) do
query = URI.encode_query(query_params(config))
Http.process_request_url("authorize?" <> query)
end
def query_params(config) do
query_params = Map.put(config, :key, key())
case name_configured?(config) do
true -> query_params
false -> Map.put(query_params, :name, trello_app_name())
end
end
defp name_configured?(config), do: Map.has_key?(config, :name)
defp trello_app_key, do: Application.fetch_env!(:trello, :app_key)
defp trello_app_name, do: Application.fetch_env!(:trello, :name)
def key, do: key(trello_app_key())
def key({:system, key}), do: System.get_env(key)
def key(value), do: value
end