[lnkForumImage]
TotalShareware - Download Free Software

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


 

Forums >

comp.lang.ruby

[ANN] Dr Nic’s Magic Models

Dr Nic

8/7/2006 8:58:00 PM

[Cross-posted on Ruby on Rails forum]

Welcome! Welcome! Welcome! Ladies and Gentlemen, today you shall be
thrilled and dazzled by wonders of magical mystery.

Dr Nicâ??s Magic Models will now be unveiled to all. Mystery and magic
that you will be able to perform at home.

Within your ActiveRecord models, never again will you need to write:

* validates_presence_of validations
* has_many and belongs_to statements
* has_many :through statements!!

And for the finale, you will be amazed and astounded as you watch
ActiveRecord models appear from nowhere. No class definition, just any
old database tables you have lying around the home is all youâ??ll need to
perform this trick!

No cover charge. No free steak knives. No heavy lifting involved.

Installation, DIY magical instructions, and a world of mystery awaits
you at:
http://magicmodels.rub...

Dr Nic: http://drnicwi...

--
Posted via http://www.ruby-....

16 Answers

Dark Ambient

8/7/2006 9:03:00 PM

0

There's got to be some gotcha :)

Stuart

On 8/7/06, Dr Nic <drnicwilliams@gmail.com> wrote:
> [Cross-posted on Ruby on Rails forum]
>
> Welcome! Welcome! Welcome! Ladies and Gentlemen, today you shall be
> thrilled and dazzled by wonders of magical mystery.
>
> Dr Nic's Magic Models will now be unveiled to all. Mystery and magic
> that you will be able to perform at home.
>
> Within your ActiveRecord models, never again will you need to write:
>
> * validates_presence_of validations
> * has_many and belongs_to statements
> * has_many :through statements!!
>
> And for the finale, you will be amazed and astounded as you watch
> ActiveRecord models appear from nowhere. No class definition, just any
> old database tables you have lying around the home is all you'll need to
> perform this trick!
>
> No cover charge. No free steak knives. No heavy lifting involved.
>
> Installation, DIY magical instructions, and a world of mystery awaits
> you at:
> http://magicmodels.rub...
>
> Dr Nic: http://drnicwi...
>
> --
> Posted via http://www.ruby-....
>
>

Dr Nic

8/7/2006 9:06:00 PM

0

Stuart Fellowes wrote:
> There's got to be some gotcha :)

Ha. Nope, just an amusing way of releasing code :)

--
Posted via http://www.ruby-....

Dr Nic

8/7/2006 9:15:00 PM

0

> Looks cool.

You have a sharp eye. I like that.

> Quick question on install though... why a Gem and not a Rails Plugin?

Its really a pure extension of ActiveRecords, which can be used outside
of Rails. I think adding one line to environment.rb is quicker and
easier than installing a plugin too.

Cheers
Nic

--
Posted via http://www.ruby-....

Bil Kleb

8/7/2006 10:37:00 PM

0

Dr Nic wrote:
>
> No cover charge. No free steak knives. No heavy lifting involved.

Who is this guy?!

--
Bil
http://fun3d.lar...

Dave Burt

8/8/2006 12:54:00 AM

0

Bil Kleb wrote:
> Dr Nic wrote:
>>
>> No cover charge. No free steak knives. No heavy lifting involved.
>
> Who is this guy?!

He's Dr. Nic! (http://drnicwi...)

Dave

Kev Jackson

8/8/2006 12:59:00 AM

0

Question: Is this compatible with your previous work on composite
keys for active records?

Kev
--
"That government is best which governs not at all" - Henry Thoreau


Dr Nic

8/8/2006 4:27:00 AM

0

Kev Jackson wrote:
> Question: Is this compatible with your previous work on composite
> keys for active records?

Not yet. Currently the Composite Primary Keys solution requires an
explicit call to set_primary_keys to activate the code (like a
acts_as_... plugin). As long as I can determine from the connection
object that 2+ columns have "primary" = true then I should be able to
make that call automatically.

I'll investigate further.

Cheers
Nic

--
Posted via http://www.ruby-....

Dr Nic

8/15/2006 2:48:00 PM

0

Robert MannI wrote:
> This is awesome. I love this. Magic magic magic.
>
> I will migrate my spaceship's control software to Dr. Nic's Magic models
> now.
>
> I'm only missing habtm. Is that planned? There's a Zorg meeting on mars
> in
> two weeks, and I need to be there on time.

I'm not convinced, earth man, that an HABTM association is really useful
if you can have a pair of lovely has_many :through's for free instead.
Tell your Zorg cohorts that for invasions in the 21st century, you'd be
crazy to settle for a HABTM if you didn't need one.

I could be wrong - I got 100 out of 200 in year 11 English so the
wizards of Australian education certainly got one up on me there - but I
think the end result of a has_many :through association will be the same
as your run-of-the-mill habtm. Let me know if there's something special
about them that I'm missing.

Cheers
Nic

--
Posted via http://www.ruby-....

Logan Capaldo

8/15/2006 3:01:00 PM

0


On Aug 15, 2006, at 10:48 AM, Dr Nic wrote:

> Robert MannI wrote:
>> This is awesome. I love this. Magic magic magic.
>>
>> I will migrate my spaceship's control software to Dr. Nic's Magic
>> models
>> now.
>>
>> I'm only missing habtm. Is that planned? There's a Zorg meeting on
>> mars
>> in
>> two weeks, and I need to be there on time.
>
> I'm not convinced, earth man, that an HABTM association is really
> useful
> if you can have a pair of lovely has_many :through's for free instead.
> Tell your Zorg cohorts that for invasions in the 21st century,
> you'd be
> crazy to settle for a HABTM if you didn't need one.
>
> I could be wrong - I got 100 out of 200 in year 11 English so the
> wizards of Australian education certainly got one up on me there -
> but I
> think the end result of a has_many :through association will be the
> same
> as your run-of-the-mill habtm. Let me know if there's something
> special
> about them that I'm missing.
>
You don't always want a has_many :through though. Sometimes the only
thing that exists is the many-to-many relationship. (A person has and
belongs to many clubs for instance.)


> Cheers
> Nic
>
> --
> Posted via http://www.ruby-....
>


Dr Nic

8/15/2006 3:09:00 PM

0

Logan Capaldo wrote:
> You don't always want a has_many :through though. Sometimes the only
> thing that exists is the many-to-many relationship. (A person has and
> belongs to many clubs for instance.)

Just so I understand, let's play with some tables:

people =>* group_people *<= groups

The following sequence of commands should work:

> person = Person.find_first
> groups = person.groups

Is that how a HABTM would work too?

If so, then to emulate a HABTM, you just need to ignore the join table
in your app, and never call peron.group_people, etc.

My doubt comes from not having used HABTM since the start of the year;
but I think from the object's point of view, the HABTM and the has_many
:through behave the same to the Person object if you send it the groups
method.

Nic

--
Posted via http://www.ruby-....