Files
feed_reader/test/support/external_format_handler.ex
T
2026-05-07 20:54:47 +00:00

24 lines
614 B
Elixir

defmodule FeedReader.TestSupport.ExternalFormatHandler do
@moduledoc false
@behaviour Saxy.Handler
alias FeedReader.Feed
@impl true
def handle_event(:start_document, _data, %{opts: opts} = state) do
if Keyword.get(opts, :emit_event), do: emit_event(state)
{:ok, state}
end
def handle_event(:end_document, _data, %{opts: opts} = state) do
if Keyword.get(opts, :emit_event), do: emit_event(state)
{:ok, state}
end
def handle_event(_event_type, _data, state), do: {:ok, state}
defp emit_event(state), do: state.event_sink.({:feed, %Feed{title: "External", type: :rss}})
end