Current section
Files
Jump to
Current section
Files
lib/callbacks.ex
defmodule Callbacks do
@moduledoc false
def init([username, access_key, base_url]) do
credentials = %{
:username => username,
:access_key => access_key,
:base_url => base_url
}
{:ok, credentials}
end
def handle_call({:get_job, job_id}, _from, credentials) do
Endpoints.Jobs.get(job_id)
|> request_call(credentials)
end
def handle_call({:list, options}, _from, credentials) do
get_username(credentials, options)
|> Endpoints.Jobs.list
|> request_call(credentials, options)
end
def handle_call({:get_build_failed_jobs, build_id, options}, _from, credentials) do
get_username(credentials, options)
|> Endpoints.Jobs.get_build_failed_jobs(build_id)
|> request_call(credentials)
end
def handle_call({:get_build_jobs, build_id}, _from, credentials) do
Endpoints.Jobs.get_build_jobs(build_id)
|> request_call(credentials)
end
def handle_call({:get_builds}, _from, credentials) do
Endpoints.Builds.get()
|> request_call(credentials)
end
def handle_call({:get_metrics, job_id}, _from, credentials) do
Endpoints.Metrics.get(job_id)
|> request_call(credentials)
end
def handle_call({:get_metrics_baseline_history, job_id}, _from, credentials) do
Endpoints.Metrics.get_baseline_history(job_id)
|> request_call(credentials)
end
defp request_call(endpoint, credentials, options \\ []) do
response = Requester.call(endpoint[:method], endpoint[:url], credentials, options)
{:reply, response, credentials}
end
defp get_username(credentials, options) do
options[:username] || credentials[:username]
end
end