As a Ruby programmer, you already know how much fun it is. Now see how to unleash its power, digging under the surface and exploring the language’s most advanced features: a collection of techniques and tricks known as metaprogramming. Once the domain of expert Rubyists, metaprogramming is now accessible to programmers of all levels—from beginner to expert. Metaprogramming Ruby explains metaprogramming concepts in a down-to-earth style and arms you with a practical toolbox that will help you write great Ruby code.
Metaprogramming Ruby 2 is available here.
Out of Print
This book is currently out of print.
About this Book
- 296 pages
- Release: P4.0 (2012-12-03)
- ISBN: 978-1-93435-647-0
Everyone in the Ruby world seems to be talking about metaprogramming—how you can use it to remove duplication in your code and write elegant, beautiful programs. Now you can get in on the action as well.
This book describes metaprogramming as an essential component of Ruby. Once you understand the principles of Ruby, including the object model, scopes, and eigenclasses, you’re on your way to applying metaprogramming both in your daily work and in your fun, after-hours projects.
Learning metaprogramming doesn’t have to be difficult or boring. By taking you on a Monday-through-Friday workweek adventure with a pair of programmers, Paolo Perrotta helps make mastering the art of metaprogramming both straightforward and entertaining.
The book is packed with:
- Pragmatic examples of metaprogramming in action, many of which come straight from popular libraries or frameworks, such as Rails.
- Programming challenges that let you experiment and play with some of the most fun, “out-there” metaprogramming concepts.
- Metaprogramming spells—34 practical recipes and idioms that you can study and apply right now, to write code that is sure to impress.
Whether you’re a Ruby apprentice on the path to mastering the language or a Ruby wiz in search of new tips, this book is for you.
What You Need
Ruby 1.8 or Ruby 1.9
Contents and Extracts
- Metaprogramming Ruby
- Monday: The Object Model
- Tuesday: Methods excerpt
- Wednesday: Blocks
- Thursday: Class Definitions
- Friday: Code That Writes Code
- Metaprogramming in Rails
- The Design of ActiveRecord
- Inside ActiveRecord
- Metaprogramming Safely
- Common Idioms
- Domain Specific Languages
- Spell Book excerpt
Comments and Reviews
If you program in Ruby, buy this book. Twice. Ruby isn’t magic anymore, just great.
Chris Bunch said:
I’ve also had a lot of trouble finding a good way to pick up these metaprogramming techniques, and this book is bar-none the best way to do it. Paolo Perrotta makes it painless to learn Ruby’s most complex secrets and use them in practical applications
—Ola Bini ThoughtWorks
In Ruby, the practitioners of metaprogramming have found a language where they are only constrained by their imagination. To reach mastery is hard, and even harder is to apply it tastefully. This book gives a grounding in the fundamentals of metaprogramming Ruby in such a way that anyone can pick it up and then immediately start using it. Paolo brings out the core of how simple metaprogramming can be in this book, and that is no easy task.