defmodule Audiograms do @moduledoc false @behaviour Audiograms.Contract alias Audiograms.Job @impl true def setup(options \\ []) do current_impl().setup(options) end @impl true def create(%Job{} = job) do current_impl().create(job) end @impl true def find_job(job_uuid) do current_impl().find_job(job_uuid) end @impl true def audiogram_path(job_uuid) do current_impl().audiogram_path(job_uuid) end defp current_impl do Application.get_env(:audiograms, :impl, Audiograms.Default) end end