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

Link to this function add_context(name, context) View Source
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 Configuration
  • context: A Grapher.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
Link to this function get(name) View Source
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: []}
Link to this function update_context(name, context) View Source
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 updated
  • context: A Grapher.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