def list(*args)
      arguments(args) do
        permit %w[ user org type sort direction since ]
      end
      params = arguments.params
      unless params.symbolize_keys[:per_page]
        params.merge!(Pagination.per_page_as_param(current_options[:per_page]))
      end

      response = if (user_name = params.delete('user') || user)
        get_request("/users/#{user_name}/repos", params)
      elsif (org_name = params.delete('org') || org)
        get_request("/orgs/#{org_name}/repos", params)
      elsif args.map(&:to_s).include?('every')
        get_request('/repositories', params)
      else
        # For authenticated user
        get_request('/user/repos', params)
      end
      return response unless block_given?
      response.each { |el| yield el }
    end
def list(*args)
      arguments(args) do
        permit %w[ user org type sort direction since ]
      end
      params = arguments.params
      unless params.symbolize_keys[:per_page]
        params.merge!(Pagination.per_page_as_param(current_options[:per_page]))
      end

      response = if (user_name = params.delete('user') || user)
        get_request("/users/#{user_name}/repos", params)
      elsif (org_name = params.delete('org') || org)
        get_request("/orgs/#{org_name}/repos", params)
      elsif args.map(&:to_s).include?('every')
        get_request('/repositories', params)
      else
        # For authenticated user
        get_request('/user/repos', params)
      end
      return response unless block_given?
      response.each { |el| yield el }
    end
List repositories for the authenticated user

 @example
   github = Github.new oauth_token: '...'
   github.repos.list
   github.repos.list { |repo| ... }

 List all repositories

 This provides a dump of every repository,
 in the order that they were created.

 @param [Hash] params
 @option params [Integer] :since
   the integer ID of the last Repository that you've seen.

 @example
   github = Github.new
   github.repos.list :every
   github.repos.list :every { |repo| ... }

 List public repositories for the specified user.

 @example
   github = Github.new
   github.repos.list user: 'user-name'
   github.repos.list user: 'user-name', { |repo| ... }

 List repositories for the specified organisation.

 @example
  github = Github.new
  github.repos.list org: 'org-name'
  github.repos.list org: 'org-name', { |repo| ... }

 @api public