':calls: `GET /repos/:owner/:repo/pulls <http://developer.github.com/v3/pulls>`_
:param state: string
:param sort: string
:param direction: string
:param base: string
:rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.PullRequest.PullRequest`'

def get_pulls(self, state=github.GithubObject.NotSet, sort=github.GithubObject.NotSet, direction=github.GithubObject.NotSet, base=github.GithubObject.NotSet):

    assert ((state is github.GithubObject.NotSet) or isinstance(state, (str, unicode))), state
    assert ((sort is github.GithubObject.NotSet) or isinstance(sort, (str, unicode))), sort
    assert ((direction is github.GithubObject.NotSet) or isinstance(direction, (str, unicode))), direction
    assert ((base is github.GithubObject.NotSet) or isinstance(base, (str, unicode))), base
    url_parameters = dict()
    if (state is not github.GithubObject.NotSet):
        url_parameters['state'] = state
    if (sort is not github.GithubObject.NotSet):
        url_parameters['sort'] = sort
    if (direction is not github.GithubObject.NotSet):
        url_parameters['direction'] = direction
    if (base is not github.GithubObject.NotSet):
        url_parameters['base'] = base
    return github.PaginatedList.PaginatedList(github.PullRequest.PullRequest, self._requester, (self.url + '/pulls'), url_parameters)
