Packages
indieweb
0.0.26
0.0.66
0.0.65
0.0.64
0.0.63
0.0.62
0.0.61
0.0.60
0.0.59
0.0.58
0.0.56
0.0.55
0.0.54
0.0.53
0.0.51
0.0.50
0.0.49
0.0.48
0.0.47
0.0.46
0.0.42
0.0.41
0.0.40
0.0.39
0.0.38
0.0.37
0.0.36
0.0.35
0.0.34
0.0.33
0.0.32
0.0.31
0.0.30
0.0.29
0.0.28
0.0.27
0.0.26
0.0.25
0.0.24
0.0.23
0.0.22
0.0.21
0.0.20
0.0.19
0.0.17
0.0.16
0.0.15
0.0.14
0.0.13
0.0.12
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.3
0.0.2
0.0.1
Collection of common IndieWeb utilites like authorship resolution, Webmention, post type discovery and IndieAuth.
Current section
Files
Jump to
Current section
Files
lib/indieweb/cache/adapters/cachex.ex
defmodule IndieWeb.Cache.Adapters.Cachex do
@behaviour IndieWeb.Cache.Adapter
@moduledoc """
Wraps logic for using `Cachex` as the caching mechanism in `IndieWeb`.
NOTE: This uses the cache name `indieweb`.
"""
@impl true
def get(key) do
case Cachex.get(:indieweb, key) do
{:ok, value} = resp when not is_nil(value) -> resp
_ -> nil
end
end
@impl true
def delete(key) do
case Cachex.del(:indieweb, key) do
{:ok, _} -> :ok
_ -> :error
end
end
@impl true
def set(key, value, options \\ []) do
case Cachex.put(:indieweb, key, value) do
{:ok, _} ->
if Keyword.has_key?(options, :expire) do
{:ok, _} = Cachex.expire(:indieweb, key, options[:expire])
end
:ok
_ ->
:error
end
end
end