Description
An implementation of an Event Store for Ruby and Rails. Comes with Active Record adapter.
This single repository hosts several gems.
Rails Event Store alternatives and similar gems
Based on the "Abstraction" category.
Alternatively, view Rails Event Store alternatives based on common mentions on social networks and blogs.
-
Amoeba
A ruby gem to allow the copying of ActiveRecord objects and their associated children, configurable with a DSL on the model -
Waterfall
A slice of functional programming to chain ruby services and blocks, thus providing a new approach to flow control. Make them flow! -
u-service
Represent use cases in a simple and powerful way while writing modular, expressive and sequentially logical code. -
Smart Init - Simple service objects in Ruby
A simple gem for eliminating Ruby initializers boilerplate code, and providing unified service objects API -
SuperModule
SuperModule allows defining class methods and method invocations the same way a super class does without using def included(base). This also succeeds ActiveSupport::Concern by offering lighter syntax -
Invokable
Objects are functions! Treat any Object or Class as a Proc (like Enumerable but for Procs). -
EasilyTypable
Ruby module that facilitates English-like type checking in an inheritance hierarchy via "type_name?" methods -
dry-rb
dry-rb is a collection of next-generation Ruby libraries, each intended to encapsulate a common task.
InfluxDB - Power Real-Time Data Analytics at Scale
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Rails Event Store or a related project?
README
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:
- Why I want to introduce mutation testing to the rails_event_store gem
- Mutation testing and continuous integration
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 | |||
rails_event_store_active_record | |||
ruby_event_store | |||
ruby_event_store-browser | |||
ruby_event_store-rspec | |||
aggregate_root |
Contributed gems
Unreleased contributed gems
Name | CI |
---|---|
ruby_event_store-newrelic | |
minitest-ruby_event_store | |
dres_rails | |
dres_client |
About
This repository is funded and maintained by arkency. Make sure to check out our Rails Architect Masterclass training and long-term support plans available.