class_docstr: CodeController inherits from BaseController and manages business logic related to the
  code.
  
  Methods
  -------
  create(code_id=None)
      create a code object within the project
  list()
      list all code objects within the project
  delete(id)
      delete the specified code object from the project
docstr: Get the current code object
  
  Returns
  -------
  Code
      an object representing the current code reference state
  
  Raises
  ------
  UnstagedChanges
      if there are unstaged changes error out because no current code
docstr_tok: ["Get","the","current","code","object","Returns","--","--","--","-","Code","an","object","representing","the","current","code","reference","state","Raises","--","--","--","UnstagedChanges","if","there","are","unstaged","changes","error","out","because","no","current","code"]
code: def current_code(self):
      """Get the current code object
  
      Returns
      -------
      Code
          an object representing the current code reference state
  
      Raises
      ------
      UnstagedChanges
          if there are unstaged changes error out because no current code
      """
      self.check_unstaged_changes()
      current_commit_id = self.code_driver.current_hash()
      # Return the code object with this hash id
      return self.create(commit_id=current_commit_id)
  
file_path: datmo/datmo/core/controller/code/code.py
imports: from datmo.core.util.i18n import get
  from datmo.core.controller.base import BaseController
  from datmo.core.entity.code import Code
  from datmo.core.util.exceptions import PathDoesNotExist, EnvironmentInitFailed, ArgumentError, CodeDoesNotExist
label_desc: Use image node_id 2 for calling the CodeController obj's underlying member method code with example usage: obj.current_code() and returns: self