tinybucket 1.0.1 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +0 -5
- data/README.md +100 -24
- data/lib/tinybucket.rb +1 -0
- data/lib/tinybucket/api.rb +1 -0
- data/lib/tinybucket/api/build_status_api.rb +55 -0
- data/lib/tinybucket/api/helper.rb +1 -0
- data/lib/tinybucket/api/helper/build_status_helper.rb +35 -0
- data/lib/tinybucket/client.rb +28 -45
- data/lib/tinybucket/enumerator.rb +4 -3
- data/lib/tinybucket/model.rb +2 -1
- data/lib/tinybucket/model/base.rb +1 -17
- data/lib/tinybucket/model/build_status.rb +55 -0
- data/lib/tinybucket/model/commit.rb +32 -15
- data/lib/tinybucket/model/concerns.rb +1 -0
- data/lib/tinybucket/model/concerns/api_callable.rb +19 -0
- data/lib/tinybucket/model/profile.rb +9 -26
- data/lib/tinybucket/model/pull_request.rb +18 -28
- data/lib/tinybucket/model/repository.rb +29 -76
- data/lib/tinybucket/model/team.rb +9 -34
- data/lib/tinybucket/parser.rb +1 -0
- data/lib/tinybucket/parser/build_status_parser.rb +9 -0
- data/lib/tinybucket/resource.rb +70 -0
- data/lib/tinybucket/resource/base.rb +29 -0
- data/lib/tinybucket/resource/branch_restrictions.rb +45 -0
- data/lib/tinybucket/resource/commit/base.rb +12 -0
- data/lib/tinybucket/resource/commit/build_statuses.rb +47 -0
- data/lib/tinybucket/resource/commit/comments.rb +32 -0
- data/lib/tinybucket/resource/commits.rb +33 -0
- data/lib/tinybucket/resource/forks.rb +22 -0
- data/lib/tinybucket/resource/pull_request/base.rb +18 -0
- data/lib/tinybucket/resource/pull_request/comments.rb +30 -0
- data/lib/tinybucket/resource/pull_request/commits.rb +17 -0
- data/lib/tinybucket/resource/pull_requests.rb +48 -0
- data/lib/tinybucket/resource/repos.rb +38 -0
- data/lib/tinybucket/resource/team/base.rb +22 -0
- data/lib/tinybucket/resource/team/followers.rb +13 -0
- data/lib/tinybucket/resource/team/following.rb +13 -0
- data/lib/tinybucket/resource/team/members.rb +13 -0
- data/lib/tinybucket/resource/team/repos.rb +13 -0
- data/lib/tinybucket/resource/user/base.rb +24 -0
- data/lib/tinybucket/resource/user/followers.rb +13 -0
- data/lib/tinybucket/resource/user/following.rb +13 -0
- data/lib/tinybucket/resource/user/repos.rb +13 -0
- data/lib/tinybucket/resource/watchers.rb +22 -0
- data/lib/tinybucket/version.rb +1 -1
- data/spec/fixtures/build_status.json +16 -0
- data/spec/fixtures/repositories/test_owner/get.json +1 -1
- data/spec/fixtures/repositories/test_owner/test_repo/commit/1/statuses/build/post.json +16 -0
- data/spec/fixtures/repositories/test_owner/test_repo/commit/1/statuses/build/test_status/get.json +16 -0
- data/spec/fixtures/repositories/test_owner/test_repo/commit/1/statuses/build/test_status/put.json +16 -0
- data/spec/fixtures/repositories/test_owner/test_repo/pullrequests/1/comments/get.json +1 -1
- data/spec/fixtures/repositories/test_owner/test_repo/pullrequests/1/commits/get.json +1 -1
- data/spec/fixtures/repositories/test_owner/test_repo/pullrequests/get.json +1 -1
- data/spec/fixtures/repositories/test_owner/test_repo/watchers/get.json +1 -1
- data/spec/lib/tinybucket/api/build_status_api_spec.rb +65 -0
- data/spec/lib/tinybucket/client_spec.rb +8 -4
- data/spec/lib/tinybucket/model/build_status_spec.rb +66 -0
- data/spec/lib/tinybucket/model/commit_spec.rb +19 -1
- data/spec/lib/tinybucket/model/profile_spec.rb +3 -3
- data/spec/lib/tinybucket/model/pull_request_spec.rb +3 -15
- data/spec/lib/tinybucket/model/repository_spec.rb +14 -20
- data/spec/lib/tinybucket/model/team_spec.rb +16 -4
- data/spec/lib/tinybucket/resource/branch_restrictions_spec.rb +60 -0
- data/spec/lib/tinybucket/resource/commit/build_statuses_spec.rb +50 -0
- data/spec/lib/tinybucket/resource/commit/comments_spec.rb +49 -0
- data/spec/lib/tinybucket/resource/commits_spec.rb +43 -0
- data/spec/lib/tinybucket/resource/forks_spec.rb +36 -0
- data/spec/lib/tinybucket/resource/pull_request/comments_spec.rb +41 -0
- data/spec/lib/tinybucket/resource/pull_request/commits_spec.rb +41 -0
- data/spec/lib/tinybucket/resource/pull_requests_spec.rb +59 -0
- data/spec/lib/tinybucket/resource/repos_spec.rb +76 -0
- data/spec/lib/tinybucket/resource/team/followers_spec.rb +27 -0
- data/spec/lib/tinybucket/resource/team/following_spec.rb +27 -0
- data/spec/lib/tinybucket/resource/team/members_spec.rb +27 -0
- data/spec/lib/tinybucket/resource/team/repos_spec.rb +27 -0
- data/spec/lib/tinybucket/resource/user/followers_spec.rb +27 -0
- data/spec/lib/tinybucket/resource/user/following_spec.rb +27 -0
- data/spec/lib/tinybucket/resource/user/repos_spec.rb +27 -0
- data/spec/lib/tinybucket/resource/watchers_spec.rb +38 -0
- data/spec/support/api_response_macros.rb +45 -1
- metadata +77 -3
@@ -10,12 +10,13 @@ module Tinybucket
|
|
10
10
|
# @param block [Proc] a proc object to handle each item.
|
11
11
|
def initialize(iterator, block)
|
12
12
|
@iterator = iterator
|
13
|
+
@block = block
|
13
14
|
|
14
15
|
super() do |y|
|
15
16
|
loop do
|
16
|
-
|
17
|
-
m = block.call(
|
18
|
-
m
|
17
|
+
v = @iterator.next
|
18
|
+
m = @block ? @block.call(v) : v
|
19
|
+
y.yield(m)
|
19
20
|
end
|
20
21
|
end
|
21
22
|
|
data/lib/tinybucket/model.rb
CHANGED
@@ -5,6 +5,7 @@ module Tinybucket
|
|
5
5
|
include Concerns::AcceptableAttributes
|
6
6
|
include Concerns::Enumerable
|
7
7
|
include Concerns::Reloadable
|
8
|
+
include Concerns::ApiCallable
|
8
9
|
|
9
10
|
def self.concern_included?(concern_name)
|
10
11
|
mod_name = "Tinybucket::Model::Concerns::#{concern_name}".constantize
|
@@ -36,23 +37,6 @@ module Tinybucket
|
|
36
37
|
|
37
38
|
protected
|
38
39
|
|
39
|
-
def create_api(api_key, keys)
|
40
|
-
key = ('@' + api_key.underscore).intern
|
41
|
-
api = instance_variable_get(key)
|
42
|
-
return api if api.present?
|
43
|
-
|
44
|
-
api = create_instance(api_key)
|
45
|
-
api.repo_owner = keys[:repo_owner]
|
46
|
-
api.repo_slug = keys[:repo_slug]
|
47
|
-
instance_variable_set(key, api)
|
48
|
-
|
49
|
-
api
|
50
|
-
end
|
51
|
-
|
52
|
-
def create_instance(klass_name)
|
53
|
-
ApiFactory.create_instance(klass_name)
|
54
|
-
end
|
55
|
-
|
56
40
|
def logger
|
57
41
|
Tinybucket.logger
|
58
42
|
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
module Tinybucket
|
2
|
+
module Model
|
3
|
+
# Build Status
|
4
|
+
#
|
5
|
+
# @see https://confluence.atlassian.com/bitbucket/statuses-build-resource-779295267.html
|
6
|
+
# statuses/build Resource
|
7
|
+
#
|
8
|
+
# @!attribute [rw] state
|
9
|
+
# @return [String]
|
10
|
+
# @!attribute [rw] type
|
11
|
+
# @return [String]
|
12
|
+
# @!attribute [rw] key
|
13
|
+
# @return [String]
|
14
|
+
# @!attribute [rw] name
|
15
|
+
# @return [String]
|
16
|
+
# @!attribute [rw] url
|
17
|
+
# @return [String]
|
18
|
+
# @!attribute [rw] description
|
19
|
+
# @return [String]
|
20
|
+
# @!attribute [rw] links
|
21
|
+
# @return [Hash]
|
22
|
+
class BuildStatus < Base
|
23
|
+
include Tinybucket::Model::Concerns::RepositoryKeys
|
24
|
+
include Tinybucket::Model::Concerns::Reloadable
|
25
|
+
|
26
|
+
acceptable_attributes \
|
27
|
+
:state, :type, :key, :name, :url, :description, :links, \
|
28
|
+
:created_on, :updated_on
|
29
|
+
|
30
|
+
attr_accessor :revision
|
31
|
+
|
32
|
+
# Update build status
|
33
|
+
#
|
34
|
+
# @param options [Hash]
|
35
|
+
# @option options [String] :state
|
36
|
+
# @return [Tinybucket::Model::BuildStatus]
|
37
|
+
def update(options)
|
38
|
+
build_status_api.put(revision, key, options).tap do |m|
|
39
|
+
m.repo_keys = repo_keys
|
40
|
+
m.revision = revision
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
private
|
45
|
+
|
46
|
+
def build_status_api
|
47
|
+
create_api('BuildStatus', repo_keys)
|
48
|
+
end
|
49
|
+
|
50
|
+
def load_model
|
51
|
+
build_status_api.find(revision, key)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -36,14 +36,9 @@ module Tinybucket
|
|
36
36
|
# Get comments which associate with this commit.
|
37
37
|
#
|
38
38
|
# @param options [Hash]
|
39
|
-
# @return [Tinybucket::
|
40
|
-
# as {Tinybucket::Model::Comment} instance.
|
39
|
+
# @return [Tinybucket::Resource::Commit::Comments]
|
41
40
|
def comments(options = {})
|
42
|
-
|
43
|
-
comments_api,
|
44
|
-
:list,
|
45
|
-
options
|
46
|
-
) { |m| block_given? ? yield(m) : m }
|
41
|
+
comments_resource(options)
|
47
42
|
end
|
48
43
|
|
49
44
|
# Get the specific commit comment which associate with this commit.
|
@@ -52,13 +47,14 @@ module Tinybucket
|
|
52
47
|
# @param options [Hash]
|
53
48
|
# @return [Tinybucket::Model::Comment]
|
54
49
|
def comment(comment_id, options = {})
|
55
|
-
|
50
|
+
comments_resource.find(comment_id, options)
|
56
51
|
end
|
57
52
|
|
58
53
|
# Give approval on this commit.
|
59
54
|
#
|
60
55
|
# @param options [Hash]
|
61
|
-
# @return [true
|
56
|
+
# @return [true]
|
57
|
+
# @return [false]
|
62
58
|
def approve(options = {})
|
63
59
|
commit_api.approve(hash, options)
|
64
60
|
end
|
@@ -66,19 +62,40 @@ module Tinybucket
|
|
66
62
|
# Revoke approval on this commit.
|
67
63
|
#
|
68
64
|
# @param options [Hash]
|
69
|
-
# @return [true
|
65
|
+
# @return [true]
|
66
|
+
# @return [false]
|
70
67
|
def unapprove(options = {})
|
71
68
|
commit_api.unapprove(hash, options)
|
72
69
|
end
|
73
70
|
|
71
|
+
# Get build status resource
|
72
|
+
#
|
73
|
+
# @param options [Hash]
|
74
|
+
# @return [Tinybucket::Resource::Commit::BuildStatuses]
|
75
|
+
def build_statuses(options = {})
|
76
|
+
build_statuses_resource(options)
|
77
|
+
end
|
78
|
+
|
79
|
+
# Get the specific build status which associate with key.
|
80
|
+
#
|
81
|
+
# @param key [String]
|
82
|
+
# @param options [Hash]
|
83
|
+
# @return [Tinybucket::Model::BuildStatus]
|
84
|
+
# @return [nil] when build_status does not found.
|
85
|
+
def build_status(key, options = {})
|
86
|
+
build_statuses_resource.find(key, options)
|
87
|
+
rescue Tinybucket::Error::NotFound
|
88
|
+
nil
|
89
|
+
end
|
90
|
+
|
74
91
|
private
|
75
92
|
|
76
|
-
def
|
77
|
-
|
93
|
+
def comments_resource(options = {})
|
94
|
+
Tinybucket::Resource::Commit::Comments.new(self, options)
|
95
|
+
end
|
78
96
|
|
79
|
-
|
80
|
-
|
81
|
-
api
|
97
|
+
def build_statuses_resource(options = {})
|
98
|
+
Tinybucket::Resource::Commit::BuildStatuses.new(self, options)
|
82
99
|
end
|
83
100
|
|
84
101
|
def commit_api
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Tinybucket
|
2
|
+
module Model
|
3
|
+
module Concerns
|
4
|
+
module ApiCallable
|
5
|
+
protected
|
6
|
+
|
7
|
+
def create_api(name, keys = {})
|
8
|
+
api = ApiFactory.create_instance(name)
|
9
|
+
return api if keys.empty?
|
10
|
+
|
11
|
+
api.tap do |m|
|
12
|
+
m.repo_owner = keys[:repo_owner]
|
13
|
+
m.repo_slug = keys[:repo_slug]
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -31,50 +31,33 @@ module Tinybucket
|
|
31
31
|
# Get this user's followers
|
32
32
|
#
|
33
33
|
# @param options [Hash]
|
34
|
-
# @return [Tinybucket::
|
35
|
-
# as {Tinybucket::Model::Profile} instance.
|
34
|
+
# @return [Tinybucket::Resource::User::Followers]
|
36
35
|
def followers(options = {})
|
37
|
-
|
38
|
-
user_api,
|
39
|
-
:followers,
|
40
|
-
options
|
41
|
-
) { |m| block_given? ? yield(m) : m }
|
36
|
+
Tinybucket::Resource::User::Followers.new(username, options)
|
42
37
|
end
|
43
38
|
|
44
39
|
# Get users which this user is following
|
45
40
|
#
|
46
41
|
# @param options [Hash]
|
47
|
-
# @return [Tinybucket::
|
48
|
-
# as {Tinybucket::Model::Profile} instance.
|
42
|
+
# @return [Tinybucket::Resource::User::Following]
|
49
43
|
def following(options = {})
|
50
|
-
|
51
|
-
user_api,
|
52
|
-
:following,
|
53
|
-
options
|
54
|
-
) { |m| block_given? ? yield(m) : m }
|
44
|
+
Tinybucket::Resource::User::Following.new(username, options)
|
55
45
|
end
|
56
46
|
|
57
47
|
# Get this user's repositories
|
58
48
|
#
|
59
49
|
# @param options [Hash]
|
60
|
-
# @return [Tinybucket::
|
61
|
-
# as {Tinybucket::Model::Repository} instance.
|
50
|
+
# @return [Tinybucket::Resource::User::Repos]
|
62
51
|
def repos(options = {})
|
63
|
-
|
64
|
-
user_api,
|
65
|
-
:repos,
|
66
|
-
options
|
67
|
-
) { |m| block_given? ? yield(m) : m }
|
52
|
+
Tinybucket::Resource::User::Repos.new(username, options)
|
68
53
|
end
|
69
54
|
|
70
55
|
private
|
71
56
|
|
72
57
|
def user_api
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
@user.username = username
|
77
|
-
@user
|
58
|
+
create_api('User').tap do |api|
|
59
|
+
api.username = username
|
60
|
+
end
|
78
61
|
end
|
79
62
|
|
80
63
|
def load_model
|
@@ -55,14 +55,6 @@ module Tinybucket
|
|
55
55
|
:created_on, :author, :updated_on, :merge_commit, :closed_by,
|
56
56
|
:reviewers, :participants, :uuid, :type
|
57
57
|
|
58
|
-
# Create a new pull request.
|
59
|
-
#
|
60
|
-
# @todo to be implemented.
|
61
|
-
# @raise [NotImplementedError] to be implemented.
|
62
|
-
def create(_params)
|
63
|
-
raise NotImplementedError
|
64
|
-
end
|
65
|
-
|
66
58
|
# Update this pull request.
|
67
59
|
#
|
68
60
|
# @todo to be implemented.
|
@@ -98,36 +90,26 @@ module Tinybucket
|
|
98
90
|
# Get commits associated with this pull request.
|
99
91
|
#
|
100
92
|
# @param options [Hash]
|
101
|
-
# @return [Tinybucket::
|
102
|
-
# as {Tinybucket::Model::Commit} instance.
|
93
|
+
# @return [Tinybucket::Resource::PullRequest::Commits]
|
103
94
|
def commits(options = {})
|
104
|
-
|
105
|
-
pull_request_api,
|
106
|
-
:commits,
|
107
|
-
id,
|
108
|
-
options
|
109
|
-
) { |m| block_given? ? yield(m) : m }
|
95
|
+
commits_resource(options)
|
110
96
|
end
|
111
97
|
|
112
98
|
# Get comments on this pull request.
|
113
99
|
#
|
114
100
|
# @param options [Hash]
|
115
|
-
# @return [Tinybucket::
|
116
|
-
# as {Tinybucket::Model::Comment} instance.
|
101
|
+
# @return [Tinybucket::Resource::PullRequest::Comments]
|
117
102
|
def comments(options = {})
|
118
|
-
|
119
|
-
comment_api,
|
120
|
-
:list,
|
121
|
-
options
|
122
|
-
) { |m| block_given? ? yield(m) : m }
|
103
|
+
comments_resource(options)
|
123
104
|
end
|
124
105
|
|
125
106
|
# Get the specific comment on this pull request.
|
126
107
|
#
|
108
|
+
# @param comment_id [String]
|
127
109
|
# @param options [Hash]
|
128
110
|
# @return [Tinybucket::Model::Comment]
|
129
111
|
def comment(comment_id, options = {})
|
130
|
-
|
112
|
+
comments_resource.find(comment_id, options)
|
131
113
|
end
|
132
114
|
|
133
115
|
# Get the diff for this pull request.
|
@@ -146,12 +128,20 @@ module Tinybucket
|
|
146
128
|
pull_request_api.merge(id, options)
|
147
129
|
end
|
148
130
|
|
131
|
+
# Get activities on this pull requests.
|
132
|
+
#
|
133
|
+
def activities(_options = {})
|
134
|
+
raise NotImplementedError
|
135
|
+
end
|
136
|
+
|
149
137
|
private
|
150
138
|
|
151
|
-
def
|
152
|
-
|
153
|
-
|
154
|
-
|
139
|
+
def commits_resource(options = {})
|
140
|
+
Tinybucket::Resource::PullRequest::Commits.new(self, options)
|
141
|
+
end
|
142
|
+
|
143
|
+
def comments_resource(options = {})
|
144
|
+
Tinybucket::Resource::PullRequest::Comments.new(self, options)
|
155
145
|
end
|
156
146
|
|
157
147
|
def pull_request_api
|
@@ -58,14 +58,6 @@ module Tinybucket
|
|
58
58
|
end
|
59
59
|
end
|
60
60
|
|
61
|
-
# Create a new repository.
|
62
|
-
#
|
63
|
-
# @todo to be implemented.
|
64
|
-
# @raise [NotImplementedError] to be implemented.
|
65
|
-
def create(_params)
|
66
|
-
raise NotImplementedError
|
67
|
-
end
|
68
|
-
|
69
61
|
# Remove this repository
|
70
62
|
#
|
71
63
|
# @todo to be implemented.
|
@@ -80,14 +72,7 @@ module Tinybucket
|
|
80
72
|
# @return [Tinybucket::Enumerator] an enumerator to enumerate
|
81
73
|
# pull requests as {Tinybucket::Model::PullRequest} instance.
|
82
74
|
def pull_requests(options = {})
|
83
|
-
|
84
|
-
pull_requests_api,
|
85
|
-
:list,
|
86
|
-
options
|
87
|
-
) do |m|
|
88
|
-
inject_repo_keys(m)
|
89
|
-
block_given? ? yield(m) : m
|
90
|
-
end
|
75
|
+
pull_requests_resource(options)
|
91
76
|
end
|
92
77
|
|
93
78
|
# Get the specific pull request on this repository.
|
@@ -95,61 +80,32 @@ module Tinybucket
|
|
95
80
|
# @param pullrequest_id [String]
|
96
81
|
# @param options [Hash]
|
97
82
|
# @return [Tinybucket::Model::PullRequest]
|
98
|
-
def pull_request(pullrequest_id
|
99
|
-
|
100
|
-
pull_requests_api.find(pullrequest_id, options)
|
101
|
-
else
|
102
|
-
Tinybucket::Model::PullRequest.new({})
|
103
|
-
end
|
104
|
-
inject_repo_keys(m)
|
83
|
+
def pull_request(pullrequest_id, options = {})
|
84
|
+
pull_requests_resource.find(pullrequest_id, options)
|
105
85
|
end
|
106
86
|
|
107
87
|
# Get watchers on this repository.
|
108
88
|
#
|
109
89
|
# @param options [Hash]
|
110
|
-
# @return [Tinybucket::
|
111
|
-
# as {Tinybucket::Model::Profile} instance.
|
90
|
+
# @return [Tinybucket::Resource::Watchers]
|
112
91
|
def watchers(options = {})
|
113
|
-
|
114
|
-
repo_api,
|
115
|
-
:watchers,
|
116
|
-
options
|
117
|
-
) do |m|
|
118
|
-
inject_repo_keys(m)
|
119
|
-
block_given? ? yield(m) : m
|
120
|
-
end
|
92
|
+
watchers_resource(options)
|
121
93
|
end
|
122
94
|
|
123
95
|
# Get repository forks.
|
124
96
|
#
|
125
97
|
# @param options [Hash]
|
126
|
-
# @return [Tinybucket::
|
127
|
-
# as {Tinybucket::Model::Repository} instance.
|
98
|
+
# @return [Tinybucket::Resource::Forks]
|
128
99
|
def forks(options = {})
|
129
|
-
|
130
|
-
repo_api,
|
131
|
-
:forks,
|
132
|
-
options
|
133
|
-
) do |m|
|
134
|
-
inject_repo_keys(m)
|
135
|
-
block_given? ? yield(m) : m
|
136
|
-
end
|
100
|
+
forks_resource(options)
|
137
101
|
end
|
138
102
|
|
139
103
|
# Get commits on this repository.
|
140
104
|
#
|
141
105
|
# @param options [Hash]
|
142
|
-
# @return [Tinybucket::
|
143
|
-
# as {Tinybucket::Model::Commit} instance.
|
106
|
+
# @return [Tinybucket::Resource::Commits]
|
144
107
|
def commits(options = {})
|
145
|
-
|
146
|
-
commits_api,
|
147
|
-
:list,
|
148
|
-
options
|
149
|
-
) do |m|
|
150
|
-
inject_repo_keys(m)
|
151
|
-
block_given? ? yield(m) : m
|
152
|
-
end
|
108
|
+
commits_resource(options)
|
153
109
|
end
|
154
110
|
|
155
111
|
# Get the specific commit on this repository.
|
@@ -158,25 +114,15 @@ module Tinybucket
|
|
158
114
|
# @param options [Hash]
|
159
115
|
# @return [Tinybucket::Model::Commit]
|
160
116
|
def commit(revision, options = {})
|
161
|
-
|
162
|
-
inject_repo_keys(m)
|
117
|
+
commits_resource.find(revision, options)
|
163
118
|
end
|
164
119
|
|
165
120
|
# Get the branch restriction information associated with this repository.
|
166
121
|
#
|
167
122
|
# @param options [Hash]
|
168
|
-
# @return [Tinybucket::
|
169
|
-
# branch restriction information as
|
170
|
-
# {Tinybucket::Model::BranchRestriction} instance.
|
123
|
+
# @return [Tinybucket::Resource::BranchRestrictions]
|
171
124
|
def branch_restrictions(options = {})
|
172
|
-
|
173
|
-
restrictions_api,
|
174
|
-
:list,
|
175
|
-
options
|
176
|
-
) do |m|
|
177
|
-
inject_repo_keys(m)
|
178
|
-
block_given? ? yield(m) : m
|
179
|
-
end
|
125
|
+
branch_restrictions_resource(options)
|
180
126
|
end
|
181
127
|
|
182
128
|
# Get the specific branch restriction information on this repository.
|
@@ -185,8 +131,7 @@ module Tinybucket
|
|
185
131
|
# @param options [Hash]
|
186
132
|
# @return [Tinybucket::Model::BranchRestriction]
|
187
133
|
def branch_restriction(restriction_id, options = {})
|
188
|
-
|
189
|
-
inject_repo_keys(m)
|
134
|
+
branch_restrictions_resource.find(restriction_id, options)
|
190
135
|
end
|
191
136
|
|
192
137
|
# Get the diff for this repository.
|
@@ -210,20 +155,28 @@ module Tinybucket
|
|
210
155
|
|
211
156
|
private
|
212
157
|
|
213
|
-
def
|
214
|
-
|
158
|
+
def branch_restrictions_resource(options = {})
|
159
|
+
Tinybucket::Resource::BranchRestrictions.new(self, options)
|
215
160
|
end
|
216
161
|
|
217
|
-
def
|
218
|
-
|
162
|
+
def commits_resource(options = {})
|
163
|
+
Tinybucket::Resource::Commits.new(self, options)
|
164
|
+
end
|
165
|
+
|
166
|
+
def pull_requests_resource(options = {})
|
167
|
+
Tinybucket::Resource::PullRequests.new(self, options)
|
168
|
+
end
|
169
|
+
|
170
|
+
def watchers_resource(options = {})
|
171
|
+
Tinybucket::Resource::Watchers.new(self, options)
|
219
172
|
end
|
220
173
|
|
221
|
-
def
|
222
|
-
|
174
|
+
def forks_resource(options = {})
|
175
|
+
Tinybucket::Resource::Forks.new(self, options)
|
223
176
|
end
|
224
177
|
|
225
|
-
def
|
226
|
-
create_api('
|
178
|
+
def repo_api
|
179
|
+
create_api('Repo', repo_keys)
|
227
180
|
end
|
228
181
|
|
229
182
|
def diff_api
|