That seems like unnecessary use of metaprogamming and DSLs in my opinion[0]. That problem could be solved with good ol' object-orientation.
Also, capturing blocks and instance_eval are notoriously slow.
Also, capturing blocks and instance_eval are notoriously slow.
...and, in this case, are evaluated once, at startup. It's so fast that you couldn't possibly notice a difference.