← Graph

Decider Pattern in Ruby Lightning Talk

talk 5 connections

wroclove.rb 2025 lightning talk following up on Mateusz Nowak's 'Might & Magic of Domain-Driven Design' talk (which used the decider pattern). Explains the decider pattern as a more concrete version of the DDD aggregate pattern built from pure functions: a decide(command, state) function that emits events (protecting invariants as a boundary), an evolve(state, event) function that returns new state, and an initial-state function. State must be passed explicitly because the functions are pure. The speaker implemented the pattern as a Ruby gem called decide_rb (couldn't use 'decider' — taken for 15 years), inspired by the aggregates repository from Arkency. Demonstrates an Issue example (open/resolved states) with both block-style and proc-style match branches and hints at evolution before running out of time.

date
2025-03-14
type
lightning-talk
talk Decider Pattern in Ruby Lightning Talk
about
Decider Pattern concept
The talk explains the decider pattern in detail.
talk Decider Pattern in Ruby Lightning Talk
about
decide_rb tool
The speaker introduces the decide_rb gem as his implementation of the decider pattern.
talk Decider Pattern in Ruby Lightning Talk
about
The decide_rb gem is inspired by Arkency's aggregates repository.
talk Decider Pattern in Ruby Lightning Talk
presented_at
Lightning talk session at wroclove.rb 2025.
talk Decider Pattern in Ruby Lightning Talk
related_to
The talk explicitly follows up on Mateusz Nowak's 'Mat' talk earlier in the day.

Provenance

Created in
wroclove.rb 2025 lightning talks 2026-04-18 08:03
Read by
1 extraction