HOME > Development > Ruby Metaprogramming Complete Course

Ruby Metaprogramming Complete Course

  • Development
  • Apr 25, 2025
SynopsisRuby Metaprogramming – Complete Course, available at $4...
Ruby Metaprogramming Complete Course  No.1

Ruby Metaprogramming – Complete Course, available at $49.99, has an average rating of 4.35, with 41 lectures, 3 quizzes, based on 346 reviews, and has 1800 subscribers.

You will learn about Understand the magic behind Ruby on Rails. Write better, more elegant & efficient Ruby code and tests. Join the Ruby Guru pride. Write own DSL, gems, etc. Understand most of the code in popular gems. This course is ideal for individuals who are Ruby developers who are familiar with the ruby language basics, syntax, etc. or Ruby on Rails developers who want to improve their code. or Developers who want to understand the magic behind Ruby on Rails code. or This course is probably not for you, if you are new to Ruby and want to learn the Ruby programming language basics. It is particularly useful for Ruby developers who are familiar with the ruby language basics, syntax, etc. or Ruby on Rails developers who want to improve their code. or Developers who want to understand the magic behind Ruby on Rails code. or This course is probably not for you, if you are new to Ruby and want to learn the Ruby programming language basics.

Enroll now: Ruby Metaprogramming – Complete Course

Summary

Title: Ruby Metaprogramming – Complete Course

Price: $49.99

Average Rating: 4.35

Number of Lectures: 41

Number of Quizzes: 3

Number of Published Lectures: 39

Number of Published Quizzes: 3

Number of Curriculum Items: 44

Number of Published Curriculum Objects: 42

Original Price: $49.99

Quality Status: approved

Status: Live

What You Will Learn

  • Understand the magic behind Ruby on Rails.
  • Write better, more elegant & efficient Ruby code and tests.
  • Join the Ruby Guru pride.
  • Write own DSL, gems, etc.
  • Understand most of the code in popular gems.
  • Who Should Attend

  • Ruby developers who are familiar with the ruby language basics, syntax, etc.
  • Ruby on Rails developers who want to improve their code.
  • Developers who want to understand the magic behind Ruby on Rails code.
  • This course is probably not for you, if you are new to Ruby and want to learn the Ruby programming language basics.
  • Target Audiences

  • Ruby developers who are familiar with the ruby language basics, syntax, etc.
  • Ruby on Rails developers who want to improve their code.
  • Developers who want to understand the magic behind Ruby on Rails code.
  • This course is probably not for you, if you are new to Ruby and want to learn the Ruby programming language basics.
  • Just like many other?ruby developers, I?wanted to learn metaprogramming to make the leap from Ruby novice to?Ruby pro.?But,?approaching the subject?felt?a bit intimidating. I tried to learn metaprogramming several times and every?time I tried, all available materials were?referring to even more complicated and less known concepts?such as: eigenclasses, singleton classes,?ruby object model, classes being objects themselves, etc.

    So, I spent several months reading?about all these concepts?and synthesised?all available material. At the end, it just “clicked”!?It?turned out to be very simple!?The?problem was that there was no single resource where all this concepts were put together. So, I?decided to produce?this corse. I hope it will save your time and you?will find it?useful.

    This video course will teach you ruby metaprogramming by introducing small, simple and less known ruby insights in each video. And once you learn them, metaprogramming will just start to make sense.

    At the end of the course, you will:

  • Be better Ruby developer who can write elegant code using Ruby’s metaprogramming features.
  • Make your test code more concise by writing test that?dynamically generate?code that covers all test?cases.
  • Be able to understand and explain the magic behind the code/syntax in all popular gems.
  • Better understand the Ruby language.
  • and of course write your own DSL’s for your business?domain?(just like rspec, rake, etc.).
  • Course overview

    Metaprogramming is such an integral part of the Ruby language, that in order to learn it, you need to understand the specific language features of Ruby. This features are less known and not covered in?books. But, once you are introduced to them, metaprogramming starts to make sense. That’s why, the course?will start by introducing several key Ruby language?insights. After this section, you will understand why is it that some method or variable is not?available in some scope and available in others?or how scope changes in your code and more.

    In the second section of the course, we?will cover all the SDK methods that are involved in metaprogramming. Along the way, we will go through several examples that demystifies magic behind most popular gem code as well.

    In the last section of the course, we will put?everything we’ve?learnt into practice and will build?our own rspec, domain specific language and some of the rails most popular magical methods.

    Course Curriculum

    Chapter 1: Intoduction

    Lecture 1: Welcome

    Lecture 2: Course layout & Contact details

    Chapter 2: Ruby Insights

    Lecture 1: Everything is an Object

    Lecture 2: Open classes, DuckType, Runnable code

    Lecture 3: Material Revision

    Lecture 4: Classes are objects

    Lecture 5: Additional material & Revision: Classes are objects

    Lecture 6: Scopes

    Lecture 7: Additional material & Revision: Scopes

    Lecture 8: Classes are modules with hierarchy

    Lecture 9: Additional material & Revision: Classes are Modules

    Lecture 10: Inheritance hierarchy

    Lecture 11: Additional material & Revision: Inheritance Hierarchy

    Lecture 12: Where variables and methods live?

    Lecture 13: Revision: Where variables & methods live?

    Lecture 14: Method lookup

    Lecture 15: Revision: Method lookup

    Lecture 16: Variables & Variable Scope

    Lecture 17: Ruby Object Model

    Lecture 18: Blocks, Closures, Binding

    Chapter 3: Metaprogrammers Toolkit

    Lecture 1: Querying about classes / methods / variables

    Lecture 2: Practice: Imitating Custom Language Keywords

    Lecture 3: Defining classes / methods / variables

    Lecture 4: Practice: Creating our own attr_accessor method

    Lecture 5: Changing existing classes / methods / variables

    Lecture 6: Practice: Implementing Rails’ “alias_method_chain

    Lecture 7: Evaluate code in different contexts

    Lecture 8: Hook into changes in classes / methods / variables

    Lecture 9: Practice: Write your own ActiveSupport::Concern

    Lecture 10: Practice: Going through Rails ActiveSupport::Concern code

    Chapter 4: Practice and Excersises

    Lecture 1: Task: Write your own .tap() method in Ruby 1.8

    Lecture 2: Solution: Write and improve the .tap() method

    Lecture 3: Task: Implement Struct class

    Lecture 4: Solution: Custom implementation of Struct class

    Lecture 5: Task: Write DSL for HTML code generation

    Lecture 6: Solution: Write DSL for HTML code generator

    Lecture 7: Example: Evaluating code in isolated scope

    Lecture 8: Example: Sharing scopes among specific Classes or methods

    Lecture 9: Exercise: Demystifying Rails magic

    Instructors

  • Ruby Metaprogramming Complete Course  No.2
    Said Abduvaliev
    Experienced Software Engineer
  • Rating Distribution

  • 1 stars: 5 votes
  • 2 stars: 3 votes
  • 3 stars: 28 votes
  • 4 stars: 103 votes
  • 5 stars: 207 votes
  • Frequently Asked Questions

    How long do I have access to the course materials?

    You can view and review the lecture materials indefinitely, like an on-demand channel.

    Can I take my courses with me wherever I go?

    Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!