Merge pull request #198 from octokit/haacked/change-useraction-to-signature

Rename UserAction to Signature
This commit is contained in:
Phil Haack
2013-11-07 21:30:14 -08:00
15 changed files with 59 additions and 18 deletions
@@ -29,8 +29,8 @@ namespace Octokit.Tests.Integration
{
string owner = this._repository.Owner.Login;
var author = new UserAction { Name = "author", Email = "test-author@example.com", Date = DateTime.UtcNow };
var commiter = new UserAction { Name = "commiter", Email = "test-commiter@example.com", Date = DateTime.Today };
var author = new Signature { Name = "author", Email = "test-author@example.com", Date = DateTime.UtcNow };
var commiter = new Signature { Name = "commiter", Email = "test-commiter@example.com", Date = DateTime.Today };
var newCommit = new NewCommit("test-commit", "[Change this to tree sha]", Enumerable.Empty<string>())
{
+1 -1
View File
@@ -83,7 +83,7 @@ public class TagsClientTests
Tag = "tag-name",
Object = "tag-object",
Type = TaggedType.Tree,
Tagger = new UserAction
Tagger = new Signature
{
Name = "tagger-name",
Email = "tagger-email",
+2 -2
View File
@@ -14,14 +14,14 @@ public class CommitTests
var parent1 = new GitReference { Sha = "parent1-reference", Url = "parent1-url" };
var parent2 = new GitReference { Sha = "parent2-reference", Url = "parent2-url" };
var author = new UserAction
var author = new Signature
{
Name = "author-name",
Email = "author-email",
Date = new DateTime(2013, 10, 15, 13, 40, 14, DateTimeKind.Utc)
};
var committer = new UserAction {
var committer = new Signature {
Name = "committer-name",
Email = "committer-email",
Date = new DateTime(2013, 06, 29, 10, 12, 50, DateTimeKind.Utc)
@@ -79,6 +79,18 @@ namespace Octokit.Tests
Assert.True(sample.IsSomething);
Assert.True(sample.Private);
}
[Fact]
public void DeserializesInheritedProperties()
{
const string json = "{\"sha\":\"commit-sha\",\"url\":\"commit-url\",\"message\":\"commit-message\"}";
var result = new SimpleJsonSerializer().Deserialize<Commit>(json);
Assert.Equal("commit-sha", result.Sha);
Assert.Equal("commit-url", result.Url);
Assert.Equal("commit-message", result.Message);
}
}
public class Sample
+2 -2
View File
@@ -15,7 +15,7 @@ namespace Octokit
public string Tree { get; set; }
public IEnumerable<string> Parents { get; set; }
public UserAction Author { get; set; }
public UserAction Committer { get; set; }
public Signature Author { get; set; }
public Signature Committer { get; set; }
}
}
+1 -1
View File
@@ -10,6 +10,6 @@ namespace Octokit
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1721:PropertyNamesShouldNotMatchGetMethods",
Justification = "Property name as defined by web api")]
public TaggedType Type { get; set; }
public UserAction Tagger { get; set; }
public Signature Tagger { get; set; }
}
}
+2 -2
View File
@@ -5,8 +5,8 @@ namespace Octokit
public class Commit : GitReference
{
public string Message { get; set; }
public UserAction Author { get; set; }
public UserAction Committer { get; set; }
public Signature Author { get; set; }
public Signature Committer { get; set; }
public GitReference Tree { get; set; }
public IEnumerable<GitReference> Parents { get; set; }
}
+1 -1
View File
@@ -4,7 +4,7 @@
{
public string Tag { get; set; }
public string Message { get; set; }
public UserAction Tagger { get; set; }
public Signature Tagger { get; set; }
public TagObject Object { get; set; }
}
}
@@ -2,7 +2,7 @@
namespace Octokit
{
public class UserAction
public class Signature
{
public string Name { get; set; }
public string Email { get; set; }
+1 -1
View File
@@ -92,7 +92,7 @@
<Compile Include="Models\Response\PullRequest.cs" />
<Compile Include="Models\Request\RepositoryIssueRequest.cs" />
<Compile Include="Models\Request\MilestoneRequest.cs" />
<Compile Include="Models\Response\Tagger.cs" />
<Compile Include="Models\Response\Signature.cs" />
<Compile Include="Models\Response\TagObject.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Exceptions\TwoFactorChallengeFailedException.cs" />
+1 -1
View File
@@ -103,7 +103,6 @@
<Compile Include="Models\Response\PullRequest.cs" />
<Compile Include="Models\Request\RepositoryIssueRequest.cs" />
<Compile Include="Models\Request\MilestoneRequest.cs" />
<Compile Include="Models\Response\Tagger.cs" />
<Compile Include="Models\Response\TagObject.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Exceptions\TwoFactorChallengeFailedException.cs" />
@@ -196,6 +195,7 @@
<Compile Include="Models\Response\ReleaseAssetUpload.cs" />
<Compile Include="Models\Request\ReleaseUpdate.cs" />
<Compile Include="Models\Response\Repository.cs" />
<Compile Include="Models\Response\Signature.cs" />
<Compile Include="Models\Response\SshKey.cs" />
<Compile Include="Models\Response\SshKeyInfo.cs" />
<Compile Include="Models\Request\SshKeyUpdate.cs" />
+1 -1
View File
@@ -98,7 +98,6 @@
<Compile Include="Models\Response\PullRequest.cs" />
<Compile Include="Models\Request\RepositoryIssueRequest.cs" />
<Compile Include="Models\Request\MilestoneRequest.cs" />
<Compile Include="Models\Response\Tagger.cs" />
<Compile Include="Models\Response\TagObject.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Exceptions\TwoFactorChallengeFailedException.cs" />
@@ -191,6 +190,7 @@
<Compile Include="Models\Response\ReleaseAssetUpload.cs" />
<Compile Include="Models\Request\ReleaseUpdate.cs" />
<Compile Include="Models\Response\Repository.cs" />
<Compile Include="Models\Response\Signature.cs" />
<Compile Include="Models\Response\SshKey.cs" />
<Compile Include="Models\Response\SshKeyInfo.cs" />
<Compile Include="Models\Request\SshKeyUpdate.cs" />
+1 -1
View File
@@ -185,9 +185,9 @@
<Compile Include="Models\Response\ReleaseAsset.cs" />
<Compile Include="Models\Response\ReleaseAssetUpload.cs" />
<Compile Include="Models\Response\Repository.cs" />
<Compile Include="Models\Response\Signature.cs" />
<Compile Include="Models\Response\SshKey.cs" />
<Compile Include="Models\Response\SshKeyInfo.cs" />
<Compile Include="Models\Response\Tagger.cs" />
<Compile Include="Models\Response\TagObject.cs" />
<Compile Include="Models\Response\User.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
+1 -1
View File
@@ -104,7 +104,7 @@
<Compile Include="Models\Request\RepositoryIssueRequest.cs" />
<Compile Include="Models\Request\MilestoneRequest.cs" />
<Compile Include="Models\Response\GitTag.cs" />
<Compile Include="Models\Response\Tagger.cs" />
<Compile Include="Models\Response\Signature.cs" />
<Compile Include="Models\Response\TagObject.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Exceptions\TwoFactorChallengeFailedException.cs" />
+30 -1
View File
@@ -1723,12 +1723,41 @@ namespace Octokit
public static IEnumerable<PropertyInfo> GetProperties(Type type)
{
#if SIMPLE_JSON_TYPEINFO
return type.GetTypeInfo().DeclaredProperties;
var typeInfo = type.GetTypeInfo();
var properties = typeInfo.DeclaredProperties;
if(typeInfo.BaseType == null)
{
return properties;
}
var result = new List<PropertyInfo>();
foreach (var property in properties)
{
result.Add(property);
}
var baseProperties = GetProperties(typeInfo.BaseType);
foreach (var property in baseProperties)
{
result.Add(property);
}
return result;
#else
return type.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static);
#endif
}
public static IList<PropertyInfo> Build(IEnumerable<PropertyInfo> properties)
{
var propertyList = new List<PropertyInfo>();
foreach (var property in properties)
{
propertyList.Add(property);
}
return propertyList;
}
public static IEnumerable<FieldInfo> GetFields(Type type)
{
#if SIMPLE_JSON_TYPEINFO