# Remove\_const vs. Object.remove\_const vs. Object.instance\_eval { remove\_const }

**URL:** <https://www.ruby-forum.com/t/remove-const-vs-object-remove-const-vs-object-instance-eval-remove-const/175919>\
**Category:** Ruby\
**Created:** [September 22, 2009, 9:30pm UTC](https://www.ruby-forum.com/t/remove-const-vs-object-remove-const-vs-object-instance-eval-remove-const/175919 "2009-09-22T21:30:42Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![jko170](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/d07c76/32.png) [@jko170](https://www.ruby-forum.com/u/jko170)\
**Post date:** [September 22, 2009, 9:30pm UTC](https://www.ruby-forum.com/t/remove-const-vs-object-remove-const-vs-object-instance-eval-remove-const/175919/1 "2009-09-22T21:30:42Z")

</div>

In order to remove a class, I have to use Object.instance\_eval  
{ remove\_const }

Why couldn’t I just use remove\_const or Object.remove\_const ?

---

<div class="post-metadata">

**Author:** ![jko170](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/d07c76/32.png) [@jko170](https://www.ruby-forum.com/u/jko170)\
**Post date:** [September 22, 2009, 10:10pm UTC](https://www.ruby-forum.com/t/remove-const-vs-object-remove-const-vs-object-instance-eval-remove-const/175919/2 "2009-09-22T22:10:30Z")

</div>

On Tue, Sep 22, 2009 at 3:30 PM, jko170 [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> In order to remove a class, I have to use Object.instance\_eval  
> { remove\_const }
> 
> Why couldn’t I just use remove\_const or Object.remove\_const ?

Module#remove\_const is private.

remove\_const :Foo

is sent to the top-level object which is not a module.

Object.remove\_const :Foo

fails because the method is private.

Object.instance\_eval {remove\_const :Foo}

is one way of getting around the privacy, another would be

Object.send(:remove\_const :Foo}

HTH

–  
Rick DeNatale

Blog: [http://talklikeaduck.denhaven2.com/](http://talklikeaduck.denhaven2.com/)  
Twitter: [http://twitter.com/RickDeNatale](http://twitter.com/RickDeNatale)  
WWR: [http://www.workingwithrails.com/person/9021-rick-denatale](http://www.workingwithrails.com/person/9021-rick-denatale)  
LinkedIn: [http://www.linkedin.com/in/rickdenatale](http://www.linkedin.com/in/rickdenatale)
