Flatten the observables for users

This commit is contained in:
Haacked
2013-10-16 16:55:52 -07:00
parent 8b2e3d1944
commit 189a8e1da8
4 changed files with 12 additions and 11 deletions
@@ -1,17 +1,20 @@
using System;
using System.Reactive.Threading.Tasks;
using Octokit.Reactive.Helpers;
namespace Octokit.Reactive.Clients
{
public class ObservableUsersClient : IObservableUsersClient
{
readonly IUsersClient _client;
readonly IConnection _connection;
public ObservableUsersClient(IUsersClient client)
public ObservableUsersClient(IGitHubClient client)
{
Ensure.ArgumentNotNull(client, "client");
_client = client;
_client = client.User;
_connection = client.Connection;
}
public IObservable<User> Get(string login)
@@ -33,9 +36,9 @@ namespace Octokit.Reactive.Clients
return _client.Update(user).ToObservable();
}
public IObservable<IReadOnlyList<EmailAddress>> GetEmails()
public IObservable<EmailAddress> GetEmails()
{
return _client.GetEmails().ToObservable();
return _connection.GetAndFlattenAllPages<EmailAddress>(ApiUrls.Emails());
}
}
}