The current job has a wash_step field, which is a list of wash steps. Not all machines will necessarily run this function, so we should make this list of steps more generic and support subclassing so that specific machine jobs can run a specific list of steps with specific parameters and get validation for those specific types of steps.
One way do that, would need:
- a job base class
- a brainwasher derived class which is equivalent to the current Job class
- a brainslosher derived class with a distinct step to execute
Another way might be:
- a generic job base class
- a function or method name that is the name of the function to execute in a list of steps
- the brainwasher specifies the
run_wash_step function
- the brainslosher specifies a
run_cycle function (or similar)
The current job has a
wash_stepfield, which is a list of wash steps. Not all machines will necessarily run this function, so we should make this list of steps more generic and support subclassing so that specific machine jobs can run a specific list of steps with specific parameters and get validation for those specific types of steps.One way do that, would need:
Another way might be:
run_wash_stepfunctionrun_cyclefunction (or similar)