Repository Commits Get All

Added the logic for getting all commits for a repository including unit
tests and XML docs
This commit is contained in:
Timothy Haagenson
2014-07-08 16:14:26 -05:00
parent 65a22f4d2c
commit f1b772e4e8
7 changed files with 98 additions and 2 deletions
@@ -1,15 +1,20 @@
using System;
using System.Reactive.Threading.Tasks;
using Octokit.Reactive.Internal;
namespace Octokit.Reactive
{
public class ObservableRepositoryCommitsClient : IObservableRepositoryCommitsClient
{
readonly IGitHubClient _client;
readonly IConnection _connection;
public ObservableRepositoryCommitsClient(IGitHubClient client)
{
Ensure.ArgumentNotNull(client, "client");
_client = client;
_connection = client.Connection;
}
/// <summary>
@@ -24,5 +29,19 @@ namespace Octokit.Reactive
{
return _client.Repository.Commits.Compare(owner, name, @base, head).ToObservable();
}
/// <summary>
/// Gets all commits for a given repository
/// </summary>
/// <param name="owner">The owner of the repository</param>
/// <param name="name">The name of the repository</param>
/// <returns></returns>
public IObservable<GitHubCommit> GetAll(string owner, string name)
{
Ensure.ArgumentNotNullOrEmptyString(owner, "owner");
Ensure.ArgumentNotNullOrEmptyString(name, "name");
return _connection.GetAndFlattenAllPages<GitHubCommit>(ApiUrls.RepositoryCommits(owner, name));
}
}
}