• Stars
    star
    1,405
  • Rank 33,478 (Top 0.7 %)
  • Language
    Ruby
  • License
    MIT License
  • Created over 9 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Ruby implementation of an Event Store based on Active Record

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-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.