- Changed class@SoypakParser => class@_SoypackParser
- class@SoypakParser is now a singleton pattern which handles
class@_SoypakParser.
- SoypakParser@add_action_command (static method): add a command to the
action group (argparser).
Added the soypak help command. When called, it will provide the user
with help information about the soypak command(s) provided as arguments.
- Implements a `__doc__` attribute with summar and usage.
- Overrides the `run()` method from `Command` when inherited.
- Inherits `command.Command` and metaclass `RegisterCommand`.
Module is responsible for allowing the creation, registering and
initilisation of soypak commands.
Added class@RegisterCommand:
- used by command classes as a metaclass. Will be auto-invoked upon
the class' declaration.
- checks if a command is registered already with an existing name.
- uses the class' `__doc__` attribute to register an entry on the
help display message with name and summary.
Added class@Command:
- Inherited by command classes.
- Keeps record of the registered commands and the instance of the
class which can then be invoked during `get_command()`.
- Command@get_command (static method): find and return an
initialised instance of a command that has been registered.
Otherwise return `None`.
- Command@run (virtual): to be implemented on a child class of
`Command`.