First of all, sorry, for answering so late, I was on holidays.
Glad to see that you are interested in the work.
I understand the naming problem and I fully agree. I can rename the already existing atTypeScope, atPackageScope… to types or packages. Nevertheless, the idea of the new API is to be generic so we get only atScope: and toScope: in order for example to do in the case of SQL atScope: FAMIXTable. So we need a name for atScope: and toScope:. Moreover, the idea is also to differentiate the up to down (toScope:) or bottom up (atScope:) direction.
Sounds great. I am really interested in the group querying.
About naming, toScope: is a bit too similar to atScope: and I think the user will have a hard time understanding the difference. Last night I thought a bit about the names spawned by a remark of why the methods are called like atClassScope. Indeed, if we think about it, atClassScope is more of an implementation issue. The user wants to know what he gets. So, one possibility would be to call the same thing #classes or #justClasses or #onlyClasses or #collectClasses. Like this:
m queryAllOutgoingAssociations opposite classes
m queryAllOutgoingAssociations opposite justClasses
If we revamp the whole thing, we can also take the opportunity to rethink the API. What do you think?
Moose-dev mailing list