instance method
ERB#def_module
(?::String) -> ::Module
def_module(method_name = 'erb') → new_module
lib/erb.rb
View on GitHub ↗
# File tmp/rubies/ruby-4.0.0/lib/erb.rb, line 1112
def def_module(methodname='erb')
mod = Module.new
def_method(mod, methodname, @filename || '(ERB)')
mod
end
Returns a new nameless module that has instance method method_name.
Example
template = '<%= arg1 %> <%= arg2 %>' erb = ERB.new(template) MyModule = template.def_module('render(arg1, arg2)') class MyClass include MyModule end MyClass.new.render('foo', 123) # => "foo 123"