Add method chaining for getting posts from subreddits

Signed-off-by: Vartan Benohanian <vartanbeno@gmail.com>
This commit is contained in:
Vartan Benohanian
2020-05-16 22:34:01 -04:00
parent eda947f6b5
commit 01fad4ece5
2 changed files with 102 additions and 86 deletions
+8 -6
View File
@@ -36,9 +36,7 @@ func (s *SearchServiceOp) Posts(query string) *PostSearchBuilder {
b.client = s.client
b.opts.Query = query
b.opts.Type = "link"
b.opts.Sort = SortRelevance.String()
b.opts.Timespan = TimespanAll.String()
return b
return b.Sort(SortRelevance).Timespan(TimespanAll)
}
// Subreddits searches for subreddits.
@@ -95,14 +93,18 @@ func (b *PostSearchBuilder) Limit(limit int) *PostSearchBuilder {
return b
}
// InSubreddits restricts the search to happen in the specified subreddits only.
// If none are set, the search is run against r/all.
func (b *PostSearchBuilder) InSubreddits(subreddits ...string) *PostSearchBuilder {
// FromSubreddits restricts the search to happen in the specified subreddits only.
func (b *PostSearchBuilder) FromSubreddits(subreddits ...string) *PostSearchBuilder {
b.subreddits = subreddits
b.opts.RestrictSubreddits = len(subreddits) > 0
return b
}
// FromAll runs the search against r/all.
func (b *PostSearchBuilder) FromAll() *PostSearchBuilder {
return b.FromSubreddits()
}
// Sort sets the sort option.
func (b *PostSearchBuilder) Sort(sort Sort) *PostSearchBuilder {
b.opts.Sort = sort.String()