[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