The Ruby Course

Ruby is a scripting language designed to promote developer joy.

Ruby is a clean and tidy little scripting language with a sensible and elegant API that reads very like English. Complex programs become simple, legible little one liners.

Startups love Ruby because it allows them to construct minimum viable products in weeks rather than months. Enterprise consumers may prefer JRuby which compiles to Java Bytecode and runs on the JVM, allowing access to the full power of Java, plus the productivity and scripting joy of Ruby.

Course Notes

Course Content

  1. Intro to Ruby

    Welcome to Ruby. Learn the language fundamentals, and how it differs from your current language of choice.

  2. Variables and Constants

    Ruby takes a relaxed attitude to data storage. Variables and constants.

  3. Integers and Floats

    Numbers are objects in Ruby and can be treated as such.

  4. Strings

    Ruby has an unusually rich string manipulation API.

  5. Functions

    Creating functions

  6. Flow Control

    Ruby loves it when you tell it what to do.

  7. Blocks

    Blocks are inline functions. We use them everywhere in Ruby. Learn what they are and how they work.

  8. RSpec

    Testing is a big deal in Ruby. RSpec is your premier tool for the job.

  9. Arrays

    We can accomplish many tasks using Array manipulation

  10. Hashes and Symbols

    Symbols are lightweight placeholder strings. Learn what they are useful for.

  11. Classes and Objects

    Everything in Ruby is an object. Learn Object orientation.

  12. Monkey Patching

    All objects are open and can be modified and extended.

  13. Operator Overloading

    Most language constructs in Ruby are in fact functions and can be overridden.

  14. Inheritance

    Inheritance allows a class to inherit values from it's parent. Ruby of course has it.

  15. Static Methods

    Ruby's simple object model doesn't support Static methods directly, instead we get Eigenclasses, which are better.

  16. Modules

    Separate your code into sensible modules for code reuse and modularity.

  17. Include vs Extend

    When to extend modules, and when to include them

  18. Exception Handling

    When things go wrong.

  19. Writing Methods which Receive Blocks

    We can pass blocks to functions.

  20. Writing a Gem

    We can ball our code up into a gem to make it easy to share.

  21. Send

    Write code which writes code

  22. Define Method

    Define methods dynamically

  23. Method Missing

    Create adaptive objects by defining methods on the fly

  24. Instance Eval

    Create a Domain Specific Language using instance eval.


If you'd like to book a course, or just have a chat about modern webstack technology, please send an email to We can set up a simple, no pressure Skype chat to discuss your requirements.

comments powered by Disqus