Ruby

Learn Ruby 3: objects, blocks and lambdas, Enumerable, modules and mixins, pattern matching, metaprogramming and DSLs, gems, RSpec, YJIT and Rails basics.

Start course →

What you'll learn

  • Explain Ruby's object model and set up projects with version managers, gems and Bundler.
  • Write idiomatic control flow and use arrays, hashes, Enumerable and blocks effectively.
  • Design classes, modules and value objects with mixins, visibility and inheritance.
  • Use flexible method arguments, exceptions and pattern matching for robust code.
  • Apply duck typing, refinements, metaprogramming and DSLs responsibly, and handle files, text and concurrency.
  • Package gems, test with RSpec and Minitest, keep quality with RuboCop and types, and understand Rails.

Syllabus

Getting Started with Ruby

  1. What Ruby Is and Why Developers Love It
  2. Installing Ruby, irb, Gems and Bundler
  3. Variables, nil, Strings and Symbols

Control Flow, Collections and Blocks

  1. Conditionals, case and Ranges
  2. Arrays, Hashes and Enumerable
  3. Blocks, yield, Procs and Lambdas

Objects, Classes and Modules

  1. Classes, Attributes and Initialisation
  2. Modules, Mixins and Namespaces
  3. Inheritance, Visibility, Struct and Data

Methods, Errors and Pattern Matching

  1. Method Arguments and Conventions
  2. Exceptions and Error Handling
  3. Pattern Matching with case/in

Dynamic Ruby and Metaprogramming

  1. Duck Typing, Open Classes and Refinements
  2. Metaprogramming: send, define_method and method_missing
  3. Blocks and DSLs

Files, Text and Concurrency

  1. Files, JSON, CSV and Time
  2. Strings, Regular Expressions and Encodings
  3. Threads, the GVL, Fibers and Ractors

Gems, Testing and Code Quality

  1. Creating and Publishing Gems
  2. Testing with RSpec and Minitest
  3. RuboCop, Types and Performance

Rails, Scripting, Idioms and Revision

  1. A First Look at Ruby on Rails
  2. Automation, Rake and Command-Line Tools
  3. Idiomatic Ruby and Common Pitfalls
  4. Revision and Interview Questions