diff --git a/Octokit.Reactive/Clients/ObservableRepositoriesClient.cs b/Octokit.Reactive/Clients/ObservableRepositoriesClient.cs index 6084e1c7..1511259c 100644 --- a/Octokit.Reactive/Clients/ObservableRepositoriesClient.cs +++ b/Octokit.Reactive/Clients/ObservableRepositoriesClient.cs @@ -15,6 +15,20 @@ namespace Octokit.Reactive.Clients _client = client; } + /// + /// Creates a new repository for the current user. + /// + /// A instance describing the new repository to create + /// An instance for the created repository + public IObservable Create(NewRepository newRepository) + { + Ensure.ArgumentNotNull(newRepository, "newRepository"); + if (string.IsNullOrEmpty(newRepository.Name)) + throw new ArgumentException("The new repository's name must not be null."); + + return _client.Create(newRepository).ToObservable(); + } + public IObservable Get(string owner, string name) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); diff --git a/Octokit.Reactive/IObservableRepositoriesClient.cs b/Octokit.Reactive/IObservableRepositoriesClient.cs index bc8a1a32..2dc6bb33 100644 --- a/Octokit.Reactive/IObservableRepositoriesClient.cs +++ b/Octokit.Reactive/IObservableRepositoriesClient.cs @@ -6,6 +6,13 @@ namespace Octokit.Reactive { public interface IObservableRepositoriesClient { + /// + /// Creates a new repository for the current user. + /// + /// A instance describing the new repository to create + /// An instance for the created repository + IObservable Create(NewRepository newRepository); + /// /// Retrieves the for the specified owner and name. ///