¿Cómo alias un método de clase dentro de un módulo?

Estoy usando Ruby v1.9.2 y la gema Ruby on Rails v3.2.2. Tuve el siguiente módulo

module MyModule
  extend ActiveSupport::Concern

  included do
    def self.my_method(arg1, arg2)
      ...
    end
  end
end

y queria alias elmétodo de clase my_method. Entonces, dije lo siguiente (no funciona) código:

module MyModule
  extend ActiveSupport::Concern

  included do
    def self.my_method(arg1, arg2)
      ...
    end

    # Note: the following code doesn't work (it raises "NameError: undefined
    # local variable or method `new_name' for #<Class:0x00000101412b00>").
    def self.alias_class_method(new_name, old_name)
      class << self
        alias_method new_name, old_name
      end
    end

    alias_class_method :my_new_method, :my_method
  end
end

En otras palabras, pensé extender elModule clase de alguna manera con el fin de agregar unaalias_class_method método disponible en todoMyModule. Sin embargo, me gustaría hacerlotrabajar yestar disponible en toda mi aplicación Ruby on Rails.

¿Dónde debo colocar el archivo relacionado con la extensión del núcleo Ruby delModule ¿clase? Tal vez en el Ruby on Railslib ¿directorio?¿Cómo debo "extender" adecuadamente laModule clase en el archivo de extensión de núcleo?¿Es la forma correcta de proceder? Esto es, por ejemplo, si "extiendo" otra clase (Object, BasicObject, Kernel, ...) más bien queModule? o, ¿debo evitar la implementación de la extensión de núcleo mencionada?

Pero,más importante, ¿hay alguna característica de Ruby que haga lo que estoy tratando de lograr para no tener que extender sus clases?

Respuestas a la pregunta(3)

Su respuesta a la pregunta