From ce2884998b404b32a44734734ade6b68bb44be2b Mon Sep 17 00:00:00 2001 From: Haroon Date: Sat, 1 Mar 2014 15:39:52 +0000 Subject: [PATCH] updated base class --- Octokit.Tests/Clients/SearchClientTests.cs | 2 +- .../Request/SearchRepositoriesRequest.cs | 57 +++---------------- 2 files changed, 10 insertions(+), 49 deletions(-) diff --git a/Octokit.Tests/Clients/SearchClientTests.cs b/Octokit.Tests/Clients/SearchClientTests.cs index e081161f..15d1d10f 100644 --- a/Octokit.Tests/Clients/SearchClientTests.cs +++ b/Octokit.Tests/Clients/SearchClientTests.cs @@ -478,7 +478,7 @@ namespace Octokit.Tests.Clients var client = new SearchClient(connection); //get repos where the Description contains rails and user/org is 'github' var request = new SearchRepositoriesRequest("rails"); - request.Sort = RepoSearchSort.Forks; + request.SortField = RepoSearchSort.Forks; client.SearchRepo(request); diff --git a/Octokit/Models/Request/SearchRepositoriesRequest.cs b/Octokit/Models/Request/SearchRepositoriesRequest.cs index e78644bf..af7a9e05 100644 --- a/Octokit/Models/Request/SearchRepositoriesRequest.cs +++ b/Octokit/Models/Request/SearchRepositoriesRequest.cs @@ -13,43 +13,23 @@ namespace Octokit /// http://developer.github.com/v3/search/#search-repositories /// [DebuggerDisplay("{DebuggerDisplay,nq}")] - public class SearchRepositoriesRequest + public class SearchRepositoriesRequest : BaseSearchRequest { - public SearchRepositoriesRequest(string term) + public SearchRepositoriesRequest(string term) : base(term) { - Term = term; - Page = 1; - PerPage = 100; Fork = ForkQualifier.ExcludeForks; Order = SortDirection.Descending; } - /// - /// The search terms. This can be any combination of the supported repository search parameters: - /// http://developer.github.com/v3/search/#search-repositories - /// - public string Term { get; set; } - /// /// For https://help.github.com/articles/searching-repositories#sorting /// Optional Sort field. One of stars, forks, or updated. If not provided, results are sorted by best match. /// - public RepoSearchSort? Sort { get; set; } - - /// - /// Sort order one of asc or desc - the default is desc. - /// - public SortDirection Order { get; set; } - - /// - /// Page of paginated results - /// - public int Page { get; set; } - - /// - /// Number of items per page - /// - public int PerPage { get; set; } + public RepoSearchSort? SortField { get; set; } + public override string Sort + { + get { return SortField.ToParameter(); } + } private IEnumerable _inQualifier; @@ -120,7 +100,7 @@ namespace Octokit /// public DateRange Updated { get; set; } - public string MergeParameters() + public override IReadOnlyCollection MergedQualifiers() { var parameters = new List(); @@ -165,26 +145,7 @@ namespace Octokit { parameters.Add(String.Format(CultureInfo.InvariantCulture, "pushed:{0}", Updated)); } - - return String.Join("+", parameters); - } - - /// - /// get the params in the correct format... - /// - /// - [SuppressMessage("Microsoft.Globalization", "CA1305:SpecifyIFormatProvider", MessageId = "System.Int32.ToString")] - public IDictionary Parameters - { - get - { - var d = new System.Collections.Generic.Dictionary(); - d.Add("page", Page.ToString()); - d.Add("per_page", PerPage.ToString()); - d.Add("sort", Sort.ToString()); - d.Add("q", Term + " " + MergeParameters()); //add qualifiers onto the search term - return d; - } + return parameters; } internal string DebuggerDisplay