From: Marcin Raczkowski Date: 2007-09-14T23:20:41+09:00 Subject: Re: Failed Metaprogramming PLUS Stack Level Too Deep stop metaprogramming :) seriously metaprograming is nice and cool but usually leads to mistakes if you are not expirienced programmer and don't have good imagination :) try adding () here: def #{name} &b => def #{name}(&b) and you forgot to add "" here: @chain = #{name} should be: @chain = '#{name}' way you did it you made something like: def raz &b @chain = raz ..... so method tried to run itself inifinitelly next time try to "puts" or "p" your method before evaling it