# Aliasing class methods

**URL:** <https://www.ruby-forum.com/t/aliasing-class-methods/126461>\
**Category:** Ruby\
**Created:** [January 18, 2008, 12:53pm UTC](https://www.ruby-forum.com/t/aliasing-class-methods/126461 "2008-01-18T12:53:21Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![roxah](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/54ee81/32.png) [@roxah](https://www.ruby-forum.com/u/roxah)\
**Post date:** [January 18, 2008, 12:53pm UTC](https://www.ruby-forum.com/t/aliasing-class-methods/126461/1 "2008-01-18T12:53:21Z")

</div>

Hello all,

I’m having trouble aliasing class methods. I’ve tried the following,  
but got errors saying the method being aliased doesn’t exist for class  
“Class”.

Class Foo  
class \<\< self  
alias bar bla  
end

def self.bla  
puts “Hello”  
end  
end

Foo.bar

Any suggestions? Thanks! – BTR

---

<div class="post-metadata">

**Author:** ![roxah](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/54ee81/32.png) [@roxah](https://www.ruby-forum.com/u/roxah)\
**Post date:** [January 18, 2008, 1:17pm UTC](https://www.ruby-forum.com/t/aliasing-class-methods/126461/2 "2008-01-18T13:17:30Z")

</div>

Alle Friday 18 January 2008, Bryan R. ha scritto:

> def self.bla  
> puts “Hello”  
> end  
> end
> 
> Foo.bar
> 
> Any suggestions? Thanks! – BTR

The alias statement is executed as soon as it’s found, i.e before  
Foo.bla is  
defined. Since you can’t alias something which doesn’t exist, you get an  
error. Try switching the order:

Class Foo  
class \<\< self  
alias bar bla  
end

def self.bla  
puts “Hello”  
end  
end

Foo.bar

Stefano
