Packages

ConfigCat SDK for Elixir. Feature Flags created by developers for developers with ❤️. ConfigCat lets you manage feature flags across frontend, backend, mobile, and desktop apps without (re)deploying code. % rollouts, user targeting, segmentation. Feature toggle SDKs for all main languages.

Current section

Files

Jump to
configcat lib config_cat cache_policy behaviour.ex
Raw

lib/config_cat/cache_policy/behaviour.ex

defmodule ConfigCat.CachePolicy.Behaviour do
@moduledoc false
alias ConfigCat.CachePolicy
alias ConfigCat.CachePolicy.Helpers
alias ConfigCat.Config
alias ConfigCat.FetchTime
@callback get(ConfigCat.instance_id()) ::
{:ok, Config.t(), FetchTime.t()} | {:error, :not_found}
@callback offline?(ConfigCat.instance_id()) :: boolean()
@callback set_offline(ConfigCat.instance_id()) :: :ok
@callback set_online(ConfigCat.instance_id()) :: :ok
@callback force_refresh(ConfigCat.instance_id()) :: ConfigCat.refresh_result()
defmacro __using__(_opts) do
quote location: :keep do
@spec start_link(CachePolicy.options()) :: GenServer.on_start()
def start_link(options) do
Helpers.start_link(__MODULE__, options)
end
end
end
end