def list(*args)
      params = arguments(args) do
        assert_values VALID_ISSUE_PARAM_VALUES
      end.params

      response = if (org = params.delete('org'))
        get_request("/orgs/#{org}/issues", params)

      elsif (user_name = params.delete('user')) &&
            (repo_name = params.delete('repo'))

        list_repo user_name, repo_name
      elsif args.include? :user
        get_request("/user/issues", params)
      else
        get_request("/issues", params)
      end
      return response unless block_given?
      response.each { |el| yield el }
    end
def list(*args)
      params = arguments(args) do
        assert_values VALID_ISSUE_PARAM_VALUES
      end.params

      response = if (org = params.delete('org'))
        get_request("/orgs/#{org}/issues", params)

      elsif (user_name = params.delete('user')) &&
            (repo_name = params.delete('repo'))

        list_repo user_name, repo_name
      elsif args.include? :user
        get_request("/user/issues", params)
      else
        get_request("/issues", params)
      end
      return response unless block_given?
      response.each { |el| yield el }
    end
List your issues

 List all issues across all the authenticated user’s visible repositories
 including owned repositories, member repositories,
 and organization repositories.

 @example
  github = Github.new oauth_token: '...'
  github.issues.list

 List all issues across owned and member repositories for the
 authenticated user.

 @example
  github = Github.new oauth_token: '...'
  github.issues.list :user

 List all issues for a given organization for the authenticated user.

 @example
  github = Github.new oauth_token: '...'
  github.issues.list org: 'org-name'

 List issues for a repository

 @example
  github = Github.new
  github.issues.list user: 'user-name', repo: 'repo-name'

 @param [Hash] params
 @option params [String] :filter
  * assigned   Issues assigned to you (default)
  * created    Issues created by you
  * mentioned  Issues mentioning you
  * subscribed Issues you've subscribed to updates for
  * all        All issues the user can see
 @option params [String] :milestone
  * Integer Milestone number
  * none for Issues with no Milestone.
  * *    for Issues with any Milestone
 @option params [String] :state
   open, closed, default: open
 @option params [String] :labels
   String list of comma separated Label names. Example: bug,ui,@high
 @option params [String] :assignee
  * String User login
  * <tt>none</tt> for Issues with no assigned User.
  * <tt>*</tt>    for Issues with any assigned User.
 @option params [String] :creator
   String User login
 @option params [String] :mentioned
   String User login
 @option params [String] :sort
   created, updated, comments, default: <tt>created</tt>
 @option params [String] :direction
   asc, desc, default: desc
 @option params [String] :since
   Optional string of a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ

 @example
  github = Github.new oauth_token: '...'
  github.issues.list since: '2011-04-12T12:12:12Z',
    filter: 'created',
    state: 'open',
    labels: "bug,ui,bla",
    sort: 'comments',
    direction: 'asc'

 @api public