class Github::Client::Repos

def list(*args)

Other tags:
    Api: - public

Options Hash: (**params)
  • :since (Integer) --

Parameters:
  • params (Hash) --
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