Skip to content

Commit 662095d

Browse files
committed
Add Repos::DefaultReviewers and implement .list
1 parent cab13cf commit 662095d

File tree

3 files changed

+48
-1
lines changed

3 files changed

+48
-1
lines changed

lib/bitbucket_rest_api/repos.rb

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ class Repos < API
1515
:Commits => 'commits',
1616
:Download => 'download',
1717
:Webhooks => 'webhooks',
18-
:PullRequest => 'pull_request'
18+
:PullRequest => 'pull_request',
19+
:DefaultReviewers => 'default_reviewers'
1920

2021
DEFAULT_REPO_OPTIONS = {
2122
"website" => "",
@@ -83,6 +84,10 @@ def pull_request
8384
@pull_request ||= ApiFactory.new 'Repos::PullRequest'
8485
end
8586

87+
def default_reviewers
88+
@default_reviewers ||= ApiFactory.new 'Repos::DefaultReviewers'
89+
end
90+
8691
# List branches
8792
#
8893
# = Examples
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
module BitBucket
2+
class Repos::DefaultReviewers < API
3+
4+
# List default reviewers
5+
#
6+
# = Examples
7+
# bitbucket = BitBucket.new
8+
# bitbucket.repos.default_reviewers.list 'user-name', 'repo-name'
9+
# bitbucket.repos.default_reviewers.list 'user-name', 'repo-name' { |reviewer| ... }
10+
#
11+
def list(user_name, repo_name, params={})
12+
_update_user_repo_params(user_name, repo_name)
13+
_validate_user_repo_params(user, repo) unless user? && repo?
14+
normalize! params
15+
16+
response = get_request("/2.0/repositories/#{user_name}/#{repo_name}/default-reviewers", params)
17+
return response unless block_given?
18+
response.each { |el| yield el }
19+
end
20+
alias :all :list
21+
22+
end
23+
end
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
require 'spec_helper'
2+
3+
describe BitBucket::Repos::DefaultReviewers do
4+
subject { described_class.new }
5+
describe '#list' do
6+
before do
7+
expect(subject).to receive(:request).with(
8+
:get,
9+
'/2.0/repositories/mock_user/mock_repo/default-reviewers',
10+
{},
11+
{}
12+
)
13+
end
14+
15+
it 'makes a GET request for all pull requests belonging to the repo' do
16+
subject.list('mock_user', 'mock_repo')
17+
end
18+
end
19+
end

0 commit comments

Comments
 (0)