From 0ca21d2b2f9f6023ebbbaad44d7db1f41b5c75ac Mon Sep 17 00:00:00 2001 From: Keith Dahlby Date: Wed, 30 Oct 2013 22:27:16 -0500 Subject: [PATCH] Flatten observable of list --- Octokit.Reactive/Clients/IObservableAssigneesClient.cs | 2 +- Octokit.Reactive/Clients/ObservableAssigneesClient.cs | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Octokit.Reactive/Clients/IObservableAssigneesClient.cs b/Octokit.Reactive/Clients/IObservableAssigneesClient.cs index 5a70e1bf..502ef625 100644 --- a/Octokit.Reactive/Clients/IObservableAssigneesClient.cs +++ b/Octokit.Reactive/Clients/IObservableAssigneesClient.cs @@ -11,7 +11,7 @@ namespace Octokit.Reactive /// The owner of the repository /// The name of the repository /// - IObservable> GetForRepository(string owner, string name); + IObservable GetForRepository(string owner, string name); /// /// Checks to see if a user is an assignee for a repository. diff --git a/Octokit.Reactive/Clients/ObservableAssigneesClient.cs b/Octokit.Reactive/Clients/ObservableAssigneesClient.cs index ae8d13a3..725d3383 100644 --- a/Octokit.Reactive/Clients/ObservableAssigneesClient.cs +++ b/Octokit.Reactive/Clients/ObservableAssigneesClient.cs @@ -1,18 +1,21 @@ using System; using System.Collections.Generic; using System.Reactive.Threading.Tasks; +using Octokit.Reactive.Internal; namespace Octokit.Reactive { public class ObservableAssigneesClient : IObservableAssigneesClient { readonly IAssigneesClient _client; + readonly IConnection _connection; public ObservableAssigneesClient(IGitHubClient client) { Ensure.ArgumentNotNull(client, "client"); _client = client.Issue.Assignee; + _connection = client.Connection; } /// @@ -21,12 +24,12 @@ namespace Octokit.Reactive /// The owner of the repository /// The name of the repository /// - public IObservable> GetForRepository(string owner, string name) + public IObservable GetForRepository(string owner, string name) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); - return _client.GetForRepository(owner, name).ToObservable(); + return _connection.GetAndFlattenAllPages(ApiUrls.Assignees(owner, name)); } ///