Mnemonix v0.8.0 Mnemonix.Stores.Null

A Mnemonix.Store that does literally nothing.

iex> {:ok, store} = Mnemonix.Stores.Null.start_link
iex> Mnemonix.put(store, "foo", "bar")
iex> Mnemonix.get(store, "foo")
nil
iex> Mnemonix.delete(store, "foo")
iex> Mnemonix.get(store, "foo")
nil

This store supports the functions in Mnemonix.Features.Enumerable.

Summary

Functions

Callback implementation for c:Mnemonix.Store.Behaviours.Map.delete/2

Callback implementation for c:Mnemonix.Store.Behaviours.Map.fetch/2

Callback implementation for c:Mnemonix.Store.Behaviours.Map.put/3

Skips setup since this store does nothing

Starts a new Mnemonix.Store.Server using the Mnemonix.Stores.Null module with options

Starts a new Mnemonix.Store.Server using Mnemonix.Stores.Null with store and server options

Functions

delete(store, key)
delete(Mnemonix.Store.t, Mnemonix.key) :: {:ok, Mnemonix.Store.t}

Callback implementation for c:Mnemonix.Store.Behaviours.Map.delete/2.

fetch(store, key)
fetch(Mnemonix.Store.t, Mnemonix.key) :: {:ok, Mnemonix.Store.t, {:ok, Mnemonix.value}}

Callback implementation for c:Mnemonix.Store.Behaviours.Map.fetch/2.

put(store, key, value)
put(Mnemonix.Store.t, Mnemonix.key, Mnemonix.Store.value) :: {:ok, Mnemonix.Store.t}

Callback implementation for c:Mnemonix.Store.Behaviours.Map.put/3.

setup(opts)
setup(Mnemonix.Store.options) :: {:ok, nil}

Skips setup since this store does nothing.

Ignores all opts.

Starts a new Mnemonix.Store.Server using the Mnemonix.Stores.Null module with options.

The options are the same as described in Mnemonix.Store.Server.start_link/2. The :store options are used in config/1 to start the store; the :server options are passed directly to GenServer.start_link/2.

The returned GenServer.server/0 reference can be used as the primary argument to the Mnemonix API.

Examples

iex> {:ok, store} = Mnemonix.Stores.Null.start_link()
iex> Mnemonix.put(store, "foo", "bar")
iex> Mnemonix.get(store, "foo")
nil

iex> {:ok, _store} = Mnemonix.Stores.Null.start_link(server: [name: My.Mnemonix.Stores.Null])
iex> Mnemonix.put(My.Mnemonix.Stores.Null, "foo", "bar")
iex> Mnemonix.get(My.Mnemonix.Stores.Null, "foo")
nil

Starts a new Mnemonix.Store.Server using Mnemonix.Stores.Null with store and server options.

The options are the same as described in Mnemonix.Store.Server.start_link/3. The store options are used in config/1 to start the store; the server options are passed directly to GenServer.start_link/2.

The returned GenServer.server/0 reference can be used as the primary argument to the Mnemonix API.

Examples

iex> {:ok, store} = Mnemonix.Stores.Null.start_link([], [])
iex> Mnemonix.put(store, "foo", "bar")
iex> Mnemonix.get(store, "foo")
nil

iex> {:ok, _store} = Mnemonix.Stores.Null.start_link([], [name: My.Mnemonix.Stores.Null])
iex> Mnemonix.put(My.Mnemonix.Stores.Null, "foo", "bar")
iex> Mnemonix.get(My.Mnemonix.Stores.Null, "foo")
nil