How can I create a ruby class in runtime


#1

Hi,

Does anyone know how to create a ruby class in runtime?

ex:
class Parent
def…
def…
end

in runtime, we want to create a class “child” inherited from “parent”,
it is possible?

thanks you very much

sayoyo


#2

removed_email_address@domain.invalid wrote:

in runtime, we want to create a class “child” inherited from “parent”,
it is possible?

Yup, it is:

child = Class.new(parent) do
def method(arg)

end

define_method(dynamic_name) do |arg|

end

There’s a gotcha, though:

Constant = 5 doesn’t work as expected. Use this instead:

const_set(:Constant, 5)
end


#3

removed_email_address@domain.invalid wrote:

in runtime, we want to create a class “child” inherited from “parent”,
it is possible?

klass = Class.new Parent