frenzy/lib/frenzy/pipeline/filter_stage.ex

21 lines
455 B
Elixir

defmodule Frenzy.Pipeline.FilterStage do
require Logger
alias Frenzy.Pipeline.{Stage, FilterEngine}
@behaviour Stage
@impl Stage
def apply(filter, item_params) do
if FilterEngine.test(filter, item_params) do
{:ok, item_params}
else
Logger.debug("Skipping item #{item_params.url} due to feed filter")
:tombstone
end
end
@impl Stage
def validate_opts(opts) do
FilterEngine.validate_filter(opts)
end
end