[Nitro] Module name change

Jonathan Buch john at oxyliquit.de
Fri Apr 20 04:10:55 EDT 2007


Hi,

> Did I miss the email where SchemaTableInheritence became
> SingleTableInheritence?
>
> I mean, I much prefer the new name, but given that we already dropped the
> schema_inheritence method, changing the module name is kinda breaky.

well, if we break stuff, then we can also just 'pull through' and make the
breakages as consistent as possible.  :P

Actually the real one is `SingleTableInherited` now.  I talked with George
about this on the channel, but I couldn't drive him away from that.
I will try again now.

class A
   is SingleTableInherited
end

class B < A
end

Lets look at the relation between parent and child first.  `A` is not  
actually
inherited, in the event of `B` not being around.  This makes no sense in  
and of
itself in the most cases, but it's nontheless true.
`B` inherits from A, so it _inherited_ its capabilities.  Does that mean  
that
`B` is 'single table inherited'?

I may be picking on something 'fluid' here, but I think, that inheritance  
is
not a property of the parent, but only of the child.  (Think .ancestors,  
there
is no way to find child classes from the parent.)

I talked with Rayman shortly about this, and he came to the same  
conclusion.
His idea of a better name for that module:  `STIParent`.  I like that  
choice,
as it's a description of what 'pattern' is used here (STI) and in which  
position
it is in this pattern.

So, George, please consider not using Inherited (even if it nicely  
abbriviates
to STI).

Thank you for listening,

Jo

-- 
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/


More information about the Nitro-general mailing list