Make client property names consistent

Also added ObservableReleasesClient
This commit is contained in:
Haacked
2013-10-05 16:30:00 -07:00
parent 252cacb537
commit 9a33c68dbc
9 changed files with 53 additions and 8 deletions

View File

@@ -0,0 +1,32 @@
using System;
using System.Reactive.Threading.Tasks;
namespace Octokit.Reactive.Clients
{
public class ObservableReleasesClient : IObservableReleasesClient
{
readonly IReleasesClient _client;
public ObservableReleasesClient(IReleasesClient client)
{
Ensure.ArgumentNotNull(client, "client");
_client = client;
}
public IObservable<IReadOnlyList<Release>> GetAll(string owner, string name)
{
return _client.GetAll(owner, name).ToObservable();
}
public IObservable<Release> CreateRelease(string owner, string name, ReleaseUpdate data)
{
return _client.CreateRelease(owner, name, data).ToObservable();
}
public IObservable<ReleaseAsset> UploadAsset(Release release, ReleaseAssetUpload data)
{
return _client.UploadAsset(release, data).ToObservable();
}
}
}

View File

@@ -5,7 +5,7 @@
IObservableAuthorizationsClient Authorization { get; } IObservableAuthorizationsClient Authorization { get; }
IObservableAutoCompleteClient AutoComplete { get; } IObservableAutoCompleteClient AutoComplete { get; }
IObservableOrganizationsClient Organization { get; } IObservableOrganizationsClient Organization { get; }
IObservableRepositoriesClient Repositories { get; } IObservableRepositoriesClient Repository { get; }
IObservableSshKeysClient SshKey { get; } IObservableSshKeysClient SshKey { get; }
IObservableUsersClient User { get; } IObservableUsersClient User { get; }
} }

View File

@@ -0,0 +1,11 @@
using System;
namespace Octokit.Reactive
{
public interface IObservableReleasesClient
{
IObservable<IReadOnlyList<Release>> GetAll(string owner, string name);
IObservable<Release> CreateRelease(string owner, string name, ReleaseUpdate data);
IObservable<ReleaseAsset> UploadAsset(Release release, ReleaseAssetUpload data);
}
}

View File

@@ -11,7 +11,7 @@ namespace Octokit.Reactive
Authorization = new ObservableAuthorizationsClient(gitHubClient.Authorization); Authorization = new ObservableAuthorizationsClient(gitHubClient.Authorization);
AutoComplete = new ObservableAutoCompleteClient(gitHubClient.AutoComplete); AutoComplete = new ObservableAutoCompleteClient(gitHubClient.AutoComplete);
Organization = new ObservableOrganizationsClient(gitHubClient.Organization); Organization = new ObservableOrganizationsClient(gitHubClient.Organization);
Repositories = new ObservableRepositoriesClient(gitHubClient.Repository); Repository = new ObservableRepositoriesClient(gitHubClient.Repository);
SshKey = new ObservableSshKeysClient(gitHubClient.SshKey); SshKey = new ObservableSshKeysClient(gitHubClient.SshKey);
User = new ObservableUsersClient(gitHubClient.User); User = new ObservableUsersClient(gitHubClient.User);
} }
@@ -19,7 +19,7 @@ namespace Octokit.Reactive
public IObservableAuthorizationsClient Authorization { get; private set; } public IObservableAuthorizationsClient Authorization { get; private set; }
public IObservableAutoCompleteClient AutoComplete { get; private set; } public IObservableAutoCompleteClient AutoComplete { get; private set; }
public IObservableOrganizationsClient Organization { get; private set; } public IObservableOrganizationsClient Organization { get; private set; }
public IObservableRepositoriesClient Repositories { get; private set; } public IObservableRepositoriesClient Repository { get; private set; }
public IObservableSshKeysClient SshKey { get; private set; } public IObservableSshKeysClient SshKey { get; private set; }
public IObservableUsersClient User { get; private set; } public IObservableUsersClient User { get; private set; }
} }

View File

@@ -85,12 +85,14 @@
<Compile Include="Clients\ObservableAuthorizationsClient.cs" /> <Compile Include="Clients\ObservableAuthorizationsClient.cs" />
<Compile Include="Clients\ObservableAutoCompleteClient.cs" /> <Compile Include="Clients\ObservableAutoCompleteClient.cs" />
<Compile Include="Clients\ObservableOrganizationsClient.cs" /> <Compile Include="Clients\ObservableOrganizationsClient.cs" />
<Compile Include="Clients\ObservableReleasesClient.cs" />
<Compile Include="Clients\ObservableRepositoriesClient.cs" /> <Compile Include="Clients\ObservableRepositoriesClient.cs" />
<Compile Include="Clients\ObservableSshKeysClient.cs" /> <Compile Include="Clients\ObservableSshKeysClient.cs" />
<Compile Include="Clients\ObservableUsersClient.cs" /> <Compile Include="Clients\ObservableUsersClient.cs" />
<Compile Include="IObservableAuthorizationsClient.cs" /> <Compile Include="IObservableAuthorizationsClient.cs" />
<Compile Include="IObservableAutoCompleteClient.cs" /> <Compile Include="IObservableAutoCompleteClient.cs" />
<Compile Include="IObservableGitHubClient.cs" /> <Compile Include="IObservableGitHubClient.cs" />
<Compile Include="IObservableReleasesClient.cs" />
<Compile Include="IObservableRepositoriesClient.cs" /> <Compile Include="IObservableRepositoriesClient.cs" />
<Compile Include="IObservableOrganizationsClient.cs" /> <Compile Include="IObservableOrganizationsClient.cs" />
<Compile Include="IObservableSshKeysClient.cs" /> <Compile Include="IObservableSshKeysClient.cs" />

View File

@@ -16,7 +16,7 @@ namespace Octokit.Tests.Integration
Credentials = AutomationSettings.Current.GitHubCredentials Credentials = AutomationSettings.Current.GitHubCredentials
}; };
var releases = await github.Releases.GetAll("git-tfs", "git-tfs"); var releases = await github.Release.GetAll("git-tfs", "git-tfs");
Assert.True(releases.Count > 5); Assert.True(releases.Count > 5);
Assert.True(releases.Any(release => release.TagName == "v0.18.0")); Assert.True(releases.Any(release => release.TagName == "v0.18.0"));

View File

@@ -39,7 +39,7 @@ namespace Octokit
AutoComplete = new AutoCompleteClient(connection); AutoComplete = new AutoCompleteClient(connection);
Organization = new OrganizationsClient(new ApiConnection<Organization>(connection)); Organization = new OrganizationsClient(new ApiConnection<Organization>(connection));
Repository = new RepositoriesClient(new ApiConnection<Repository>(connection)); Repository = new RepositoriesClient(new ApiConnection<Repository>(connection));
Releases = new ReleasesClient(new ApiConnection<Release>(connection)); Release = new ReleasesClient(new ApiConnection<Release>(connection));
User = new UsersClient(new ApiConnection<User>(connection)); User = new UsersClient(new ApiConnection<User>(connection));
SshKey = new SshKeysClient(new ApiConnection<SshKey>(connection)); SshKey = new SshKeysClient(new ApiConnection<SshKey>(connection));
} }
@@ -80,7 +80,7 @@ namespace Octokit
public IAutoCompleteClient AutoComplete { get; private set; } public IAutoCompleteClient AutoComplete { get; private set; }
public IOrganizationsClient Organization { get; private set; } public IOrganizationsClient Organization { get; private set; }
public IRepositoriesClient Repository { get; private set; } public IRepositoriesClient Repository { get; private set; }
public IReleasesClient Releases { get; private set; } public IReleasesClient Release { get; private set; }
public ISshKeysClient SshKey { get; private set; } public ISshKeysClient SshKey { get; private set; }
public IUsersClient User { get; private set; } public IUsersClient User { get; private set; }
} }

View File

@@ -10,7 +10,7 @@ namespace Octokit
IAutoCompleteClient AutoComplete { get; } IAutoCompleteClient AutoComplete { get; }
IOrganizationsClient Organization { get; } IOrganizationsClient Organization { get; }
IRepositoriesClient Repository { get; } IRepositoriesClient Repository { get; }
IReleasesClient Releases { get; } IReleasesClient Release { get; }
ISshKeysClient SshKey { get; } ISshKeysClient SshKey { get; }
IUsersClient User { get; } IUsersClient User { get; }
} }

View File

@@ -10,7 +10,7 @@ namespace Octokit
/// </summary> /// </summary>
/// <param name="owner">The owner of the repository.</param> /// <param name="owner">The owner of the repository.</param>
/// <param name="name">The name of the repository.</param> /// <param name="name">The name of the repository.</param>
/// <returns>A <see cref="IReadonlyPagedCollection{Release}"/> of <see cref="Release"/>.</returns> /// <returns>A <see cref="IReadonlyList{Release}"/> of <see cref="Release"/>.</returns>
Task<IReadOnlyList<Release>> GetAll(string owner, string name); Task<IReadOnlyList<Release>> GetAll(string owner, string name);
/// <summary> /// <summary>