--- !ruby/object:RI::MethodDescription
aliases: []
block_params:
comment:
- !ruby/struct:SM::Flow::P
body: Evaluates the string or block in the context of mod. This can be used to add methods to a class. module_eval returns the result of evaluating its argument. The optional filename and lineno parameters set the text for error messages.
- !ruby/struct:SM::Flow::VERB
body: " class Thing\n end\n a = %q{def hello() "Hello there!" end}\n Thing.module_eval(a)\n puts Thing.new.hello()\n Thing.module_eval("invalid code", "dummy", 123)\n"
- !ruby/struct:SM::Flow::P
body: produces:
- !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