Friendship ended with Postgresql now Cachex is my best friend
This commit is contained in:
parent
535fddd286
commit
c119ea3a57
|
@ -73,10 +73,10 @@ def delete(%Object{data: %{"id" => id}} = object) do
|
||||||
{:ok, object}
|
{:ok, object}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def get_cached_scrubbed_html(content, scrubbers, object) do
|
def get_cached_scrubbed_html(content, scrubbers, object) do
|
||||||
key = "#{generate_scrubber_signature(scrubbers)}|#{object.id}"
|
key = "#{generate_scrubber_signature(scrubbers)}|#{object.id}"
|
||||||
Cachex.fetch!(:scrubber_cache, key, fn(_key) -> ensure_scrubbed_html(content, scrubbers) end )
|
Cachex.fetch!(:scrubber_cache, key, fn _key -> ensure_scrubbed_html(content, scrubbers) end)
|
||||||
end
|
end
|
||||||
|
|
||||||
def get_cached_stripped_html(content, object) do
|
def get_cached_stripped_html(content, object) do
|
||||||
|
@ -87,22 +87,24 @@ def ensure_scrubbed_html(
|
||||||
content,
|
content,
|
||||||
scrubbers
|
scrubbers
|
||||||
) do
|
) do
|
||||||
{:commit, HTML.filter_tags(content, scrubbers)}
|
{:commit, HTML.filter_tags(content, scrubbers)}
|
||||||
end
|
end
|
||||||
|
|
||||||
defp generate_scrubber_signature(scrubber) when is_atom(scrubber) do
|
defp generate_scrubber_signature(scrubber) when is_atom(scrubber) do
|
||||||
generate_scrubber_signature([scrubber])
|
generate_scrubber_signature([scrubber])
|
||||||
end
|
end
|
||||||
|
|
||||||
defp generate_scrubber_signature(scrubbers) do
|
defp generate_scrubber_signature(scrubbers) do
|
||||||
Enum.reduce(scrubbers, "", fn scrubber, signature ->
|
Enum.reduce(scrubbers, "", fn scrubber, signature ->
|
||||||
# If a scrubber does not have a version(e.g HtmlSanitizeEx.Scrubber) it is assumed it is always 0)
|
# If a scrubber does not have a version(e.g HtmlSanitizeEx.Scrubber) it is assumed it is always 0)
|
||||||
version = if Kernel.function_exported?(scrubber, :version, 0) do
|
version =
|
||||||
|
if Kernel.function_exported?(scrubber, :version, 0) do
|
||||||
scrubber.version
|
scrubber.version
|
||||||
else
|
else
|
||||||
0
|
0
|
||||||
end
|
end
|
||||||
"#{signature}#{to_string(scrubber)}#{version}"
|
|
||||||
|
"#{signature}#{to_string(scrubber)}#{version}"
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -261,5 +261,4 @@ def emoji_from_profile(%{info: _info} = user) do
|
||||||
}
|
}
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue