In the world of Ruby code blocks and Proc objects, are hand-coded command classes like our SaveCommand class passé? Not really—it all depends on the complexity of the job at hand. If you simply want a command that executes some straightforward actions when it is run, by all means use a Proc object. But if you are doing something fairly complex, if you need to create a command that will carry around a lot of state information or that naturally decomposes into several methods, by all means create a command class.

