Event Driven
Event-driven architecture is modeled as events, publishers, and subscribers.
architecture :event_driven,
events: "app/events/**/*.rb",
publishers: "app/publishers/**/*.rb",
subscribers: "app/subscribers/**/*.rb"
This checks:
- event definitions do not depend on publishers or subscribers
- publishers only depend on declared events
- subscribers only depend on declared events
- the declared components do not form cycles
The Rails default is:
preset :rails_event_driven
This is intentionally narrow. It checks source-level coupling, not event delivery semantics.