Custom RSpec matchers for blocks, and the Ruby magic behind their inner workings | Dark Hacker News