Grapher v0.6.0 Grapher.SchemaContext.Store View Source
Manages the storage of schema configurations
Link to this section Summary
Functions
Saves a new schema configuration with the given name. This function will return :context_already_configured
if there is already a context registered with the given name
Retrieves the context registered with the given name. If there is no context registered this function returns :no_such_context
Updates the schema definition with the given name. This function will return :no_such_context
if there is no context registered with the given name
Link to this section Functions
add_context(Grapher.name(), Grapher.SchemaContext.t()) :: :ok | :context_already_configured
Saves a new schema configuration with the given name. This function will return :context_already_configured
if there is already a context registered with the given name.
Parameters
name
: An atom that will be used to reference this Schema Configurationcontext
: AGrapher.SchemaContext.t
struct defining the Schema Configuration
Examples
iex> Store.add_context(:auth1, %SchemaContext{url: "www.com.com", headers: []})
:ok
iex> Store.add_context(:auth2, %SchemaContext{url: "www.com.com"})
iex> Store.add_context(:auth2, %SchemaContext{url: "www.net.com"})
:context_already_configured
get(Grapher.name()) :: Grapher.SchemaContext.t() | :no_such_context
Retrieves the context registered with the given name. If there is no context registered this function returns :no_such_context
Parameters
name
: The registered name of the context to retrieve
Examples
iex> Store.get(:missing)
:no_such_context
iex> Store.add_context(:get, %SchemaContext{url: "com.com.com"})
iex> Store.get(:get)
%SchemaContext{url: "com.com.com", headers: []}
update_context(Grapher.name(), Grapher.SchemaContext.t()) :: :ok | :no_such_context
Updates the schema definition with the given name. This function will return :no_such_context
if there is no context registered with the given name.
Parameters
name
: An atom representing the name of the schema to be updatedcontext
: AGrapher.SchemaContext.t
struct defining the Schem Configuration that should replace the current configuration
Examples
iex> Store.add_context(:update, %SchemaContext{url: "www.org.com"})
iex> Store.update_context(:update, %SchemaContext{url: "www.com.com"})
:ok
iex> Store.update_context(:missing, %SchemaContext{url: "www.org.net"})
:no_such_context