File tree Expand file tree Collapse file tree 5 files changed +101
-2
lines changed Expand file tree Collapse file tree 5 files changed +101
-2
lines changed Original file line number Diff line number Diff line change @@ -10,7 +10,10 @@ class Repos < API
1010 :Keys => 'keys' ,
1111 :Services => 'services' ,
1212 :Following => 'following' ,
13- :Sources => 'sources'
13+ :Sources => 'sources' ,
14+ :Forks => 'forks' ,
15+ :Commits => 'commits' ,
16+ :Download => 'download'
1417
1518 DEFAULT_REPO_OPTIONS = {
1619 "website" => "" ,
@@ -63,7 +66,15 @@ def sources
6366 def services
6467 @services ||= ApiFactory . new 'Repos::Services'
6568 end
66-
69+ def forks
70+ @services ||= ApiFactory . new 'Repos::Forks'
71+ end
72+ def commits
73+ @services ||=ApiFactory . new 'Repos::Commits'
74+ end
75+ def download
76+ @services ||=ApiFactory . new "Repos::Download"
77+ end
6778 # List branches
6879 #
6980 # = Examples
Original file line number Diff line number Diff line change 1+ # encoding: utf-8
2+
3+ module BitBucket
4+ class Repos ::Commits < API
5+
6+ def get ( user_name , repo_name )
7+ _update_user_repo_params ( user_name , repo_name )
8+ _validate_user_repo_params ( user , repo ) unless user? && repo?
9+ get_request ( "/repositories/#{ user } /#{ repo . downcase } /commits" )
10+ end
11+
12+
13+ end # Repos::Keys
14+ end # BitBucket
Original file line number Diff line number Diff line change 1+ # encoding: utf-8
2+
3+ module BitBucket
4+ class Repos ::Download < API
5+ REQUIRED_KEY_PARAM_NAMES = %w[ commit_hash ] . freeze
6+ def get ( user_name , repo_name , params = { } )
7+ _update_user_repo_params ( user_name , repo_name )
8+ _validate_user_repo_params ( user , repo ) unless user? && repo?
9+ # normalize! params
10+ # assert_required_keys(REQUIRED_KEY_PARAM_NAMES, params)
11+
12+ #https://bitbucket.org/jhanley85/eternum_canvas_demo/get/fd931f96f12d.zip
13+ "https://bitbucket.org/#{ user } /#{ repo . downcase } /get/#{ params [ :commit_hash ] } .tar.gz"
14+ end
15+
16+
17+
18+
19+
20+ end # Repos::Keys
21+ end # BitBucket
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
Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ module Request
1010 def get_request ( path , params = { } , options = { } )
1111 request ( :get , path , params , options )
1212 end
13+
1314
1415 def patch_request ( path , params = { } , options = { } )
1516 request ( :patch , path , params , options )
You can’t perform that action at this time.
0 commit comments