Packages
indieweb
0.0.39
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
result = Cachex.get(:indieweb, key)
case result do
{:ok, value} when not is_nil(value) -> value
_ -> nil
end
end
@impl true
def delete(key) do
case Cachex.del(:indieweb, key) do
{:ok, _} -> :ok
err -> {:error, err}
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, true} =
Cachex.expire(:indieweb, key, :timer.seconds(options[:expire]))
end
:ok
err ->
{:error, err}
end
end
end