code: def validate_work_spec(cls, work_spec):
          '''Check that `work_spec` is valid.
  
          It must at the very minimum contain a ``name`` and ``min_gb``.
  
          :raise rejester.exceptions.ProgrammerError: if it isn't valid
  
          '''
          if 'name' not in work_spec:
              raise ProgrammerError('work_spec lacks "name"')
          if 'min_gb' not in work_spec or \
                  not isinstance(work_spec['min_gb'], (float, int, long)):
              raise ProgrammerError('work_spec["min_gb"] must be a number'f validate_work_spec(cls, work_spec):
          '''Check that `work_spec` is valid.
  
          It must at the very minimum contain a ``name`` and ``min_gb``.
  
          :raise rejester.exceptions.ProgrammerError: if it isn't valid
  
          '''
          if 'name' not in work_spec:
              raise ProgrammerError('work_spec lacks "name"')
          if 'min_gb' not in work_spec or \
                  not isinstance(work_spec['min_gb'], (float, int, long)):
              raise ProgrammerError('work_spec["min_gb"] must be a number')
docs: Check that `work_spec` is valid.
  
          It must at the very minimum contain a ``name`` and ``min_gb``.
  
          :raise rejester.exceptions.ProgrammerError: if it isn't valid