Writing DSLs in Ruby Without Monkeypatching Object | Dark Hacker News