Stripe uses Ruby extensively. It’s the main language we use to build the business logic behind our APIs, and our Ruby codebase is on the order of millions of lines of code. At that scale and with our expected rapid growth rate two things are true: 1) we need all the tooling help we can get to understand and modify that much code, and 2) a total rewrite in a statically typed language would be a massive undertaking.
How could using random values within your specs lead to better documentation and greater confidence? This post will use Ruby and RSpec to introduce some concepts from property based testing.
Detects potentially dangerous operations in migrations, prevents them from running by default, and provides instructions on safer ways to do what you want.