Forum: Ruby Re: Creating a second instance of a singleton class?

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
B483dea19c00b3d952f4958d67ea4bd1?d=identicon&s=25 Steve Midgley (stevemidgley)
on 2007-02-14 21:59
(Received via mailing list)
I love this group b/c there are so many clever people here. Ara -
you're definitely getting me close.

I'll open the bag a little at the expense of brevity so you can see
what I'm trying to accomplish. I'm using Rails v1.2.2, and in
particular ActiveRecord 1.15.2.

In the course of a data operation, I have a series of active record

instance1ofclass1, instance2ofclass1, instance1ofclass2,
instance2ofclass2, etc..]

For any given activerecord class for the above list (let's use an
example table called "property") there is an identical table (less the
primary key) called "property_versions"

I would like to be able to create a new instance of the activerecord
model but using a new table name - changing the table_name is handled
as a class method "set_table_name(new_name)"

So I could say:

#==> assumes we have a "property" instance available..
orig_table = Property.table_name
class Property
   set_table_name 'property_versions'

prop_versions =

class Property
   set_table_name orig_table

But this doesn't seem threadsafe - I could block the whole operation
but (at the time) it seemed cleaner and simpler to just modify the
instance of the class rather than the whole parent class.

I may just be an idiot and there's a way easier way to handle this. But
this was supposed to be a quick little function. Isn't working out like
that though. :)

Thanks again for any insight,

Cb48ca5059faf7409a5ab3745a964696?d=identicon&s=25 unknown (Guest)
on 2007-02-15 03:47
(Received via mailing list)
On Thu, 15 Feb 2007, Steve Midgley wrote:

> instance1ofclass1, instance2ofclass1, instance1ofclass2, instance2ofclass2,
> So I could say:
>  set_table_name orig_table
> end

you lost me.  why wouldn't you just do

   property_versions_class ={ set_table_name
'property_versions' }

   prop_versions =


and that's assuming it had to be dynamic.  for that matter why not

   ./script/generate model PropertyVersion


   prop_versions =


This topic is locked and can not be replied to.