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.
///