# How to know what class are there in a script file?

**URL:** <https://www.ruby-forum.com/t/how-to-know-what-class-are-there-in-a-script-file/124138>\
**Category:** Ruby\
**Created:** [December 25, 2007, 8:28am UTC](https://www.ruby-forum.com/t/how-to-know-what-class-are-there-in-a-script-file/124138 "2007-12-25T08:28:12Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Magicloud\_Wang](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/8e7dd6/32.png) [@Magicloud\_Wang](https://www.ruby-forum.com/u/Magicloud_Wang)\
**Post date:** [December 25, 2007, 8:28am UTC](https://www.ruby-forum.com/t/how-to-know-what-class-are-there-in-a-script-file/124138/1 "2007-12-25T08:28:12Z")

</div>

Dear,  
I mean after I ‘load’ or ‘require’ a file, How to know what classes I  
have  
got?

Thanks.

---

<div class="post-metadata">

**Author:** ![Magicloud\_Wang](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/8e7dd6/32.png) [@Magicloud\_Wang](https://www.ruby-forum.com/u/Magicloud_Wang)\
**Post date:** [December 25, 2007, 11:40am UTC](https://www.ruby-forum.com/t/how-to-know-what-class-are-there-in-a-script-file/124138/2 "2007-12-25T11:40:54Z")

</div>

Magicloud Wang wrote:

> Dear,  
> I mean after I ‘load’ or ‘require’ a file, How to know what classes I  
> have  
> got?
> 
> Thanks.

I think there’s no way of doing that, you can view the methods for a  
class or object if you want

Oscar

---

<div class="post-metadata">

**Author:** ![Magicloud\_Wang](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/8e7dd6/32.png) [@Magicloud\_Wang](https://www.ruby-forum.com/u/Magicloud_Wang)\
**Post date:** [December 25, 2007, 12:19pm UTC](https://www.ruby-forum.com/t/how-to-know-what-class-are-there-in-a-script-file/124138/3 "2007-12-25T12:19:39Z")

</div>

On 25 Dec 2007, at 10:40, Oscar Del ben wrote:

> I think there’s no way of doing that, you can view the methods for a  
> class or object if you want

activesupport has something like that. Have a look at  
Dependencies#new\_constants\_in

Fred

---

<div class="post-metadata">

**Author:** ![Magicloud\_Wang](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/8e7dd6/32.png) [@Magicloud\_Wang](https://www.ruby-forum.com/u/Magicloud_Wang)\
**Post date:** [December 25, 2007, 12:50pm UTC](https://www.ruby-forum.com/t/how-to-know-what-class-are-there-in-a-script-file/124138/4 "2007-12-25T12:50:40Z")

</div>

The activesupport Dependency thing is really nice since it works with  
any constant, but if you really want the classes only, this seems to  
do the trick:

require ‘enumerator’

klasses\_before = Enumerable::Enumerator.new(ObjectSpace, :each\_object,  
Class).to\_a

require ‘open-uri’

new\_klasses = Enumerable::Enumerator.new(ObjectSpace, :each\_object,  
Class).to\_a - klasses\_before

p new\_klasses

---

<div class="post-metadata">

**Author:** ![Magicloud\_Wang](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/8e7dd6/32.png) [@Magicloud\_Wang](https://www.ruby-forum.com/u/Magicloud_Wang)\
**Post date:** [December 25, 2007, 9:53pm UTC](https://www.ruby-forum.com/t/how-to-know-what-class-are-there-in-a-script-file/124138/5 "2007-12-25T21:53:59Z")

</div>

Dear,  
I think this disappeared in rails 2?

Thanks.

---

<div class="post-metadata">

**Author:** ![Magicloud\_Wang](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/8e7dd6/32.png) [@Magicloud\_Wang](https://www.ruby-forum.com/u/Magicloud_Wang)\
**Post date:** [December 25, 2007, 9:55pm UTC](https://www.ruby-forum.com/t/how-to-know-what-class-are-there-in-a-script-file/124138/6 "2007-12-25T21:55:44Z")

</div>

Dear,  
I will try this.

Thanks.

---

<div class="post-metadata">

**Author:** ![Magicloud\_Wang](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/8e7dd6/32.png) [@Magicloud\_Wang](https://www.ruby-forum.com/u/Magicloud_Wang)\
**Post date:** [December 25, 2007, 10:09pm UTC](https://www.ruby-forum.com/t/how-to-know-what-class-are-there-in-a-script-file/124138/7 "2007-12-25T22:09:46Z")

</div>

On 25 Dec 2007, at 20:52, Magicloud Wang wrote:

> Dear,  
> I think this disappeared in rails 2?

Nope, definitely still there. Was fiddling with it just a few days ago.

Fred
