':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'

def edit(self, description=github.GithubObject.NotSet, files=github.GithubObject.NotSet):

    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'] = dict(((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)
