DSLs shouldn't require a masters degree in metaprogramming.

You've read about building Domain Specific Languages with Ruby but it can be hard to make sense not only the metaprogramming but the myriad of opinions and approaches. How do you get started and how can you make it all work? It can make your head spin when you dive in to try it.

You know writing DSLs in Ruby is powerful and flexible, but aren't sure exactly how to get started.

The worst part of attempting to write a DSL is worrying that you'll get stuck without knowing where to turn. What's the difference between class_eval and instance_eval? And how do you know when to use them?

Taking control of your project with custom DSLs would make your code so much more expressive

Learn to make code that expresses your team's shared understanding of a business problem.

Projects like Ruby on Rails provide sensible DSLs for managing relationships between models in your system. The Sinatra framework gives you a DSL to provide affordances in your code so that web requests are handled the way you expect. Chef was created as a DSL for managing server configurations

You can model your project's needs with you own DSL too.

From the author of Clean Ruby, Ruby DSL Handbook gives you the knowledge you need to build the right tool for your business domain.

Ruby DSL Handbook will give you the knowledge and experience to create expressive programs.

Use business terms in code that make sense to you and your team; read Ruby DSL Handbook and bend your code to demands of your business.

“I learned some new aspects of Ruby I was able to apply the very same day” —Michael Buckbee

Get your team on the same page. Free your mind with the ability to create code that represents your ideas better. Remove the often distracting boilerplate code and wrap up your concepts in easy to use methods.

What's inside the package?

Ruby DSL Handbook is currently being written and you'll recieve regular updates as the content is updated.

Grab a copy to:

What about updates?

You'll automatically get updates as the book is updated. The email you use to purchase will receive all notifications when newer versions are released.

Get Ruby DSL Handbook for the cost of few trips to the coffee shop at only $24 $12 in PDF and ePub. Get it that cheap for a limited time only.

Start hacking your DSL now

Share it with your team

If your whole team needs to tackle the problem, grab a Team License copy get started. Buy for your whole team

About Jim Gay

jim-gay-headshot-small Jim is the author of Clean Ruby, and the Lead Developer for Radiant CMS and is a prolific contributor to it and many open-source projects. At Saturn Flyer LLC he’s built numerous Radiant sites, custom applications, and award winning graphic design and has had his designs published in HOW Magazine and The Best of LogoLounge. He’s been a co-host of the Ruby 5 podcast, speaker at RubyConf 2013, RubyConf 2014, ArrrrCamp and RubyNation, co-founder of Arlington Ruby and has been professionally building Ruby and Rails applications since 2006.

What people are saying:

“Jim is one of those rare people who can crank out award winning site designs, go and implement the backend Rails functionality, and be lead engineer for his project team… all on one project. I’ve seen him do it.

Jim is someone to watch out for, and get on your project if you can. (Especially with his upcoming book, which I think will rock the Ruby on Rails world a little bit, changing how the community thinks about large/complex Rails codebases.).“ — Ryan Wilcox, Owner, Principal Engineer at Wilcox Development Solutions and former co-worker

Start hacking your DSL now