Published on March 24, 2009 by Jesse Storimer
Yesterday I was working through a conceptually difficult relationship between my Rails models. After sitting at the keyboard and pulling my hair for a few minutes I went to the whiteboard where I could lay things out and get a better overview of the situation.
Having taken a course on Software Engineering at University, my first instinct was to use UML and pictures to represent the situation I wanted and transcribe it to code later. But since I'm using Rails it was actually easier to just write the code. I just wrote something like this:
It's funny that UML exists as a pseudo-language on top of other programming languages, so that people, technical and non-technical, can talk about these things and you can have a shorthand for defining relations between models etc. without having to actually write code.
I love how Rails circumvented a lot of that by just making the framework so simple. The way I talk about Rails (and Ruby) code at a high level is the same way that I actually implement it in code.