Skip to content

Instantly share code, notes, and snippets.

@rob-brown
Last active August 18, 2016 07:06
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save rob-brown/8485c6c7d2370b5aaeba9b8134716fa3 to your computer and use it in GitHub Desktop.
Save rob-brown/8485c6c7d2370b5aaeba9b8134716fa3 to your computer and use it in GitHub Desktop.
Inspect the data passed between GenStages.
defmodule StageInspector do
alias Experimental.{GenStage}
use GenStage
def init(type) when type in [:consumer, :producer_consumer] do
{type, type}
end
def handle_events(events, _from, state = :consumer) do
Enum.each events, &inspect_event/1
{:noreply, [], state}
end
def handle_events(events, _from, state = :producer_consumer) do
Enum.each events, &inspect_event/1
{:noreply, events, state}
end
defp inspect_event(event) when is_binary(event), do: IO.puts(event)
defp inspect_event(event), do: IO.inspect(event)
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment