Ruby 3.3 リファレンスマニュアル

instance method ERB#def_class

def_class(superklass=Object, methodname='erb') -> Class[permalink][rdoc][edit]

変換した Ruby スクリプトをメソッドとして定義した無名のクラスを返します。

[PARAM] superklass:
無名クラスのスーパークラス
[PARAM] methodname:
メソッド名
require "erb"

class MyBaseClass
  def initialize(arg1, arg2)
    @arg1 = arg1
    @arg2 = arg2
  end
end

erb = ERB.new(<<~ERB)
  arg1: <%= @arg1 %>
  arg2: <%= @arg2 %>
ERB

MySubClass = erb.def_class(MyBaseClass, :render)

print MySubClass.new("foo", 123).render()
# => arg1: foo
#    arg2: 123