What problem does it solve?
Rails codebases get messy when orchestration, transactions, and side effects are spread across controllers, models, and jobs without a clear, testable contract.
Core Features & Use Cases
- Orchestration service pattern: Create plain Ruby collaborators with a single
#call entry point to coordinate multiple models or external systems.
- Focused, Minitest-friendly coverage: Start from a failing RED test, implement step-by-step, and add explicit error-case tests for recoverable failures.
- Clear contract and boundaries: Define input/output expectations, inject dependencies only for real external boundaries, and keep Rails validations/exceptions meaningful.
- Use cases: Payment processing, cross-model workflows, transaction + side-effect orchestration, and shared logic reused across controllers, jobs, or rake tasks.
Quick Start
Use this skill to implement a Rails service object that orchestrates multi-model behavior and returns a clear success or failure result when building an order flow with inventory validation and payment charging.