[#6864] ruby 1.8.4 rc breaks alias_method/rails in bad ways — "Ara.T.Howard" <ara.t.howard@...>

20 messages 2005/12/09
[#6870] Re: ruby 1.8.4 rc breaks alias_method/rails in bad ways — =?ISO-8859-15?Q?Florian_Gro=DF?= <florgro@...> 2005/12/12

Ara.T.Howard wrote:

[#6872] Re: ruby 1.8.4 rc breaks alias_method/rails in bad ways — ara.t.howard@... 2005/12/12

On Tue, 13 Dec 2005, [ISO-8859-15] Florian Growrote:

[#6873] Re: ruby 1.8.4 rc breaks alias_method/rails in bad ways — James Edward Gray II <james@...> 2005/12/12

On Dec 12, 2005, at 1:19 PM, ara.t.howard@noaa.gov wrote:

[#6874] Re: ruby 1.8.4 rc breaks alias_method/rails in bad ways — ara.t.howard@... 2005/12/12

On Tue, 13 Dec 2005, James Edward Gray II wrote:

[#6891] Time.utc! and Time.localtime! — Daniel Hobe <hobe@...>

Writing a script yesterday I found out, much to my surprise, that the

16 messages 2005/12/14

[#6918] change to yaml in 1.8.4 — ara.t.howard@...

14 messages 2005/12/16

[#6934] 1.8.x, YAML, and release management — Ryan Davis <ryand-ruby@...>

I'm concerned that 1.8.3's acceptance of non-backwards-compatible

28 messages 2005/12/18

[#6996] Problems building 1.8.4 with VS8 C++ Express Edition (cl 14.00) — Austin Ziegler <halostatue@...>

Visual Studio C++ 2005 Express Edition (VS 8.0)

20 messages 2005/12/27

Re: ruby 1.8.4 rc breaks alias_method/rails in bad ways

From: ara.t.howard@...
Date: 2005-12-09 20:33:29 UTC
List: ruby-core #6865
On Sat, 10 Dec 2005, Ara.T.Howard wrote:

> and so on and so forth.  eg. - infinite recursion.
>
> it seems the original instanciate is lost in this whole method shuffling
> approach.
>
> this code works in 1.8.2 and 1.8.3.  unless the bevhaiour of alias_methods
> has changed - hard to beleive - this seems to be a bad bug.  i've tried to
> distill this to a simple example with no luck.  so i'm afaid  there is more
> to it that the above.  all you need do to reproduce is setup a rails dir,
> create a model, and run YourModel.find :all.
>

quick follow up.  tweaking activerecord/base.rb to

   def __instantiate(record)

and activerecord/callbacks.rb to

   def instantiate_without_callbacks(record)揃
     __instantiate(record)
   end
   def instantiate(record)
     instantiate_with_callbacks(record)
   end
   def instantiate_with_callbacks(record)
     object = instantiate_without_callbacks(record)

while deleting the aliases works - so the issue is defintely in alias_methods
or rails' use of it.


-a
-- 
===============================================================================
| ara [dot] t [dot] howard [at] noaa [dot] gov
| all happiness comes from the desire for others to be happy.  all misery
| comes from the desire for oneself to be happy.
| -- bodhicaryavatara
===============================================================================



In This Thread