>>>> Regarding tutorials/docs -- would there really be a problem with >>>> doing this, >>>> then: >>>> >>>> class ActiveRecord >>>> Base = self >>>> end >>> >>> That breaks code that assumes ActiveRecord is a module and not a >>> class, which is going to be a lot of code. >> >> That's why such a change should only be introduced in a point >> release, >> which will break a lot of code anyway and this will probably be the >> easiest >> compatibility fix of all of them. So I don't think that's really an >> argument against it. >> >> I find Base the worst class name ever. >> It does not at all communicate it's intention other >> than that it's a base class for something. > > It's the base class for active record models. If you consider the > name outside the context of the module it's in, then yeah, it's shit. > But the same is true of almost every class that's in a module, unless > you do something weird like: > > Database::DatabaseConnection > > rather than > > Database::Connection
Well the only weird thing here is the same issue as with ActiveRecord::Base. In other words, name it: Product::DatabaseConnection. > Fundamentally though, the name is entrenched in every rails app out > there, and we'd need a reason other than "ick" to go and change it, > even in a 3.0 release. Actually in modern Rails apps, don't know about older versions though, there is no occurrence at all of the string "module ActiveRecord". Anyways, I don't think discussing these implementation details adds anything to a possible discussion about the original question. Because it is indeed, as you say, just an "ick" :) About the original question, I actually think Manfred really wanted to know if his assumption about why it was named this way by David was correct. [1] Any ideas on that? Cheers, Eloy [1]: "I get the feeling that the Base class was created because David wanted to create a namespace named ActiveRecord to prevent conflicts but also wanted to have something you could inherit from. ActiveRecord::ActiveRecord is weird, so it ended up being ActiveRecord::Base. I personally think ActiveRecord::Model or just ActiveRecord would have been a better name." -- Manfred --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en -~----------~----~----~----~------~----~------~--~---
