>>>>> "D" == David Alan Black <dblack / candle.superlink.net> writes:

 Well, you don't give the same example

D>   class Foo; end
D>   Foo.class_eval "def bar; puts 'bar'; end"
D>   Foo.new.bar  # => bar

  here you've used class_eval

D>   class Foo; end
D>   Foo.send(:eval, "def thing; end")
D>   [].thing
D>   -:3: private method `thing' called for []:Array (NoMethodError)

 here you've used eval

 Use

    class Foo; end
    Foo.send(:class_eval, "def thing; end")
    Foo.new.thing  # => thing

 send is a method of Kernel


Guy Decoux