Skip to content

A Ruby implementation of an Event Store based on Active Record

License

Notifications You must be signed in to change notification settings

pjurewicz/rails_event_store

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rails Event Store

Rails Event Store (RES) is a library for publishing, consuming, storing and retrieving events. It's your best companion for going with an event-driven architecture for your Rails application.

You can use it:

  • as your Publish-Subscribe bus
  • to decouple core business logic from external concerns in Hexagonal style architectures
  • as an alternative to ActiveRecord callbacks and Observers
  • as a communication layer between loosely coupled components
  • to react to published events synchronously or asynchronously
  • to extract side-effects (notifications, metrics etc) from your controllers and services into event handlers
  • to build an audit-log
  • to create read-models
  • to implement event-sourcing

Documentation

Documentation, tutorials and code samples are available at https://railseventstore.org.

Code status

This single repository hosts several gems and website with documentation — see the contribution guide.

We're aiming for 100% mutation coverage in this project. This is why:

Whenever you fix a bug or add a new feature, we require that the coverage doesn't go down.

RailsEventStore gems

Name CI Version Downloads
rails_event_store GitHub Workflow Status Gem Gem
rails_event_store_active_record GitHub Workflow Status Gem Gem
ruby_event_store GitHub Workflow Status Gem Gem
ruby_event_store-browser GitHub Workflow Status Gem Gem
ruby_event_store-rspec GitHub Workflow Status Gem Gem
aggregate_root GitHub Workflow Status Gem Gem

Contributed gems

Name CI Version Downloads
ruby_event_store-outbox GitHub Workflow Status Gem Gem
ruby_event_store-protobuf GitHub Workflow Status Gem Gem
ruby_event_store-profiler GitHub Workflow Status Gem Gem
ruby_event_store-flipper GitHub Workflow Status Gem Gem
ruby_event_store-transformations GitHub Workflow Status Gem Gem
ruby_event_store-rom GitHub Workflow Status Gem Gem
ruby_event_store-sidekiq_scheduler GitHub Workflow Status Gem Gem

Unreleased contributed gems

Name CI
ruby_event_store-newrelic GitHub Workflow Status
minitest-ruby_event_store GitHub Workflow Status
dres_rails GitHub Workflow Status
dres_client GitHub Workflow Status

About

Arkency

This repository is funded and maintained by arkency. Make sure to check out our Rails Architect Masterclass training and long-term support plans available.

About

A Ruby implementation of an Event Store based on Active Record

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 85.8%
  • HTML 7.3%
  • Elm 4.6%
  • Makefile 1.4%
  • CSS 0.7%
  • JavaScript 0.2%