# `PolyPost.Depot`
[🔗](https://git.sr.ht/~angelolakra/poly_post)

A process to manage the content for a resource (articles, etc.).

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `clear`
*since 0.1.0* 

```elixir
@spec clear(PolyPost.Resource.name()) :: :ok
```

Removes all the content related to the resouce.

# `count`
*since 0.2.0* 

```elixir
@spec count(PolyPost.Resource.name()) :: non_neg_integer()
```

Counts the units of content under a resource

# `exists?`
*since 0.2.0* 

```elixir
@spec exists?(PolyPost.Resource.name()) :: boolean()
```

Checks to see if a depot process for a resource exists.

# `find`
*since 0.1.0* 

```elixir
@spec find(PolyPost.Resource.name(), PolyPost.Resource.key()) ::
  PolyPost.Resource.content()
```

Finds specific content by a key for the resource.

# `get_all`
*since 0.1.0* 

```elixir
@spec get_all(PolyPost.Resource.name()) :: [
  {PolyPost.Resource.key(), PolyPost.Resource.content()}
]
```

Gets all content for a resource.

# `handle_continue`

# `init`

# `insert`
*since 0.1.0* 

```elixir
@spec insert(
  PolyPost.Resource.name(),
  PolyPost.Resource.key(),
  PolyPost.Resource.content()
) :: :ok
```

Inserts content for a resource via a key

# `start_link`
*since 0.1.0* 

```elixir
@spec start_link(PolyPost.Resource.name()) :: GenServer.on_start()
```

Starts the Depot process with a given name to represent the
resource.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
