View Source Haystack.Storage.Map (Haystack v0.1.0)
A map implementation of the storage behaviour.
Link to this section Summary
Functions
Return the count of items in storage.
Delete an item from storage.
Fetch an item from storage.
Fetch an item from storage.
Insert an item into storage.
Create a new storage.
Serialize the storage.
Update an item in storage.
Update an item in storage.
Upsert an item in storage.
Link to this section Types
Link to this section Functions
Return the count of items in storage.
examples
Examples
iex> storage = Storage.Map.new()
iex> storage = Storage.insert(storage, :name, "Haystack")
iex> Storage.count(storage)
1
Delete an item from storage.
examples
Examples
iex> storage = Storage.Map.new()
iex> storage = Storage.Map.delete(storage, :name)
iex> Storage.Map.fetch(storage, :name)
{:error, %Storage.NotFoundError{message: "Not found"}}
iex> storage = Storage.Map.new()
iex> storage = Storage.Map.insert(storage, :name, "Haystack")
iex> storage = Storage.Map.delete(storage, :name)
iex> Storage.Map.fetch(storage, :name)
{:error, %Storage.NotFoundError{message: "Not found"}}
Fetch an item from storage.
examples
Examples
iex> storage = Storage.Map.new()
iex> Storage.Map.fetch(storage, :name)
{:error, %Storage.NotFoundError{message: "Not found"}}
iex> storage = Storage.Map.new()
iex> storage = Storage.Map.insert(storage, :name, "Haystack")
iex> Storage.Map.fetch(storage, :name)
{:ok, "Haystack"}
Fetch an item from storage.
examples
Examples
iex> storage = Storage.Map.new()
iex> storage = Storage.Map.insert(storage, :name, "Haystack")
iex> Storage.Map.fetch!(storage, :name)
"Haystack"
Insert an item into storage.
examples
Examples
iex> storage = Storage.Map.new()
iex> storage = Storage.Map.insert(storage, :name, "Haystack")
iex> Storage.Map.fetch!(storage, :name)
"Haystack"
Create a new storage.
examples
Examples
iex> Storage.Map.new()
Serialize the storage.
examples
Examples
iex> storage = Storage.Map.new()
iex> Storage.serialize(storage)
Update an item in storage.
examples
Examples
iex> storage = Storage.Map.new()
iex> Storage.Map.update(storage, :name, &String.upcase/1)
{:error, %Storage.NotFoundError{message: "Not found"}}
iex> storage = Storage.Map.new()
iex> storage = Storage.Map.insert(storage, :name, "Haystack")
iex> {:ok, storage} = Storage.Map.update(storage, :name, &String.upcase/1)
iex> Storage.Map.fetch!(storage, :name)
"HAYSTACK"
Update an item in storage.
examples
Examples
iex> storage = Storage.Map.new()
iex> storage = Storage.Map.insert(storage, :name, "Haystack")
iex> storage = Storage.Map.update!(storage, :name, &String.upcase/1)
iex> Storage.Map.fetch!(storage, :name)
"HAYSTACK"
Upsert an item in storage.
examples
Examples
iex> storage = Storage.Map.new()
iex> storage = Storage.Map.upsert(storage, :name, "HAYSTACK", &String.upcase/1)
iex> Storage.Map.fetch!(storage, :name)
"HAYSTACK"
iex> storage = Storage.Map.new()
iex> storage = Storage.Map.insert(storage, :name, "Haystack")
iex> storage = Storage.Map.upsert(storage, :name, "HAYSTACK", &String.upcase/1)
iex> Storage.Map.fetch!(storage, :name)
"HAYSTACK"