docs: def edit(self, description=github.GithubObject.NotSet, files=github.GithubObject.NotSet):
          """
          :calls: `PATCH /gists/:id <http://developer.github.com/v3/gists>`_
          :param description: string
          :param files: dict of string to :class:`github.InputFileContent.InputFileContent`
          :rtype: None
          """
          assert description is github.GithubObject.NotSet or isinstance(description, (str, unicode)), description
          assert files is github.GithubObject.NotSet or all(element is None or isinstance(element, github.InputFileContent) for element in files.itervalues()), files
          post_parameters = dict()
          if description is not github.GithubObject.NotSet:
              post_parameters["description"] = description
          if files is not github.GithubObject.NotSet:
              post_parameters["files"] = {key: None if value is None else value._identity for key, value in files.iteritems()}
          headers, data = self._requester.requestJsonAndCheck(
              "PATCH",
              self.url,
              input=post_parameters
          )
          self._useAttributes(data)