In my opinion names are pretty vital that you get right. It will help make things obvious, and that i discover the logic gets into the best spots if you have a obvious idea in regards to what the abstractions are and what they're known as.
I'm also developing in Ruby, even though I've got a really strong test suite, altering one title takes some time, so I'd rather a minimum of try to understand it properly.
The issue: Listed here are 3 model concepts, but I'm not sure exactly what the best names could be on their behalf.
Customers can make courses or learning programs. This can be a template of the items a training course includes, but it is not really a course itself. Does which make sense? It consists of all the details that might be inside a course... in the same manner a category consists of all of the data/techniques to have an object. It's such as the "meta" of the course. The very best names I'm able to develop are
Companies/education facilities can make courses. These courses derive from web site in point 1. They are REAL courses - i.e. there is a real date and real people really registerOrtake part inside them. I suppose the very best title I'm able to show up with this is
Course. It points to one of the models in point 1.
People may take take courses, however they get their own copy from the course that only is applicable for them, therefore we require a model to accommodate all the specific information relating to that particular course. It's essentially a Many-to-many associations with
Coursein point 2. The very best names I'm able to develop is
I'm not liking my names whatsoever. Can someone assist me to develop 3 better names?
Nice question. What about
(3) can be a relation "Person is signed up for Course" (while you noted).
(2) is another relation: "Course emerges by Organisation".