-----Original Message----- From: beginners-bounces@lists.squeakfoundation.org [mailto:beginners-bounces@lists.squeakfoundation.org] On Behalf Of itsme213 Sent: Saturday, July 01, 2006 9:33 PM To: squeak-beginers Subject: [Newbies] Ruby macros
I miss my Ruby macros (1st day in Squeak and I love it ... dislike the camelCase tho'). Would this be the correct way to go about it?
RUBY:
class Class def has_many symbol ...generate getter/setter with Collection.new end end
class House has_many :doors # just remove this line to "Undo" ! end
Correct me if I'm wrong, but those Ruby macro's don't actually generate getters and setters, rather, don't they just setup method_missing to intercept those calls as if getters and setters actually existed? Don't the relationships in ActiveRecord do this as well? If so, method_missing is the same as Smalltalk's doesNotUnderstand:, so you can accomplish the same thing in Smalltalk by overriding new on the class side and implementing methods like hasOne: and hasMany: to setup a property hash in the object that doesNotUnderstand: can check to handle messages. As a newbie, I doubt you're ready for hacking doesNotUnderstand:, yet, but it's certainly possible to implement declarative relationships, quite easily in fact.