Note: This website has been deprecated and is no longer maintained. TL;DR - Have your cake and eat it too. Ruby refinements, currently in 2.0 trunk, can cleanly convey DCI role injection and performs right on par with #include-based composition. However, there's some serious caveats to using refinements over #extend. Recently, refinements was added to Ruby trunk. If you aren't yet familiar with re