--- !ruby/object:RI::MethodDescription 
aliases: []

block_params: 
comment: 
- !ruby/struct:SM::Flow::P 
  body: Evaluates the string or block in the context of <em>mod</em>. This can be used to add methods to a class. <tt>module_eval</tt> returns the result of evaluating its argument. The optional <em>filename</em> and <em>lineno</em> parameters set the text for error messages.
- !ruby/struct:SM::Flow::VERB 
  body: "   class Thing\n   end\n   a = %q{def hello() &quot;Hello there!&quot; end}\n   Thing.module_eval(a)\n   puts Thing.new.hello()\n   Thing.module_eval(&quot;invalid code&quot;, &quot;dummy&quot;, 123)\n"
- !ruby/struct:SM::Flow::P 
  body: <em>produces:</em>
- !ruby/struct:SM::Flow::VERB 
  body: "   Hello there!\n   dummy:123:in `module_eval': undefined local variable\n       or method `code' for Thing:Class\n"
full_name: Module#class_eval
is_singleton: false
name: class_eval
params: |
  mod.class_eval(string [, filename [, lineno]])  => obj
  mod.module_eval {|| block }                     => obj

visibility: public
