Makes your Rails app tick — effortless, durable workflows.
class SignupWorkflow < GenevaDrive::Workflow
step :send_welcome_email do
WelcomeMailer.welcome(hero).deliver_later
end
step :send_reminder, wait: 2.days do
ReminderMailer.remind(hero).deliver_later
end
step :complete_onboarding, wait: 7.days do
hero.update!(onboarding_completed: true)
end
endGeneva Drive is a Ruby library that turns long, fragile procedures into sequences of discrete, durable steps. Each step begins and ends at rest; failures resume where they stopped; retries do not double-run.
Get started
$ bundle add geneva_drive
$ bin/rails generate geneva_drive:install && bin/rails db:migrateWhy the name?
The Geneva drive is a watchmaker's mechanism: a small, stubborn piece of mechanical engineering. It has outlasted its era in watches and cinema projectors alike because the geometry alone does the work. No springs, no detents, no overshoot. Find out more →