Alias for Module Method

Hi,

Is there a way to have an alias for module method? This code does not
work:

# ---------------------
module MyModule
  def MyModule.func
    puts 'Hello'
  end

  alias funcAlias func
end

MyModule.funcAlias
# ---------------------

I am using Ruby 1.9.2.

Thanks,

Bill

···

--
Posted via http://www.ruby-forum.com/.

Hey,

Yeah, in your code Ruby tries to alias an instance method called :func
defined in the module. Since it doesn't exist, it doesn't work. Alias
and alias_method only work on instance methods, but luckily singleton
methods like :func in your example are really instance methods defined
in the singleton class of MyModule.

module MyModule
  def MyModule.func
    puts 'Hello'
  end

  class << self # or, class << MyModule
    alias funcAlias func
  end
end

MyModule.funcAlias

Take care,

-Luke

···

--
Posted via http://www.ruby-forum.com/.

Wow, it really works! Thanks a lot for the singleton class.

Regards,

Bill

···

--
Posted via http://www.ruby-forum.com/.