This page will describe the various functionality that metaruby provides to help modelling in Ruby. This page will reuse one of the most overused example of modelling: a car and colors. ## Models Using MetaRuby, models can either be represented by Ruby classes or by Ruby modules. You use the first one when you want to model something from which an object can be created, in our example: a car. You use the second for things that cannot be instanciated, but can be used as attributes of another object, in our example: a color.