# Find class, module, exception dynamically

**URL:** <https://www.ruby-forum.com/t/find-class-module-exception-dynamically/174982>\
**Category:** Ruby\
**Created:** [September 5, 2009, 6:15am UTC](https://www.ruby-forum.com/t/find-class-module-exception-dynamically/174982 "2009-09-05T06:15:49Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![prateekagarwal](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/b38774/32.png) [@prateekagarwal](https://www.ruby-forum.com/u/prateekagarwal)\
**Post date:** [September 5, 2009, 6:15am UTC](https://www.ruby-forum.com/t/find-class-module-exception-dynamically/174982/1 "2009-09-05T06:15:49Z")

</div>

How to find the class, module and exception structures of the built-in  
classes dynamically? I mean how do you implement it into a program?

---

<div class="post-metadata">

**Author:** ![prateekagarwal](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/b38774/32.png) [@prateekagarwal](https://www.ruby-forum.com/u/prateekagarwal)\
**Post date:** [September 5, 2009, 8:02pm UTC](https://www.ruby-forum.com/t/find-class-module-exception-dynamically/174982/2 "2009-09-05T20:02:25Z")

</div>

On Sep 5, 12:16 am, Prateek A. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> ## How to find the class, module and exception structures of the built-in classes dynamically? I mean how do you implement it into a program?
> 
> Posted viahttp://www.ruby-forum.com/.

do you mean to do something like this?

> > require ‘nokogiri’  
> > =\> true  
> > ObjectSpace.each\_object(Module) {|x| name = x.to\_s; puts name if name =~ /\ANokogiri/ }  
> > Nokogiri::CSS::XPathVisitor  
> > Nokogiri::XML::ParseOptions  
> > Nokogiri::CSS::Node  
> > Nokogiri::CSS  
> > Nokogiri::XML::Node::SaveOptions  
> > Nokogiri::XML::RelaxNG  
> > Nokogiri::XML::Schema  
> > Nokogiri::HTML::ElementDescription  
> > Nokogiri::HTML::EntityLookup  
> > Nokogiri::XML::SyntaxError  
> > Nokogiri::SyntaxError  
> > Nokogiri::XSLT::Stylesheet  
> > Nokogiri::HTML::SAX::Parser  
> > Nokogiri::XML::Namespace  
> > Nokogiri::XML::DTD  
> > Nokogiri::XML::Reader  
> > Nokogiri::XML::SAX::PushParser  
> > Nokogiri::XML::SAX::Parser  
> > Nokogiri::XML::XPath  
> > Nokogiri::XML::XPathContext  
> > Nokogiri::XML::NodeSet  
> > Nokogiri::XML::Comment  
> > Nokogiri::XML::EntityReference  
> > Nokogiri::XML::Attr  
> > Nokogiri::XML::ProcessingInstruction  
> > Nokogiri::XML::CDATA  
> > Nokogiri::XML::Text  
> > Nokogiri::XML::DocumentFragment  
> > Nokogiri::XML::EntityDeclaration  
> > Nokogiri::XML::Element  
> > Nokogiri::HTML::Document  
> > Nokogiri::XML::Document  
> > Nokogiri::XML::Node  
> > Nokogiri::HTML::SAX  
> > Nokogiri::XML::SAX  
> > Nokogiri::XSLT  
> > Nokogiri::HTML  
> > Nokogiri::XML  
> > Nokogiri  
> > Nokogiri::XML::Notation  
> > Nokogiri::CSS::GeneratedTokenizer  
> > Nokogiri::Decorators::Slop  
> > Nokogiri::XML::Builder::NodeBuilder  
> > Nokogiri::XML::Builder  
> > Nokogiri::CSS::SyntaxError  
> > Nokogiri::CSS::Parser  
> > Nokogiri::CSS::GeneratedParser  
> > Nokogiri::Decorators::Hpricot::XPathVisitor  
> > Nokogiri::Decorators::Hpricot::NodeSet  
> > Nokogiri::Decorators::Hpricot::Node  
> > Nokogiri::Decorators::Hpricot  
> > Nokogiri::Decorators  
> > Nokogiri::XML::XPath::SyntaxError  
> > Nokogiri::CSS::Tokenizer  
> > Nokogiri::CSS::GeneratedTokenizer::ScanError  
> > Nokogiri::XML::FragmentHandler  
> > Nokogiri::XML::SAX::Parser::Attribute  
> > Nokogiri::HTML::DocumentFragment  
> > Nokogiri::XML::SAX::LegacyHandlers  
> > Nokogiri::XML::SAX::Document  
> > Nokogiri::HTML::EntityDescription  
> > Nokogiri::HTML::Builder  
> > Nokogiri::Hpricot  
> > =\> 498

---

<div class="post-metadata">

**Author:** ![prateekagarwal](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/b38774/32.png) [@prateekagarwal](https://www.ruby-forum.com/u/prateekagarwal)\
**Post date:** [September 5, 2009, 8:03pm UTC](https://www.ruby-forum.com/t/find-class-module-exception-dynamically/174982/3 "2009-09-05T20:03:00Z")

</div>

On Sep 5, 1:55 pm, pharrington [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> =\> true  
> Nokogiri::HTML::EntityLookup  
> Nokogiri::XML::XPathContext  
> Nokogiri::HTML::Document  
> Nokogiri::Decorators::Slop  
> Nokogiri::XML::XPath::SyntaxError  
> =\> 498

I’m sorry, I missed you saying “built-in”, but does the same principle  
apply?
