Ruby Metaprogramming - Complete Course

Master Ruby metaprogramming with this course! Learn to write elegant code, understand Ruby's magic, and create your own DSLs.

  • Overview
  • Curriculum
  • Instructor
  • Review

Brief Summary

This course is all about mastering Ruby metaprogramming! You'll dive into the little-known features of Ruby, learn to write elegant code, and uncover the magic behind popular gems. It's designed to make metaprogramming feel simple and doable.

Key Points

  • Learn metaprogramming to level up from Ruby novice to pro
  • Understand key Ruby language features
  • Demystify magic behind popular gems
  • Build your own DSL (Domain Specific Language)
  • Write elegant and concise Ruby code

Learning Outcomes

  • Become a better Ruby developer and write more elegant code
  • Create dynamic tests that cover all test cases
  • Understand the inner workings of popular Ruby gems
  • Build your own Domain Specific Language like rspec
  • Get confident in Ruby and its metaprogramming features

About This Course

Learn metaprogramming! Start writing elegant Ruby & Rails code and understanding all the magic behind Ruby on Rails.

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.

  • Understand the magic behind Ruby on Rails.

  • Write better, more elegant & efficient Ruby code and tests.

  • Join the "Ruby Guru" pride.

Course Curriculum

Instructor

Profile photo of Said Abduvaliev
Said Abduvaliev

Said Abduvaliev is a an experienced full stack web developer with over 10 years experience. In the last 5 years, he has been involved in several successful startups built on Ruby on Rails. Latest involved projects: KupiKupon, BeSmarty, LocalOne, etc. (12M page views/day).Said has experience writing enterprise systems using Java, PHP and Ruby. He has worked for and involved in...

Review
4.9 course rating
4K ratings
ui-avatar of Jovica Susa
Jovica S.
5.0
9 months ago

This course is an excellent resource for anyone looking to master Ruby metaprogramming. The content is thorough and covers all aspects of the topic in great detail. The examples and the practice exercises are well thought and quite helpful as well. I recommend this course for anyone wanting to deepen their understanding of Ruby!

  • Helpful
  • Not helpful
ui-avatar of Pieter Greyling
Pieter G.
5.0
11 months ago

Excellent course so far with material not easily found in one place elsewhere.

  • Helpful
  • Not helpful
ui-avatar of Nikhil Subhash Bhagat
Nikhil S. B.
5.0
2 years ago

Amazing course

  • Helpful
  • Not helpful
ui-avatar of Kevin Nafziger
Kevin N.
5.0
3 years ago

love this course!

  • Helpful
  • Not helpful
ui-avatar of Riccardo Gamberini
Riccardo G.
5.0
4 years ago

The explanation it's clear.

  • Helpful
  • Not helpful
ui-avatar of Vinirdishtith Rana
Vinirdishtith R.
4.0
4 years ago

Metaprogramming concepts explained very good, any level can understand them. thanks.

  • Helpful
  • Not helpful
ui-avatar of Metehan Güzlesoy
Metehan G.
1.0
4 years ago

There can't be that much slide narration, my expectation could tell through the project.

  • Helpful
  • Not helpful
ui-avatar of Yasuhiro Yoshida
Yasuhiro Y.
3.0
5 years ago

The instructor has a lot of knowledge of metaprogramming. There were lightbulb moments throughout the course. That was good. However, there were also some confusing parts with terms used interchangeably and/or lack of explanations. In a case like this, we usually turn to forums, but there were no meaningful discussions. I asked for a Slack invite, but it was never given. The accompanying resources are only a PDF version of the recording; You have to copy everything manually in case you would like to demonstrate it locally. Like some people expressed, this is not a kind of thing we expect from Udemy. We like a workshop-like environment full of interactions. If you are a beginner, you probably want to solidify your knowledge of Ruby and feel comfortable with the language before taking this course. It's a tough topic.

  • Helpful
  • Not helpful
ui-avatar of Verny Rivera Duarte
Verny R. D.
4.5
5 years ago

So far it has been a really good experience. I would have chosen a different naming convention to facilitate the understanding rather than Myclass. Anyway, it's a complex topic and the explanation has been really good.

  • Helpful
  • Not helpful
ui-avatar of Prayas Arora
Prayas A.
5.0
5 years ago

This is the best course not only to understand Ruby's metaprogramming but also a lot more about the language as well. I searched a lot to find the best content for ruby metaprogramming but always end up with partial and incomplete knowledge. Trust me its the final station, the real deal. I have a book named Metaprogramming Ruby which is of 300 pages. Trust me this course has more content and even everything is so beautifully explained that even with the basic knowledge about Ruby you can learn what only few percent of ruby programmers have the knowledge about.

  • Helpful
  • Not helpful
Leave A Reply

Your email address will not be published. Required fields are marked *

Ratings

Courses You May Like

Lorem ipsum dolor sit amet elit
Show More Courses