Ruby's rack explained
medium.com