File tree Expand file tree Collapse file tree 2 files changed +57
-2
lines changed Expand file tree Collapse file tree 2 files changed +57
-2
lines changed Original file line number Diff line number Diff line change @@ -10,7 +10,8 @@ class Repos < API
1010 :Keys => 'keys' ,
1111 :Services => 'services' ,
1212 :Following => 'following' ,
13- :Sources => 'sources'
13+ :Sources => 'sources' ,
14+ :Forks => 'forks'
1415
1516 DEFAULT_REPO_OPTIONS = {
1617 "website" => "" ,
@@ -63,7 +64,9 @@ def sources
6364 def services
6465 @services ||= ApiFactory . new 'Repos::Services'
6566 end
66-
67+ def forks
68+ @services ||= ApiFactory . new 'Repos::Forks'
69+ end
6770 # List branches
6871 #
6972 # = Examples
Original file line number Diff line number Diff line change 1+ # encoding: utf-8
2+
3+ module BitBucket
4+ class Repos ::Forks < API
5+
6+ REQUIRED_KEY_PARAM_NAMES = %w[ name ] . freeze
7+ DEFAULT_REPO_OPTIONS = {
8+ "website" => "" ,
9+ "is_private" => false ,
10+ "has_issues" => false ,
11+ "has_wiki" => false ,
12+ "scm" => "git" ,
13+ "no_public_forks" => false
14+ } . freeze
15+
16+ VALID_REPO_OPTIONS = %w[
17+ owner
18+ name
19+ description
20+ website
21+ is_private
22+ has_issues
23+ has_wiki
24+ no_public_forks
25+ language
26+ scm
27+ ] . freeze
28+
29+
30+ # Create a fork
31+ #
32+ # = Inputs
33+ # * <tt>:type</tt> - One of the supported services. The type is a case-insensitive value.
34+ #
35+ # = Examples
36+ # bitbucket = BitBucket.new
37+ # bitbucket.repos.forks.create 'user-name', 'repo-name',
38+ # "name" => "Basecamp",
39+ #
40+ def create ( user_name , repo_name , params = { } )
41+ _update_user_repo_params ( user_name , repo_name )
42+ _validate_user_repo_params ( user , repo ) unless user? && repo?
43+ normalize! params
44+ assert_required_keys ( REQUIRED_KEY_PARAM_NAMES , params )
45+ filter! VALID_REPO_OPTIONS , params
46+
47+ post_request ( "/repositories/#{ user } /#{ repo . downcase } /fork" , params )
48+ end
49+
50+
51+ end # Repos::Keys
52+ end # BitBucket
You can’t perform that action at this time.
0 commit comments