Flockingbird/roost

View on GitHub
app/reactors/member_generator.rb

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
# frozen_string_literal: true

module Reactors
  ##
  # Generates a MemberAdded Event.
  class MemberGenerator
    include EventSourcery::Postgres::Reactor

    processor_name :member_generator
    emits_events MemberAdded

    process RegistrationConfirmed do |event|
      emit_event(
        MemberAdded.new(
          aggregate_id: SecureRandom.uuid,
          body: event.body,
          causation_id: event.id
        )
      )
    end
  end
end