# Aliasing classes

**URL:** <https://www.ruby-forum.com/t/aliasing-classes/190913>\
**Category:** Ruby\
**Created:** [June 30, 2010, 4:55pm UTC](https://www.ruby-forum.com/t/aliasing-classes/190913 "2010-06-30T16:55:12Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![sshaikh](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/b77776/32.png) [@sshaikh](https://www.ruby-forum.com/u/sshaikh)\
**Post date:** [June 30, 2010, 4:55pm UTC](https://www.ruby-forum.com/t/aliasing-classes/190913/1 "2010-06-30T16:55:12Z")

</div>

Hi all,

Is it possible to alias a class? That is for ClassA.run to call  
ClassB.run instead? I have a third party library requiring a dependency  
which I’ve already defined with my own name. I’m currently subclassing,  
but I was wondering if there was a better way.

Shak

---

<div class="post-metadata">

**Author:** ![sshaikh](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/b77776/32.png) [@sshaikh](https://www.ruby-forum.com/u/sshaikh)\
**Post date:** [June 30, 2010, 6:22pm UTC](https://www.ruby-forum.com/t/aliasing-classes/190913/2 "2010-06-30T18:22:20Z")

</div>

Yes, you simply set some variable equal to the name of a class and then  
in  
that scope it’s a class alias.

class A  
attr\_accessor :x  
def initialize  
@x = 2  
end  
end

a = A.new  
puts a.x #=\> 2

B = A  
b = B.new  
puts b.x #=\> 2  
puts b.class #=\> A
