¿Parens opcionales en Ruby para el método con mayúscula?

Acabo de comenzar a usar IronRuby (pero el comportamiento parece consistente cuando lo probé en Ruby simple) para un DSL en mi aplicación .NET, y como parte de esto estoy definiendo métodos a los que llamar desde el DSL a través de define_method.

Sin embargo, me he encontrado con un problema relacionado con los parens opcionales al llamar a métodos que comienzan con una letra mayúscula.

Dado el siguiente programa:

class DemoClass
    define_method :test do puts "output from test" end
    define_method :Test do puts "output from Test" end

    def run
        puts "Calling 'test'"
        test()
        puts "Calling 'test'"
        test
        puts "Calling 'Test()'"
        Test()
        puts "Calling 'Test'"
        Test
    end
end

demo = DemoClass.new
demo.run

Ejecutar este código en una consola (usando ruby simple) produce el siguiente resultado:

ruby .\test.rb
Calling 'test'
output from test
Calling 'test'
output from test
Calling 'Test()'
output from Test
Calling 'Test'
./test.rb:13:in `run': uninitialized constant DemoClass::Test (NameError)
    from ./test.rb:19:in `<main>'

Me doy cuenta de que la convención de Ruby es que las constantes comienzan con una letra mayúscula y que la convención de nomenclatura general para los métodos en Ruby es minúscula. Pero los padres realmente están matando mi sintaxis DSL en este momento.

¿Hay alguna forma de evitar este problema?

Respuestas a la pregunta(1)

Su respuesta a la pregunta