diff --git a/Octokit.Reactive/Clients/ObservableReleasesClient.cs b/Octokit.Reactive/Clients/ObservableReleasesClient.cs
index edb5f642..004ff5af 100644
--- a/Octokit.Reactive/Clients/ObservableReleasesClient.cs
+++ b/Octokit.Reactive/Clients/ObservableReleasesClient.cs
@@ -30,6 +30,9 @@ namespace Octokit.Reactive
/// The list of s for the specified repository.
public IObservable GetAll(string owner, string name)
{
+ Ensure.ArgumentNotNullOrEmptyString(owner, "owner");
+ Ensure.ArgumentNotNullOrEmptyString(name, "name");
+
return _connection.GetAndFlattenAllPages(ApiUrls.Releases(owner, name));
}
@@ -46,7 +49,11 @@ namespace Octokit.Reactive
/// The specified by the id
public IObservable Get(string owner, string name, int number)
{
- throw new NotImplementedException();
+ Ensure.ArgumentNotNullOrEmptyString(owner, "owner");
+ Ensure.ArgumentNotNullOrEmptyString(name, "name");
+ Ensure.ArgumentNotNull(number, "number");
+
+ return _client.Get(owner, name, number).ToObservable();
}
///
@@ -62,6 +69,10 @@ namespace Octokit.Reactive
/// The created .
public IObservable CreateRelease(string owner, string name, ReleaseUpdate data)
{
+ Ensure.ArgumentNotNullOrEmptyString(owner, "owner");
+ Ensure.ArgumentNotNullOrEmptyString(name, "name");
+ Ensure.ArgumentNotNull(data, "data");
+
return _client.CreateRelease(owner, name, data).ToObservable();
}
@@ -78,7 +89,11 @@ namespace Octokit.Reactive
/// The updated .
public IObservable EditRelease(string owner, string name, ReleaseUpdate data)
{
- throw new NotImplementedException();
+ Ensure.ArgumentNotNullOrEmptyString(owner, "owner");
+ Ensure.ArgumentNotNullOrEmptyString(name, "name");
+ Ensure.ArgumentNotNull(data, "data");
+
+ return _client.EditRelease(owner, name, data).ToObservable();
}
///
@@ -94,7 +109,11 @@ namespace Octokit.Reactive
///
public IObservable DeleteRelease(string owner, string name, int number)
{
- throw new NotImplementedException();
+ Ensure.ArgumentNotNullOrEmptyString(owner, "owner");
+ Ensure.ArgumentNotNullOrEmptyString(name, "name");
+ Ensure.ArgumentNotNull(number, "number");
+
+ return _client.DeleteRelease(owner, name, number).ToObservable();
}
///
@@ -110,7 +129,11 @@ namespace Octokit.Reactive
/// The list of for the specified release of the specified repository.
public IObservable GetAssets(string owner, string name, int number)
{
- throw new NotImplementedException();
+ Ensure.ArgumentNotNullOrEmptyString(owner, "owner");
+ Ensure.ArgumentNotNullOrEmptyString(name, "name");
+ Ensure.ArgumentNotNull(number, "number");
+
+ return _connection.GetAndFlattenAllPages(ApiUrls.Assets(owner, name, number));
}
///
@@ -125,7 +148,12 @@ namespace Octokit.Reactive
/// The created .
public IObservable GetAsset(string owner, string name, int releaseId, int assetId)
{
- throw new NotImplementedException();
+ Ensure.ArgumentNotNullOrEmptyString(owner, "owner");
+ Ensure.ArgumentNotNullOrEmptyString(name, "name");
+ Ensure.ArgumentNotNull(releaseId, "releaseId");
+ Ensure.ArgumentNotNull(assetId, "assetId");
+
+ return _client.GetAsset(owner, name, releaseId, assetId).ToObservable();
}
///
@@ -141,6 +169,9 @@ namespace Octokit.Reactive
/// The specified by the asset id.
public IObservable UploadAsset(Release release, ReleaseAssetUpload data)
{
+ Ensure.ArgumentNotNull(release, "release");
+ Ensure.ArgumentNotNull(data, "data");
+
return _client.UploadAsset(release, data).ToObservable();
}
@@ -158,7 +189,13 @@ namespace Octokit.Reactive
/// The edited .
public IObservable EditAsset(string owner, string name, int releaseId, int assetId, ReleaseAssetUpdate data)
{
- throw new NotImplementedException();
+ Ensure.ArgumentNotNullOrEmptyString(owner, "owner");
+ Ensure.ArgumentNotNullOrEmptyString(name, "name");
+ Ensure.ArgumentNotNull(releaseId, "releaseId");
+ Ensure.ArgumentNotNull(assetId, "assetId");
+ Ensure.ArgumentNotNull(data, "data");
+
+ return _client.EditAsset(owner, name, releaseId, assetId, data).ToObservable();
}
///
@@ -173,7 +210,11 @@ namespace Octokit.Reactive
///
public IObservable DeleteAsset(string owner, string name, int number)
{
- throw new NotImplementedException();
+ Ensure.ArgumentNotNullOrEmptyString(owner, "owner");
+ Ensure.ArgumentNotNullOrEmptyString(name, "name");
+ Ensure.ArgumentNotNull(number, "number");
+
+ return _client.DeleteAsset(owner, name, number).ToObservable();
}
}
}