[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

un-include?

Giles Bowkett

2/20/2007 11:16:00 PM

I have this object which has "include" declared. I want to, in certain
situations, not have the include happen. I can turn it off with an
"if" or an "unless", but is there any way to actually just yank the
include out, and with it any changes it made to the thing which
included it?

(I'm almost certain the answer's no but it'd be pretty cool if I was wrong.)

--
Giles Bowkett
http://www.gilesg...
http://gilesbowkett.bl...
http://gilesgoatboy.bl...

2 Answers

Pit Capitain

2/22/2007 6:48:00 AM

0

Giles Bowkett schrieb:
> I have this object which has "include" declared. I want to, in certain
> situations, not have the include happen. I can turn it off with an
> "if" or an "unless", but is there any way to actually just yank the
> include out, and with it any changes it made to the thing which
> included it?

Giles, it depends on what you're willing to pay :-)

If you can change the code doing the "include", there are libraries like
import-module (see the RAA) which let you do what you want.

If you can't or don't want to change the code with the "include", I see
no other way than to directly access the internal structures of the Ruby
objects. This can be done using a little C extension, or with plain Ruby
code using techniques from the evil library (see RubyForge).

If you want to go one of these routes and need more info, please ask again.

Regards,
Pit

Giles Bowkett

2/22/2007 8:38:00 AM

0

Wow, that does sound evil. I'm actually thinking the whole thing can
be side-stepped. The module uses included to add methods to an object;
it may be cleaner just to write something which adds methods to
instances of the object as needed instead.

On 2/21/07, Pit Capitain <pit@capitain.de> wrote:
> Giles Bowkett schrieb:
> > I have this object which has "include" declared. I want to, in certain
> > situations, not have the include happen. I can turn it off with an
> > "if" or an "unless", but is there any way to actually just yank the
> > include out, and with it any changes it made to the thing which
> > included it?
>
> Giles, it depends on what you're willing to pay :-)
>
> If you can change the code doing the "include", there are libraries like
> import-module (see the RAA) which let you do what you want.
>
> If you can't or don't want to change the code with the "include", I see
> no other way than to directly access the internal structures of the Ruby
> objects. This can be done using a little C extension, or with plain Ruby
> code using techniques from the evil library (see RubyForge).
>
> If you want to go one of these routes and need more info, please ask again.
>
> Regards,
> Pit
>
>


--
Giles Bowkett
http://www.gilesg...
http://gilesbowkett.bl...
http://gilesgoatboy.bl...