What lives here
Fifty short lessons, one unbroken chain: every page ends with a link to the next one, so you can read the course start to finish without ever wondering where to click. Each lesson teaches one idea with short Ruby examples, and the longer deep dives live on their own pages under Ruby:
- Start here: What is Ruby and where it runs — then follow the chain through lesson 50.
- Language core, lessons 2-20: install, irb, first script, variables, numbers, strings, symbols, truthiness, conditions, loops, arrays, hashes, ranges, methods, blocks, string tools, files, exceptions, mixins.
- Design and tooling, lessons 21-30: classes, inheritance, enumerables, idioms, gems, minitest, debugging, encodings, time, JSON and YAML.
- Networking and metaprogramming, lessons 31-43: HTTP clients, sockets, REST APIs, output, metaprogramming, enumerators, pattern matching, arguments, rake, environment, logging, CSV, ERB.
- Finish, lessons 44-50: WEBrick, Rails in one lesson, two capstones (todo CLI and JSON API), performance, modern Ruby tour, and the hero roadmap with every lesson on one page.
Course tree
Chapter 0: Install guides ├── Install Ruby on Windows 11 ├── Install Ruby on Ubuntu ├── Install Ruby on Rocky Linux ├── Install Ruby on macOS ├── Install Ruby on FreeBSD └── Ruby in Docker Chapter 1: First steps ├── 01 What is Ruby and where it runs ├── 02 Install Ruby and check the version ├── 03 irb: the interactive shell └── 04 Your first Ruby script Chapter 2: Core types and control flow ├── 05 Variables ├── 06 Numbers ├── 07 Strings ├── 08 Symbols ├── 09 Truthiness: only false and nil ├── 10 Conditions ├── 11 Loops ├── 12 Arrays ├── 13 Hashes └── 14 Ranges Chapter 3: Methods, blocks and IO ├── 15 Methods ├── 16 Blocks, procs, lambdas ├── 17 String tools ├── 18 Files and IO ├── 19 Exceptions └── 20 Modules and mixins Chapter 4: Objects and tooling ├── 21 Classes and objects ├── 22 Inheritance ├── 23 Enumerables ├── 24 Duck typing and core idioms ├── 25 Gems and Bundler ├── 26 Testing with Minitest ├── 27 Debugging ├── 28 Encodings ├── 29 Time and date └── 30 JSON and YAML Chapter 5: Networking and metaprogramming ├── 31 HTTP clients ├── 32 Sockets ├── 33 REST APIs ├── 34 puts, print and p ├── 35 Metaprogramming ├── 36 Enumerators ├── 37 Pattern matching ├── 38 Arguments: splats and kwargs ├── 39 Rake tasks ├── 40 Environment and CLI ├── 41 Logging ├── 42 CSV └── 43 ERB templates Chapter 6: Rails, capstones and finish ├── 44 WEBrick server ├── 45 Rails in one lesson ├── 46 Capstone: todo CLI ├── 47 Capstone: JSON API ├── 48 Performance ├── 49 Modern Ruby tour └── 50 Hero roadmap: the whole course on one page Bonus: Threads and fibers └── Threads and fibers
How to use this course
Type every example, do not just read it. Run each snippet with
ruby or paste it into
irb before moving on - the course assumes
your hands remember lesson 4 by the time lesson 16 arrives.
The classic Ruby rules apply from day one: two-space indent,
snake_case names, and parentheses omitted
where they add no meaning.