# Expander
> **A library to expand/unshorten urls with unified cache store.**
[docs]: https://inch-ci.org/github/mojaz-io/expander
[docs-badge]: https://inch-ci.org/github/mojaz-io/expander.svg?branch=master&style=flat-square
[hex-license-badge]: https://img.shields.io/badge/license-MIT-7D26CD.svg?maxAge=86400&style=flat-square
[deps]: https://beta.hexfaktor.org/github/mojaz-io/expander
[deps-badge]: https://beta.hexfaktor.org/badge/all/github/mojaz-io/expander.svg?branch=master&style=flat-square
[![License][hex-license-badge]][hex]
[![Dependencies][deps-badge]][deps]
[![Documentation][docs-badge]][docs]
## Synopsis
`Expander` aims to help you:
- Expand short urls
- Experiment with different key/value cache store backends for the shortened urls
- Allow end-users of your library liberty to choose their preferred backend
## Status
| :thumbsup: | [Continuous Integration][status] | [Test Coverage][coverage] |
|:--------------------------:|:-----------------------------------:|:----------------------------------------:|
| [Master][master] | ![Build Status][master-status] | ![Coverage Status][master-coverage] |
| [Development][development] | ![Build Status][development-status] | ![Coverage Status][development-coverage] |
[status]: https://travis-ci.org/mojaz-io/expander
[coverage]: https://coveralls.io/github/mojaz-io/expander
[master]: https://github.com/mojaz-io/expander/tree/master
[master-status]: https://img.shields.io/travis/mojaz-io/expander/master.svg?maxAge=86400&style=flat-square
[master-coverage]: https://img.shields.io/coveralls/mojaz-io/expander/master.svg?maxAge=86400&style=flat-square
[development]: https://github.com/mojaz-io/expander/tree/development
[development-status]: https://img.shields.io/travis/mojaz-io/expander/development.svg?maxAge=86400&style=flat-square
[development-coverage]: https://img.shields.io/coveralls/mojaz-io/expander/development.svg?maxAge=86400&style=flat-square
## Cache Adapters
Expander supports the following cache adapters. Below is the list of the adapters currently included:
Provider | Expander adapter | Dependancy
:----------| :-------------------------------| :----------
Local | Expander.Cache.Adapter.Local |
Redis | Expander.Cache.Adapter.Redix | {:redix, ">= 0.0.0"}
Memcache | Expander.Cache.Adapter.Memcache | {:memcachex, ">= 0.0.0"}
## Installation
If [available in Hex](https://hex.pm/docs/publish), the package can be installed
by adding `expander` to your list of dependencies in `mix.exs`:
```elixir
def deps do
[{:expander, "~> 0.0.1"}]
end
```
Documentation can be generated with [ExDoc](https://github.com/elixir-lang/ex_doc)
and published on [HexDocs](https://hexdocs.pm). Once published, the docs can
be found at [https://hexdocs.pm/expander](https://hexdocs.pm/expander).