class Detroit::Tool

The common base class for tools. Tool is a subclass of BasicTool that adds additional utility methods, in particular it adds {ShellUtils}. Unless there is a specific reason not to do so, this is the class that specific tool classes should subclass.

A good tool will check to see if the state of the project is current or not to know if some stage of the tool needs to be used or not. For example a documentation# tool can look to see if any the files it would document are newer that the previous generated set of document file. In this case it can output a message explaining that the action was not needed. For example, the RDoc tool outputs the message: “RDocs are current (path/to/rdocs)”. The tool can also support the ‘$FORCE` global to force the procedure regardless.