eidetic_projector v0.1.0-alpha4 Eidetic.Projector

Eidetic Projector provides a middleware system for consuming events and building projections.

To get started, you’ll need to start the Projector within your supervisor:

[
  # The second parameter is your options, documented below.
  {Eidetic.Projector, []}
]

You can pass in pre and post-processors, which implement the Eidetic.Projector.Middleware behaviour.

[
  {Eidetic.Projector, [
    deserializer: MyDeserialize,
    preprocess: [
      Some.PreProcess.Middleware
    ],
    postprocess: [
      Some.PostProcess.Middleware
    ]
  ]}
]

Other options accepted are:

{Eidetic.Projector, [
  name: :some_other_name
]}

Link to this section Summary

Functions

Returns a specification to start this module under a supervisor

Consumer’s pass through their ConsumerMeta information and the received payload

GenServer Endpoint for consume/1

Convert the options passed through start_link/1 into our config map

Got to start somewhere

Link to this section Functions

Link to this function child_spec(arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

Link to this function consume(consumer_meta, payload)

Consumer’s pass through their ConsumerMeta information and the received payload.

It gets deserialized and passed through the preprocess middleware, hoping that a handle is configured.

If no handler, exit.

If a handler is established, send the bundle to the handler and run the post-process middleware.

Link to this function handle_call(msg, from, state)

GenServer Endpoint for consume/1

Convert the options passed through start_link/1 into our config map

Link to this function start_link(options \\ [])

Got to start somewhere