Here Company has 6 properties. Employees, contact_information, services and products come with a business rules attached and they are also some sort of relation with other classes.
In this example, Maker is a Company, but it has no services. This is just a business rule for this example. But the engine should take care of that.
For Products, I am hinting the engine to keep this class in the RDB. However, :retail is a calculated property and should not be persisted as a value. But I would like to persist the method. Mapping Objects to Relational has this problem that we do not persist methods. But in Ruby I could change the method for one of my products and I could implement a different formula for its retail price. For example.
weird_product = Product.new
3 * @cost * @profit
Now I have one product with a different retail method that is not being saved in the RDB. Another solutions for this problem exist, but there are times that I would like to do the above and expect the data management engine to take care of it.