Not a new idea, the article mentions another dating back from 1987:
- J. Rumbaugh. Relations as semantic constructs in object-oriented development. (OOPSLA 1987)
I would bet that adding this kind of functionality via a mixin in Ruby could be a great way of getting the details right, in the manner of what is been done for ActiveRecords in RubyOnRails.