octokit 1.15.1 → 1.17.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # CHANGELOG
2
2
 
3
+ * [1.17.0 - October 8, 2012](https://github.com/pengwynn/octokit/compare/v1.16.0...v1.17.0)
4
+ * [1.16.0 - September 25,2012](https://github.com/pengwynn/octokit/compare/v1.15.1...v1.16.0)
3
5
  * [1.15.1 - September 24,2012](https://github.com/pengwynn/octokit/compare/v1.15.0...v1.15.1)
4
6
  * [1.15.0 - September 24,2012](https://github.com/pengwynn/octokit/compare/v1.14.0...v1.15.0)
5
7
  * [1.14.0 - September 22,2012](https://github.com/pengwynn/octokit/compare/v1.13.0...v1.14.0)
@@ -81,6 +81,62 @@ module Octokit
81
81
  get("repos/#{Repository.new(repo)}/comments/#{id}", options, 3)
82
82
  end
83
83
 
84
+ # Create a commit comment
85
+ #
86
+ # @param repo [String, Hash, Repository] A GitHub repository
87
+ # @param sha [String] Sha of the commit to comment on
88
+ # @param body [String] Message
89
+ # @param path [String] Relative path of file to comment on
90
+ # @param line [Integer] Line number in the file to comment on
91
+ # @param position [Integer] Line index in the diff to comment on
92
+ # @return [Hashie::Mash] A hash representing the new commit comment
93
+ # @see http://developer.github.com/v3/repos/comments/
94
+ # @example Create a commit comment
95
+ # commit = Octokit.create_commit_comment("octocat/Hello-World", "827efc6d56897b048c772eb4087f854f46256132", "My comment message", "README.md", 10, 1)
96
+ # commit.commit_id # => "827efc6d56897b048c772eb4087f854f46256132"
97
+ # commit.body # => "My comment message"
98
+ # commit.path # => "README.md"
99
+ # commit.line # => 10
100
+ # commit.position # => 1
101
+ def create_commit_comment(repo, sha, body, path=nil, line=nil, position=nil, options={})
102
+ params = {
103
+ :body => body,
104
+ :commit_id => sha,
105
+ :path => path,
106
+ :line => line,
107
+ :position => position
108
+ }
109
+ post("repos/#{Repository.new(repo)}/commits/#{sha}/comments", options.merge(params), 3)
110
+ end
111
+
112
+ # Update a commit comment
113
+ #
114
+ # @param repo [String, Hash, Repository] A GitHub repository
115
+ # @param id [String] The ID of the comment to update
116
+ # @param body [String] Message
117
+ # @return [Hashie::Mash] A hash representing the updated commit comment
118
+ # @see http://developer.github.com/v3/repos/comments/
119
+ # @example Update a commit comment
120
+ # commit = Octokit.update_commit_comment("octocat/Hello-World", "860296", "Updated commit comment")
121
+ # commit.id # => 860296
122
+ # commit.body # => "Updated commit comment"
123
+ def update_commit_comment(repo, id, body, options={})
124
+ params = {
125
+ :body => body
126
+ }
127
+ patch("repos/#{Repository.new(repo)}/comments/#{id}", options.merge(params), 3)
128
+ end
129
+
130
+ # Delete a commit comment
131
+ #
132
+ # @param repo [String, Hash, Repository] A GitHub repository
133
+ # @param id [String] The ID of the comment to delete
134
+ # @return [nil] nil
135
+ # @see http://developer.github.com/v3/repos/comments/
136
+ def delete_commit_comment(repo, id, options={})
137
+ delete("repos/#{Repository.new(repo)}/comments/#{id}", options, 3)
138
+ end
139
+
84
140
  # Compare two commits
85
141
  #
86
142
  # @param repo [String, Hash, Repository] A GitHub repository
@@ -2,32 +2,108 @@ module Octokit
2
2
  class Client
3
3
  module Gists
4
4
 
5
- def create_gist(options={})
6
- post 'gists', options, 3
5
+ # List gists for a user or all public gists
6
+ #
7
+ # @param username [String] An optional user to filter listing
8
+ # @return [Array<Hashie::Mash>] A list of gists
9
+ # @example Fetch all gists for defunkt
10
+ # Octokit.gists('defunkt')
11
+ # @example Fetch all public gists
12
+ # Octokit.gists
13
+ # @see http://developer.github.com/v3/gists/#list-gists
14
+ def gists(username=nil, options={})
15
+ if username.nil?
16
+ get 'gists', options, 3
17
+ else
18
+ get "users/#{username}/gists", options, 3
19
+ end
7
20
  end
21
+ alias :list_gists :gists
8
22
 
9
- def delete_gist(gist, options={})
10
- response = delete("gists/#{Gist.new gist}", options, 3, true, true)
11
- response.status == 204
23
+ # List public gists
24
+ #
25
+ # @return [Array<Hashie::Mash>] A list of gists
26
+ # @example Fetch all public gists
27
+ # Octokit.public_gists
28
+ # @see http://developer.github.com/v3/gists/#list-gists
29
+ def public_gists(options={})
30
+ get 'gists/public', options, 3
12
31
  end
13
32
 
14
- def edit_gist(gist, options={})
15
- patch "gists/#{Gist.new gist}", options, 3
33
+ # List the authenticated user’s starred gists
34
+ #
35
+ # @return [Array<Hashie::Mash>] A list of gists
36
+ def starred_gists(options={})
37
+ get 'gists/starred', options, 3
16
38
  end
17
39
 
40
+ # Get a single gist
41
+ #
42
+ # @param gist [String] ID of gist to fetch
43
+ # @return [Hash::Mash] Gist information
44
+ # @see http://developer.github.com/v3/gists/#get-a-single-gist
18
45
  def gist(gist, options={})
19
46
  get "gists/#{Gist.new gist}", options, 3
20
47
  end
21
48
 
22
- def gists(username=nil, options={})
23
- if username.nil?
24
- get 'gists', options, 3
25
- else
26
- get "users/#{username}/gists", options, 3
27
- end
49
+ # Create a gist
50
+ #
51
+ # @param options [Hash] Gist information.
52
+ # @option options [String] :description
53
+ # @option options [Boolean] :public Sets gist visibility
54
+ # @option options [Array<Hash>] :files Files that make up this gist. Keys
55
+ # should be the filename, the value a Hash with a :content key with text
56
+ # conent of the Gist.
57
+ # @return [Hashie::Mash] Newly created gist info
58
+ # @see http://developer.github.com/v3/gists/#create-a-gist
59
+ def create_gist(options={})
60
+ post 'gists', options, 3
28
61
  end
29
62
 
30
- # Returns +true+ if +gist+ is starred, +false+ otherwise.
63
+ # Edit a gist
64
+ #
65
+ # @param options [Hash] Gist information.
66
+ # @option options [String] :description
67
+ # @option options [Boolean] :public Sets gist visibility
68
+ # @option options [Array<Hash>] :files Files that make up this gist. Keys
69
+ # should be the filename, the value a Hash with a :content key with text
70
+ # conent of the Gist.
71
+ #
72
+ # NOTE: All files from the previous version of the
73
+ # gist are carried over by default if not included in the hash. Deletes
74
+ # can be performed by including the filename with a null hash.
75
+ # @return
76
+ # [Hashie::Mash] Newly created gist info
77
+ # @see http://developer.github.com/v3/gists/#edit-a-gist
78
+ def edit_gist(gist, options={})
79
+ patch "gists/#{Gist.new gist}", options, 3
80
+ end
81
+ #
82
+ # Star a gist
83
+ #
84
+ # @param gist [String] Gist ID
85
+ # @return [Boolean] Indicates if gist is starred successfully
86
+ # @see http://developer.github.com/v3/gists/#star-a-gist
87
+ def star_gist(gist, options={})
88
+ response = put("gists/#{Gist.new gist}/star", options, 3, true, true)
89
+ response.status == 204
90
+ end
91
+
92
+ # Unstar a gist
93
+ #
94
+ # @param gist [String] Gist ID
95
+ # @return [Boolean] Indicates if gist is unstarred successfully
96
+ # @see http://developer.github.com/v3/gists/#unstar-a-gist
97
+ def unstar_gist(gist, options={})
98
+ response = delete("gists/#{Gist.new gist}/star", options, 3, true, true)
99
+ response.status == 204
100
+ end
101
+
102
+ # Check if a gist is starred
103
+ #
104
+ # @param gist [String] Gist ID
105
+ # @return [Boolean] Indicates if gist is starred
106
+ # @see http://developer.github.com/v3/gists/#check-if-a-gist-is-starred
31
107
  def gist_starred?(gist, options={})
32
108
  begin
33
109
  get("gists/#{Gist.new gist}/star", options, 3, true, true)
@@ -37,27 +113,22 @@ module Octokit
37
113
  end
38
114
  end
39
115
 
116
+ # Fork a gist
117
+ #
118
+ # @param gist [String] Gist ID
119
+ # @return [Hashie::Mash] Data for the new gist
120
+ # @see http://developer.github.com/v3/gists/#fork-a-gist
40
121
  def fork_gist(gist, options={})
41
122
  post "gists/#{Gist.new gist}/fork", options, 3
42
123
  end
43
124
 
44
- def public_gists(options={})
45
- get 'gists', options, 3
46
- end
47
-
48
- def starred_gists(options={})
49
- get 'gists/starred', options, 3
50
- end
51
-
52
- # Returns +true+ or +false+ based on success.
53
- def star_gist(gist, options={})
54
- response = put("gists/#{Gist.new gist}/star", options, 3, true, true)
55
- response.status == 204
56
- end
57
-
58
- # Returns +true+ or +false+ based on success.
59
- def unstar_gist(gist, options={})
60
- response = delete("gists/#{Gist.new gist}/star", options, 3, true, true)
125
+ # Delete a gist
126
+ #
127
+ # @param gist [String] Gist ID
128
+ # @return [Boolean] Indicating success of deletion
129
+ # @see http://developer.github.com/v3/gists/#delete-a-gist
130
+ def delete_gist(gist, options={})
131
+ response = delete("gists/#{Gist.new gist}", options, 3, true, true)
61
132
  response.status == 204
62
133
  end
63
134
 
@@ -15,13 +15,14 @@ module Octokit
15
15
  get("legacy/issues/search/#{Repository.new(repo)}/#{state}/#{search_term}", options, 3)['issues']
16
16
  end
17
17
 
18
- # List issues for a repository
18
+ # List issues for a the authenticated user or repository
19
19
  #
20
20
  # @param repository [String, Repository, Hash] A GitHub repository.
21
21
  # @param options [Hash] A customizable set of options.
22
22
  # @option options [Integer] :milestone Milestone number.
23
23
  # @option options [String] :state (open) State: <tt>open</tt> or <tt>closed</tt>.
24
24
  # @option options [String] :assignee User login.
25
+ # @option options [String] :creator User login.
25
26
  # @option options [String] :mentioned User login.
26
27
  # @option options [String] :labels List of comma separated Label names. Example: <tt>bug,ui,@high</tt>.
27
28
  # @option options [String] :sort (created) Sort: <tt>created</tt>, <tt>updated</tt>, or <tt>comments</tt>.
@@ -31,8 +32,14 @@ module Octokit
31
32
  # @see http://developer.github.com/v3/issues/#list-issues-for-this-repository
32
33
  # @example List issues for a repository
33
34
  # Octokit.list_issues("sferik/rails_admin")
34
- def list_issues(repository, options={})
35
- get("repos/#{Repository.new(repository)}/issues", options, 3)
35
+ # @example List issues for the authenticted user across repositories
36
+ # @client = Octokit::Client.new(:login => 'foo', :password => 'bar')
37
+ # @client.list_issues
38
+ def list_issues(repository = nil, options={})
39
+ path = ''
40
+ path = "repos/#{Repository.new(repository)}" if repository
41
+ path += "/issues"
42
+ get(path, options, 3)
36
43
  end
37
44
  alias :issues :list_issues
38
45
 
@@ -22,7 +22,12 @@ module Octokit
22
22
  alias :list_orgs :organizations
23
23
  alias :orgs :organizations
24
24
 
25
- def organization_repositories(org=nil, options={})
25
+ # List organization repositories
26
+ #
27
+ # @see http://developer.github.com/v3/repos/#list-organization-repositories
28
+ # @param org [String] Organization handle for which to list repos
29
+ # @return [Array<Hashie::Mash>] List of repositories
30
+ def organization_repositories(org, options={})
26
31
  get("orgs/#{org}/repos", options, 3)
27
32
  end
28
33
  alias :org_repositories :organization_repositories
@@ -1,6 +1,43 @@
1
1
  module Octokit
2
2
  class Client
3
3
  module Pulls
4
+ # List pull requests for a repository
5
+ #
6
+ # @see http://developer.github.com/v3/pulls/#list-pull-requests
7
+ # @param repo [String, Hash, Repository] A GitHub repository
8
+ # @param options [Hash] Method options
9
+ # @option options [String] :state `open` or `closed`. Default is `open`.
10
+ # @return [Array<Hashie::Mash>] Array of pulls
11
+ # @example
12
+ # Octokit.pull_requests('rails/rails')
13
+ def pull_requests(repo, state='open', options={})
14
+ get("repos/#{Repository.new(repo)}/pulls", options.merge({:state => state}), 3)
15
+ end
16
+ alias :pulls :pull_requests
17
+
18
+ # Get a pull request
19
+ #
20
+ # @see http://developer.github.com/v3/pulls/#get-a-single-pull-request
21
+ # @param repo [String, Hash, Repository] A GitHub repository
22
+ # @param number [Integer] Number of the pull request to fetch
23
+ # @return [Hashie::Mash] Pull request info
24
+ def pull_request(repo, number, options={})
25
+ get("repos/#{Repository.new(repo)}/pulls/#{number}", options)
26
+ end
27
+ alias :pull :pull_request
28
+
29
+ # Create a pull request
30
+ #
31
+ # @see http://developer.github.com/v3/pulls/#create-a-pull-request
32
+ # @param repo [String, Hash, Repository] A GitHub repository
33
+ # @param base [String] The branch (or git ref) you want your changes
34
+ # pulled into. This should be an existing branch on the current
35
+ # repository. You cannot submit a pull request to one repo that requests
36
+ # a merge to a base of another repo.
37
+ # @param head [String] The branch (or git ref) where your changes are implemented.
38
+ # @param title [String] Title for the pull request
39
+ # @param body [String] The body for the pull request. Supports GFM.
40
+ # @return [Hashie::Mash] The newly created pull request
4
41
  def create_pull_request(repo, base, head, title, body, options={})
5
42
  pull = {
6
43
  :base => base,
@@ -11,6 +48,17 @@ module Octokit
11
48
  post("repos/#{Repository.new(repo)}/pulls", options.merge(pull))
12
49
  end
13
50
 
51
+ # Create a pull request from existing issue
52
+ #
53
+ # @see http://developer.github.com/v3/pulls/#alternative-input
54
+ # @param repo [String, Hash, Repository] A GitHub repository
55
+ # @param base [String] The branch (or git ref) you want your changes
56
+ # pulled into. This should be an existing branch on the current
57
+ # repository. You cannot submit a pull request to one repo that requests
58
+ # a merge to a base of another repo.
59
+ # @param head [String] The branch (or git ref) where your changes are implemented.
60
+ # @param issue [Integer] Number of Issue on which to base this pull request
61
+ # @return [Hashie::Mash] The newly created pull request
14
62
  def create_pull_request_for_issue(repo, base, head, issue, options={})
15
63
  pull = {
16
64
  :base => base,
@@ -20,24 +68,69 @@ module Octokit
20
68
  post("repos/#{Repository.new(repo)}/pulls", options.merge(pull))
21
69
  end
22
70
 
23
- def pull_requests(repo, state='open', options={})
24
- get("repos/#{Repository.new(repo)}/pulls", options.merge({:state => state}), 3)
25
- end
26
- alias :pulls :pull_requests
27
-
28
- def pull_request(repo, number, options={})
29
- get("repos/#{Repository.new(repo)}/pulls/#{number}", options)
30
- end
31
- alias :pull :pull_request
32
71
 
72
+ # List commits on a pull request
73
+ #
74
+ # @see http://developer.github.com/v3/pulls/#list-commits-on-a-pull-request
75
+ # @param repo [String, Hash, Repository] A GitHub repository
76
+ # @param number [Integer] Number of pull request
77
+ # @return [Array<Hashie::Mash>] List of commits
33
78
  def pull_request_commits(repo, number, options={})
34
79
  get("repos/#{Repository.new(repo)}/pulls/#{number}/commits", options)
35
80
  end
36
81
  alias :pull_commits :pull_request_commits
37
82
 
83
+ # List comments on a pull request
84
+ #
85
+ # @see http://developer.github.com/v3/pulls/#list-comments-on-a-pull-request
86
+ # @param repo [String, Hash, Repository] A GitHub repository
87
+ # @param number [Integer] Number of pull request
88
+ # @return [Array<Hashie::Mash>] List of comments
89
+ def pull_request_comments(repo, number, options={})
90
+ # return the comments for a pull request
91
+ get("repos/#{Repository.new(repo)}/pulls/#{number}/comments", options)
92
+ end
93
+ alias :pull_comments :pull_request_comments
94
+ alias :review_comments :pull_request_comments
95
+
96
+ # List files on a pull request
97
+ #
98
+ # @see http://developer.github.com/v3/pulls/#list-files-on-a-pull-request
99
+ # @param repo [String, Hash, Repository] A GitHub repository
100
+ # @param number [Integer] Number of pull request
101
+ # @return [Array<Hashie::Mash>] List of files
102
+ def pull_request_files(repo, number, options={})
103
+ get("repos/#{Repository.new(repo)}/pulls/#{number}/files", options)
104
+ end
105
+ alias :pull_files :pull_request_files
106
+
107
+ # Merge a pull request
108
+ #
109
+ # @see http://developer.github.com/v3/pulls/#merge-a-pull-request-merge-buttontrade
110
+ # @param repo [String, Hash, Repository] A GitHub repository
111
+ # @param number [Integer] Number of pull request
112
+ # @param commit_message [String] Optional commit message for the merge commit
113
+ # @return [Array<Hashie::Mash>] Merge commit info if successful
38
114
  def merge_pull_request(repo, number, commit_message='', options={})
39
115
  put("repos/#{Repository.new(repo)}/pulls/#{number}/merge", options.merge({:commit_message => commit_message}))
40
116
  end
117
+
118
+ # Check pull request merge status
119
+ #
120
+ # @see http://developer.github.com/v3/pulls/#get-if-a-pull-request-has-been-merged
121
+ # @param repo [String, Hash, Repository] A GitHub repository
122
+ # @param number [Integer] Number of pull request
123
+ # @return [Boolean] True if the pull request has been merged
124
+ def pull_merged?(repo, number, options={})
125
+ begin
126
+ get("repos/#{Repository.new(repo)}/pulls/#{number}/merged", options)
127
+ return true
128
+ rescue Octokit::NotFound
129
+ return false
130
+ end
131
+ end
132
+ alias :pull_request_merged? :pull_merged?
133
+
41
134
  end
42
135
  end
43
136
  end
@@ -1,16 +1,40 @@
1
1
  module Octokit
2
2
  class Client
3
3
  module Repositories
4
+
5
+ # Legacy repository search
6
+ #
7
+ # @see http://developer.github.com/v3/search/#search-repositories
8
+ # @param q [String] Search keyword
9
+ # @return [Array<Hashie::Mash>] List of repositories found
4
10
  def search_repositories(q, options={})
5
11
  get("legacy/repos/search/#{q}", options, 3)['repositories']
6
12
  end
7
13
  alias :search_repos :search_repositories
8
14
 
15
+ # Get a single repository
16
+ #
17
+ # @see http://developer.github.com/v3/repos/#get
18
+ # @param repo [String, Hash, Repository] A GitHub repository
19
+ # @return [Hashie::Mash] Repository information
9
20
  def repository(repo, options={})
10
21
  get "repos/#{Repository.new repo}", options, 3
11
22
  end
12
23
  alias :repo :repository
13
24
 
25
+ # Edit a repository
26
+ #
27
+ # @see http://developer.github.com/v3/repos/#edit
28
+ # @param repo [String, Hash, Repository] A GitHub repository
29
+ # @param options [Hash] Repository information to update
30
+ # @option options [String] :name Name of the repo
31
+ # @option options [String] :description Description of the repo
32
+ # @option options [String] :homepage Home page of the repo
33
+ # @option options [String] :private `true` makes the repository private, and `false` makes it public.
34
+ # @option options [String] :has_issues `true` enables issues for this repo, `false` disables issues.
35
+ # @option options [String] :has_wiki `true` enables wiki for this repo, `false` disables wiki.
36
+ # @option options [String] :has_downloads `true` enables downloads for this repo, `false` disables downloads.
37
+ # @return [Hashie::Mash] Repository information
14
38
  def edit_repository(repo, options={})
15
39
  patch "repos/#{Repository.new repo}", options, 3
16
40
  end
@@ -18,6 +42,14 @@ module Octokit
18
42
  alias :update_repository :edit_repository
19
43
  alias :update :edit_repository
20
44
 
45
+ # List repositories
46
+ #
47
+ # If username is not supplied, repositories for the current
48
+ # authenticated user are returned
49
+ #
50
+ # @see http://developer.github.com/v3/repos/#list-your-repositories
51
+ # @param username [String] Optional username for which to list repos
52
+ # @return [Array<Hashie::Mash>] List of repositories
21
53
  def repositories(username=nil, options={})
22
54
  if username.nil?
23
55
  get 'user/repos', options, 3
@@ -29,26 +61,83 @@ module Octokit
29
61
  alias :list_repos :repositories
30
62
  alias :repos :repositories
31
63
 
64
+ # Star a repository
65
+ #
66
+ # @param repo [String, Hash, Repository] A GitHub repository
67
+ # @return [Boolean] `true` if successfully starred
32
68
  def star(repo, options={})
33
- put "user/starred/#{Repository.new repo}", options, 3
69
+ begin
70
+ put "user/starred/#{Repository.new repo}", options, 3
71
+ return true
72
+ rescue Octokit::NotFound
73
+ return false
74
+ end
34
75
  end
35
76
 
77
+ # Unstar a repository
78
+ #
79
+ # @param repo [String, Hash, Repository] A GitHub repository
80
+ # @return [Boolean] `true` if successfully unstarred
36
81
  def unstar(repo, options={})
37
- delete "user/starred/#{Repository.new repo}", options, 3
82
+ begin
83
+ delete "user/starred/#{Repository.new repo}", options, 3
84
+ return true
85
+ rescue Octokit::NotFound
86
+ return false
87
+ end
38
88
  end
39
89
 
90
+ # Watch a repository
91
+ #
92
+ # @param repo [String, Hash, Repository] A GitHub repository
93
+ # @return [Boolean] `true` if successfully watched
94
+ # @deprecated Use #star instead
40
95
  def watch(repo, options={})
41
- put "user/watched/#{Repository.new repo}", options, 3
96
+ begin
97
+ put "user/watched/#{Repository.new repo}", options, 3
98
+ return true
99
+ rescue Octokit::NotFound
100
+ return false
101
+ end
42
102
  end
43
103
 
104
+ # Unwatch a repository
105
+ #
106
+ # @param repo [String, Hash, Repository] A GitHub repository
107
+ # @return [Boolean] `true` if successfully unwatched
108
+ # @deprecated Use #unstar instead
44
109
  def unwatch(repo, options={})
45
- delete "user/watched/#{Repository.new repo}", options, 3
110
+ begin
111
+ delete "user/watched/#{Repository.new repo}", options, 3
112
+ return true
113
+ rescue Octokit::NotFound
114
+ return false
115
+ end
46
116
  end
47
117
 
118
+ # Fork a repository
119
+ #
120
+ # @param repo [String, Hash, Repository] A GitHub repository
121
+ # @return [Hashie::Mash] Repository info for the new fork
48
122
  def fork(repo, options={})
49
123
  post "repos/#{Repository.new repo}/forks", options, 3
50
124
  end
51
125
 
126
+ # Create a repository for a user or organization
127
+ #
128
+ # @param name [String] Name of the new repo
129
+ # @option options [String] :description Description of the repo
130
+ # @option options [String] :homepage Home page of the repo
131
+ # @option options [String] :private `true` makes the repository private, and `false` makes it public.
132
+ # @option options [String] :has_issues `true` enables issues for this repo, `false` disables issues.
133
+ # @option options [String] :has_wiki `true` enables wiki for this repo, `false` disables wiki.
134
+ # @option options [String] :has_downloads `true` enables downloads for this repo, `false` disables downloads.
135
+ # @option options [String] :organization Short name for the org under which to create the repo.
136
+ # @option options [Integer] :team_id The id of the team that will be granted access to this repository. This is only valid when creating a repo in an organization.
137
+ # @option options [Boolean] :auto_init `true` to create an initial commit with empty README. Default is `false`.
138
+ # @option options [String] :gitignore_template Desired language or platform .gitignore template to apply. Ignored if auto_init parameter is not provided.
139
+ # @return [Hashie::Mash] Repository info for the new repository
140
+ # @see http://developer.github.com/v3/repos/#create
52
141
  def create_repository(name, options={})
53
142
  organization = options.delete :organization
54
143
  options.merge! :name => name
@@ -62,16 +151,36 @@ module Octokit
62
151
  alias :create_repo :create_repository
63
152
  alias :create :create_repository
64
153
 
154
+ # Delete repository
155
+ #
156
+ # Note: If OAuth is used, 'delete_repo' scope is required
157
+ #
158
+ # @see http://developer.github.com/v3/repos/#delete-a-repository
159
+ # @param repo [String, Hash, Repository] A GitHub repository
160
+ # @return [Boolean] `true` if repository was deleted
65
161
  def delete_repository(repo, options={})
66
- delete "repos/#{Repository.new repo}", options, 3
162
+ begin
163
+ delete "repos/#{Repository.new repo}", options, 3
164
+ return true
165
+ rescue Octokit::NotFound
166
+ return false
167
+ end
67
168
  end
68
169
  alias :delete_repo :delete_repository
69
170
 
171
+ # Hide a public repository
172
+ #
173
+ # @param repo [String, Hash, Repository] A GitHub repository
174
+ # @return [Hashie::Mash] Updated repository info
70
175
  def set_private(repo, options={})
71
176
  # GitHub Api for setting private updated to use private attr, rather than public
72
177
  update_repository repo, options.merge({ :private => true })
73
178
  end
74
179
 
180
+ # Unhide a private repository
181
+ #
182
+ # @param repo [String, Hash, Repository] A GitHub repository
183
+ # @return [Hashie::Mash] Updated repository info
75
184
  def set_public(repo, options={})
76
185
  # GitHub Api for setting private updated to use private attr, rather than public
77
186
  update_repository repo, options.merge({ :private => false })
@@ -5,6 +5,7 @@ module Octokit
5
5
  module Configuration
6
6
  VALID_OPTIONS_KEYS = [
7
7
  :adapter,
8
+ :faraday_config_block,
8
9
  :api_version,
9
10
  :api_endpoint,
10
11
  :web_endpoint,
@@ -48,6 +49,10 @@ module Octokit
48
49
  @web_endpoint = File.join(value, "")
49
50
  end
50
51
 
52
+ def faraday_config(&block)
53
+ @faraday_config_block = block
54
+ end
55
+
51
56
  def reset
52
57
  self.adapter = DEFAULT_ADAPTER
53
58
  self.api_version = DEFAULT_API_VERSION
@@ -28,13 +28,19 @@ module Octokit
28
28
  else
29
29
  builder.request :url_encoded
30
30
  end
31
+
31
32
  builder.use Faraday::Response::RaiseOctokitError
33
+
32
34
  unless raw
33
35
  builder.use FaradayMiddleware::Mashify
34
36
  builder.use FaradayMiddleware::ParseJson
35
37
  end
38
+
39
+ faraday_config_block.call(builder) if faraday_config_block
40
+
36
41
  builder.adapter *adapter
37
42
  end
43
+
38
44
  connection.basic_auth authentication[:login], authentication[:password] if authenticate and authenticated?
39
45
  connection
40
46
  end
@@ -1,3 +1,3 @@
1
1
  module Octokit
2
- VERSION = "1.15.1" unless defined?(Octokit::VERSION)
2
+ VERSION = "1.17.0" unless defined?(Octokit::VERSION)
3
3
  end
data/octokit.gemspec CHANGED
@@ -6,8 +6,8 @@ Gem::Specification.new do |gem|
6
6
  gem.add_dependency 'faraday', '~> 0.8'
7
7
  gem.add_dependency 'faraday_middleware', '~> 0.8'
8
8
  gem.add_dependency 'hashie', '~> 1.2'
9
+ gem.add_dependency 'json', '~> 1.7'
9
10
  gem.add_dependency 'multi_json', '~> 1.3'
10
- gem.add_development_dependency 'json'
11
11
  gem.add_development_dependency 'maruku'
12
12
  gem.add_development_dependency 'rake'
13
13
  gem.add_development_dependency 'rspec'
@@ -32,4 +32,24 @@ describe Faraday::Response do
32
32
  end
33
33
  end
34
34
  end
35
+
36
+ [
37
+ {:message => "Problems parsing JSON"},
38
+ {:error => "Body should be a JSON Hash"}
39
+ ].each do |body|
40
+ context "when the response body contains an error message" do
41
+
42
+ before do
43
+ stub_get('https://api.github.com/users/sferik').
44
+ to_return(:status => 400, :body => body)
45
+ end
46
+
47
+ it "should raise an error with the error message" do
48
+ lambda do
49
+ @client.user('sferik')
50
+ end.should raise_error(Octokit::BadRequest, /#{body.values.first}/)
51
+ end
52
+ end
53
+ end
54
+
35
55
  end
@@ -0,0 +1,19 @@
1
+ {
2
+ "updated_at": "2012-01-12T10:21:32Z",
3
+ "path": ".rspec",
4
+ "body": "Hey Eric,\r\n\r\nI think it's a terrible idea: for a number of reasons (dissections, etc.), test suite should stay deterministic IMO.\r\n",
5
+ "line": 1,
6
+ "user": {
7
+ "avatar_url": "https://secure.gravatar.com/avatar/c1607873b99845b2cd53f8634860d4d4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png",
8
+ "login": "bbenezech",
9
+ "gravatar_id": "c1607873b99845b2cd53f8634860d4d4",
10
+ "id": 26794,
11
+ "url": "https://api.github.com/users/bbenezech"
12
+ },
13
+ "created_at": "2012-01-12T10:21:32Z",
14
+ "commit_id": "629e9fd9d4df25528e84d31afdc8ebeb0f56fbb3",
15
+ "position": 4,
16
+ "id": 860296,
17
+ "html_url": "https://github.com/sferik/rails_admin/commit/629e9fd9d4df25528e84d31afdc8ebeb0f56fbb3#commitcomment-860296",
18
+ "url": "https://api.github.com/repos/sferik/rails_admin/comments/860296"
19
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "updated_at": "2012-01-12T10:21:32Z",
3
+ "path": ".rspec",
4
+ "body": "Hey Eric,\r\n\r\nI think it's a terrible idea. The test suite should stay deterministic IMO.\r\n",
5
+ "line": 1,
6
+ "user": {
7
+ "avatar_url": "https://secure.gravatar.com/avatar/c1607873b99845b2cd53f8634860d4d4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png",
8
+ "login": "bbenezech",
9
+ "gravatar_id": "c1607873b99845b2cd53f8634860d4d4",
10
+ "id": 26794,
11
+ "url": "https://api.github.com/users/bbenezech"
12
+ },
13
+ "created_at": "2012-01-12T10:21:32Z",
14
+ "commit_id": "629e9fd9d4df25528e84d31afdc8ebeb0f56fbb3",
15
+ "position": 4,
16
+ "id": 860296,
17
+ "html_url": "https://github.com/sferik/rails_admin/commit/629e9fd9d4df25528e84d31afdc8ebeb0f56fbb3#commitcomment-860296",
18
+ "url": "https://api.github.com/repos/sferik/rails_admin/comments/860296"
19
+ }
@@ -0,0 +1,35 @@
1
+ [
2
+ {
3
+ "created_at": "2012-01-31T14:23:41Z",
4
+ "position": 5,
5
+ "original_commit_id": "2097821c7c5aa4dc02a2cc54d5ca51968b373f95",
6
+ "path": "lib/octokit/repository.rb",
7
+ "original_position": 5,
8
+ "commit_id": "2097821c7c5aa4dc02a2cc54d5ca51968b373f95",
9
+ "_links": {
10
+ "self": {
11
+ "href": "https://api.github.com/repos/pengwynn/octokit/pulls/comments/401530"
12
+ },
13
+ "html": {
14
+ "href": "https://github.com/pengwynn/octokit/pull/67#discussion_r401530"
15
+ },
16
+ "pull_request": {
17
+ "href": "https://api.github.com/repos/pengwynn/octokit/pulls/67"
18
+ }
19
+ },
20
+ "updated_at": "2012-01-31T14:23:41Z",
21
+ "user": {
22
+ "avatar_url": "https://secure.gravatar.com/avatar/dfb3948650131e4f0385c3328187cfca?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png",
23
+ "gravatar_id": "dfb3948650131e4f0385c3328187cfca",
24
+ "login": "ctshryock",
25
+ "url": "https://api.github.com/users/ctshryock",
26
+ "urls": {
27
+ "self": "https://api.github.com/users/ctshryock"
28
+ },
29
+ "id": 61721
30
+ },
31
+ "body": "This is causing a test to fail (`respository_spec.rb`, `\"should render url as string\"`). On line 15 of `configuration.rb` you add `github_url` as an option key, which is then added as to the `Client` in the `attr_accessor` block, but it's an instance method not a class method. ",
32
+ "url": "https://api.github.com/repos/pengwynn/octokit/pulls/comments/401530",
33
+ "id": 401530
34
+ }
35
+ ]
@@ -0,0 +1,35 @@
1
+ [
2
+ {
3
+ "filename": "README.md",
4
+ "raw_url": "https://github.com/pengwynn/octokit/raw/55b0fffd7e73fc9e098beee486b31e0fba343e40/README.md",
5
+ "blob_url": "https://github.com/pengwynn/octokit/blob/55b0fffd7e73fc9e098beee486b31e0fba343e40/README.md",
6
+ "status": "modified",
7
+ "additions": 28,
8
+ "sha": "050957c6c397050ac809b4350971d15103cdea54",
9
+ "patch": "@@ -64,6 +64,34 @@ client = Octokit::Client.new(:login => \"me\", :oauth_token => \"oauth2token\")\n client.follow(\"sferik\")\n ```\n \n+## Rate Limiting and Conditional Requests\n+GitHub limits API requests to 5000 per hour.\n+\n+```ruby\n+client = Octokit::Client.new(:login => \"me\", :oauth_token => \"oauth2token\")\n+client.ratelimit_remaining # 5000\n+client.repositories\n+client.ratelimit_remaining # 4999\n+```\n+\n+You can make conditional requests which will only return data to you if there\n+have been changes since your last request. Pass either the `since` or `etag`\n+option to any API call to perform a conditional request, and immediately after\n+the request is complete the client will have the attributes `last_modified` and\n+`etag` populated to be used for the next identical API call.\n+\n+```ruby\n+client = Octokit::Client(:login => \"me\", :oauth_token => \"oauth2token\")\n+client.ratelimit_remaining # 5000\n+client.repositories # (Returns an array of repositories)\n+client.ratelimit_remaining # 4999\n+repos_last_modified = client.last_modified\n+\n+client.repositories(nil,\n+ :since => repos_last_modified) # nil\n+client.ratelimit_remaining # 4999\n+```\n+\n ## Using with GitHub Enterprise\n \n To use with [GitHub Enterprise](https://enterprise.github.com/), you'll need to",
10
+ "deletions": 0,
11
+ "changes": 28
12
+ },
13
+ {
14
+ "filename": "lib/octokit/client.rb",
15
+ "raw_url": "https://github.com/pengwynn/octokit/raw/55b0fffd7e73fc9e098beee486b31e0fba343e40/lib/octokit/client.rb",
16
+ "blob_url": "https://github.com/pengwynn/octokit/blob/55b0fffd7e73fc9e098beee486b31e0fba343e40/lib/octokit/client.rb",
17
+ "status": "modified",
18
+ "additions": 1,
19
+ "sha": "feb96c24ec0a8a0bedf8d55289693e1de59cec40",
20
+ "patch": "@@ -28,6 +28,7 @@\n module Octokit\n class Client\n attr_accessor(*Configuration::VALID_OPTIONS_KEYS)\n+ attr_accessor(:last_modified, :etag)\n \n def initialize(options={})\n options = Octokit.options.merge(options)",
21
+ "deletions": 0,
22
+ "changes": 1
23
+ },
24
+ {
25
+ "filename": "lib/octokit/request.rb",
26
+ "raw_url": "https://github.com/pengwynn/octokit/raw/55b0fffd7e73fc9e098beee486b31e0fba343e40/lib/octokit/request.rb",
27
+ "blob_url": "https://github.com/pengwynn/octokit/blob/55b0fffd7e73fc9e098beee486b31e0fba343e40/lib/octokit/request.rb",
28
+ "status": "modified",
29
+ "additions": 6,
30
+ "sha": "5af4a1f92333ea52d35475fdea108564f617a7eb",
31
+ "patch": "@@ -39,6 +39,9 @@ def ratelimit_remaining\n def request(method, path, options, version, authenticate, raw, force_urlencoded)\n path.sub(%r{^/}, '') #leading slash in path fails in github:enterprise\n response = connection(authenticate, raw, version, force_urlencoded).send(method) do |request|\n+ request.headers['If-Modified-Since'] = options.delete(:since) unless options[:since].nil?\n+ request.headers['If-None-Match'] = options.delete(:etag) unless options[:etag].nil?\n+\n case method\n when :delete, :get\n if auto_traversal && per_page.nil?\n@@ -58,6 +61,9 @@ def request(method, path, options, version, authenticate, raw, force_urlencoded)\n request.headers['Host'] = Octokit.request_host if Octokit.request_host\n end\n \n+ self.last_modified = response.headers['Last-Modified']\n+ self.etag = response.headers['ETag'].gsub('\"', '') unless response.headers['ETag'].nil?\n+\n if raw\n response\n elsif auto_traversal && ( next_url = links(response)[\"next\"] )",
32
+ "deletions": 0,
33
+ "changes": 6
34
+ }
35
+ ]
@@ -78,6 +78,47 @@ describe Octokit::Client::Commits do
78
78
 
79
79
  end
80
80
 
81
+ describe ".create_commit_comment" do
82
+
83
+ it "should create a commit comment" do
84
+ stub_post("/repos/sferik/rails_admin/commits/629e9fd9d4df25528e84d31afdc8ebeb0f56fbb3/comments").
85
+ with(:body => { :body => "Hey Eric,\r\n\r\nI think it's a terrible idea: for a number of reasons (dissections, etc.), test suite should stay deterministic IMO.\r\n", :commit_id => "629e9fd9d4df25528e84d31afdc8ebeb0f56fbb3", :line => 1, :path => ".rspec", :position => 4 },
86
+ :headers => { "Content-Type" => "application/json" }).
87
+ to_return(:body => fixture("v3/commit_comment_create.json"))
88
+ commit_comment = @client.create_commit_comment("sferik/rails_admin", "629e9fd9d4df25528e84d31afdc8ebeb0f56fbb3", "Hey Eric,\r\n\r\nI think it's a terrible idea: for a number of reasons (dissections, etc.), test suite should stay deterministic IMO.\r\n", ".rspec", 1, 4)
89
+ commit_comment.body.should == "Hey Eric,\r\n\r\nI think it's a terrible idea: for a number of reasons (dissections, etc.), test suite should stay deterministic IMO.\r\n"
90
+ commit_comment.commit_id.should == "629e9fd9d4df25528e84d31afdc8ebeb0f56fbb3"
91
+ commit_comment.path.should == ".rspec"
92
+ commit_comment.line.should == 1
93
+ commit_comment.position.should == 4
94
+ end
95
+
96
+ end
97
+
98
+ describe ".update_commit_comment" do
99
+
100
+ it "should update a commit comment" do
101
+ stub_patch("/repos/sferik/rails_admin/comments/860296").
102
+ with(:body => { :body => "Hey Eric,\r\n\r\nI think it's a terrible idea. The test suite should stay deterministic IMO.\r\n" },
103
+ :headers => { "Content-Type" => "application/json" }).
104
+ to_return(:body => fixture("v3/commit_comment_update.json"))
105
+ commit_comment = @client.update_commit_comment("sferik/rails_admin", "860296", "Hey Eric,\r\n\r\nI think it's a terrible idea. The test suite should stay deterministic IMO.\r\n")
106
+ commit_comment.body.should == "Hey Eric,\r\n\r\nI think it's a terrible idea. The test suite should stay deterministic IMO.\r\n"
107
+ end
108
+
109
+ end
110
+
111
+ describe ".delete_commit_comment" do
112
+
113
+ it "should delete a commit comment" do
114
+ stub_delete("/repos/sferik/rails_admin/comments/860296").
115
+ to_return(:status => 204, :body => "")
116
+ commit_comment = @client.delete_commit_comment("sferik/rails_admin", "860296")
117
+ commit_comment.should be_false
118
+ end
119
+
120
+ end
121
+
81
122
  describe ".compare" do
82
123
 
83
124
  it "should return a comparison" do
@@ -10,7 +10,7 @@ describe Octokit::Client::Gists do
10
10
 
11
11
  describe ".public_gists" do
12
12
  it "should return public gists" do
13
- stub_get("/gists").to_return(:body => fixture("v3/public_gists.json"))
13
+ stub_get("/gists/public").to_return(:body => fixture("v3/public_gists.json"))
14
14
  gists = @client.public_gists
15
15
  gists.should_not be_empty
16
16
  end
@@ -20,13 +20,20 @@ describe Octokit::Client::Issues do
20
20
 
21
21
  describe ".list_issues" do
22
22
 
23
- it "should return issues" do
23
+ it "should return issues for a repository" do
24
24
  stub_get("/repos/sferik/rails_admin/issues").
25
25
  to_return(:body => fixture("v3/issues.json"))
26
26
  issues = @client.issues("sferik/rails_admin")
27
27
  issues.first.number.should == 388
28
28
  end
29
29
 
30
+ it "should return issues for the authenticated user" do
31
+ stub_get("/issues").
32
+ to_return(:body => fixture("v3/issues.json"))
33
+ issues = @client.issues
34
+ issues.first.number.should == 388
35
+ end
36
+
30
37
  end
31
38
 
32
39
  describe ".create_issue" do
@@ -27,7 +27,7 @@ describe Octokit::Client::Pulls do
27
27
  with(:pull => {:base => "master", :head => "pengwynn:octokit", :issue => "15"}).
28
28
  to_return(:body => fixture("v3/pull_created.json"))
29
29
  pull = @client.create_pull_request_for_issue("pengwynn/octokit", "master", "pengwynn:octokit", "15")
30
- pull.number.should == 15
30
+ pull.number.should == 15
31
31
  end
32
32
 
33
33
  end
@@ -49,7 +49,7 @@ describe Octokit::Client::Pulls do
49
49
  stub_get("https://api.github.com/repos/pengwynn/octokit/pulls/67").
50
50
  to_return(:body => fixture("v3/pull_request.json"))
51
51
  pull = @client.pull("pengwynn/octokit", 67)
52
- pull.number.should == 67
52
+ pull.number.should == 67
53
53
  end
54
54
 
55
55
  end
@@ -65,6 +65,17 @@ describe Octokit::Client::Pulls do
65
65
 
66
66
  end
67
67
 
68
+ describe ".pull_request_comments" do
69
+
70
+ it "should return the comments for a pull request" do
71
+ stub_get("https://api.github.com/repos/pengwynn/octokit/pulls/67/comments").
72
+ to_return(:body => fixture("v3/pull_request_comments.json"))
73
+ commits = @client.pull_comments("pengwynn/octokit", 67)
74
+ commits.first["id"].should == 401530
75
+ end
76
+
77
+ end
78
+
68
79
  describe ".merge_pull_request" do
69
80
 
70
81
  it "should merge the pull request" do
@@ -76,4 +87,28 @@ describe Octokit::Client::Pulls do
76
87
 
77
88
  end
78
89
 
90
+ describe ".pull_request_files" do
91
+
92
+ it "should list files for a pull request" do
93
+ stub_get("https://api.github.com/repos/pengwynn/octokit/pulls/142/files").
94
+ to_return(:body => fixture("v3/pull_request_files.json"))
95
+
96
+ files = @client.pull_request_files("pengwynn/octokit", 142)
97
+ file = files.first
98
+ file.filename.should == 'README.md'
99
+ file.additions.should == 28
100
+ end
101
+
102
+ end
103
+
104
+ describe ".pull_merged?" do
105
+
106
+ it "should see if the pull request has been merged" do
107
+ stub_get("https://api.github.com/repos/pengwynn/octokit/pulls/67/merged").
108
+ to_return(:status => 204)
109
+ merged = @client.pull_merged?("pengwynn/octokit", 67)
110
+ merged.should be_true
111
+ end
112
+ end
113
+
79
114
  end
@@ -73,7 +73,7 @@ describe Octokit::Client::Repositories do
73
73
  it "should star a repository" do
74
74
  stub_put("/user/starred/sferik/rails_admin").
75
75
  to_return(:status => 204)
76
- @client.star("sferik/rails_admin").should be_nil
76
+ @client.star("sferik/rails_admin").should be_true
77
77
  end
78
78
 
79
79
  end
@@ -83,7 +83,7 @@ describe Octokit::Client::Repositories do
83
83
  it "should unstar a repository" do
84
84
  stub_delete("/user/starred/sferik/rails_admin").
85
85
  to_return(:status => 204)
86
- @client.unstar("sferik/rails_admin").should be_nil
86
+ @client.unstar("sferik/rails_admin").should be_true
87
87
  end
88
88
 
89
89
  end
@@ -93,7 +93,7 @@ describe Octokit::Client::Repositories do
93
93
  it "should watch a repository" do
94
94
  stub_put("/user/watched/sferik/rails_admin").
95
95
  to_return(:status => 204)
96
- @client.watch("sferik/rails_admin").should be_nil
96
+ @client.watch("sferik/rails_admin").should be_true
97
97
  end
98
98
 
99
99
  end
@@ -103,7 +103,7 @@ describe Octokit::Client::Repositories do
103
103
  it "should unwatch a repository" do
104
104
  stub_delete("/user/watched/sferik/rails_admin").
105
105
  to_return(:status => 204)
106
- @client.unwatch("sferik/rails_admin").should be_nil
106
+ @client.unwatch("sferik/rails_admin").should be_true
107
107
  end
108
108
 
109
109
  end
@@ -146,7 +146,7 @@ describe Octokit::Client::Repositories do
146
146
  stub_delete("/repos/sferik/rails_admin").
147
147
  to_return(:status => 204, :body => "")
148
148
  result = @client.delete_repository("sferik/rails_admin")
149
- result.should be_nil
149
+ result.should be_true
150
150
  end
151
151
 
152
152
  end
@@ -10,6 +10,19 @@ describe Octokit::Client do
10
10
  }.should_not raise_exception
11
11
  end
12
12
 
13
+ it 'should configure faraday from faraday_config_block' do
14
+ mw_evaluated = false
15
+ Octokit.configure do |c|
16
+ c.faraday_config { |f| mw_evaluated = true }
17
+ end
18
+ stub_request(:get, "https://api.github.com/rate_limit").
19
+ to_return(:status => 200, :body => '', :headers =>
20
+ { 'X-RateLimit-Limit' => 5000, 'X-RateLimit-Remaining' => 5000})
21
+ client = Octokit::Client.new()
22
+ client.rate_limit
23
+ mw_evaluated.should be_true
24
+ end
25
+
13
26
 
14
27
  describe "auto_traversal" do
15
28
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: octokit
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.15.1
4
+ version: 1.17.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-09-24 00:00:00.000000000 Z
14
+ date: 2012-10-08 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: addressable
@@ -78,13 +78,13 @@ dependencies:
78
78
  - !ruby/object:Gem::Version
79
79
  version: '1.2'
80
80
  - !ruby/object:Gem::Dependency
81
- name: multi_json
81
+ name: json
82
82
  requirement: !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
86
86
  - !ruby/object:Gem::Version
87
- version: '1.3'
87
+ version: '1.7'
88
88
  type: :runtime
89
89
  prerelease: false
90
90
  version_requirements: !ruby/object:Gem::Requirement
@@ -92,23 +92,23 @@ dependencies:
92
92
  requirements:
93
93
  - - ~>
94
94
  - !ruby/object:Gem::Version
95
- version: '1.3'
95
+ version: '1.7'
96
96
  - !ruby/object:Gem::Dependency
97
- name: json
97
+ name: multi_json
98
98
  requirement: !ruby/object:Gem::Requirement
99
99
  none: false
100
100
  requirements:
101
- - - ! '>='
101
+ - - ~>
102
102
  - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
103
+ version: '1.3'
104
+ type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  none: false
108
108
  requirements:
109
- - - ! '>='
109
+ - - ~>
110
110
  - !ruby/object:Gem::Version
111
- version: '0'
111
+ version: '1.3'
112
112
  - !ruby/object:Gem::Dependency
113
113
  name: maruku
114
114
  requirement: !ruby/object:Gem::Requirement
@@ -270,6 +270,8 @@ files:
270
270
  - spec/fixtures/v3/comments.json
271
271
  - spec/fixtures/v3/commit.json
272
272
  - spec/fixtures/v3/commit_comment.json
273
+ - spec/fixtures/v3/commit_comment_create.json
274
+ - spec/fixtures/v3/commit_comment_update.json
273
275
  - spec/fixtures/v3/commit_comments.json
274
276
  - spec/fixtures/v3/commit_create.json
275
277
  - spec/fixtures/v3/commits.json
@@ -315,7 +317,9 @@ files:
315
317
  - spec/fixtures/v3/public_keys.json
316
318
  - spec/fixtures/v3/pull_created.json
317
319
  - spec/fixtures/v3/pull_request.json
320
+ - spec/fixtures/v3/pull_request_comments.json
318
321
  - spec/fixtures/v3/pull_request_commits.json
322
+ - spec/fixtures/v3/pull_request_files.json
319
323
  - spec/fixtures/v3/pull_request_merged.json
320
324
  - spec/fixtures/v3/pull_requests.json
321
325
  - spec/fixtures/v3/readme.json
@@ -408,6 +412,8 @@ test_files:
408
412
  - spec/fixtures/v3/comments.json
409
413
  - spec/fixtures/v3/commit.json
410
414
  - spec/fixtures/v3/commit_comment.json
415
+ - spec/fixtures/v3/commit_comment_create.json
416
+ - spec/fixtures/v3/commit_comment_update.json
411
417
  - spec/fixtures/v3/commit_comments.json
412
418
  - spec/fixtures/v3/commit_create.json
413
419
  - spec/fixtures/v3/commits.json
@@ -453,7 +459,9 @@ test_files:
453
459
  - spec/fixtures/v3/public_keys.json
454
460
  - spec/fixtures/v3/pull_created.json
455
461
  - spec/fixtures/v3/pull_request.json
462
+ - spec/fixtures/v3/pull_request_comments.json
456
463
  - spec/fixtures/v3/pull_request_commits.json
464
+ - spec/fixtures/v3/pull_request_files.json
457
465
  - spec/fixtures/v3/pull_request_merged.json
458
466
  - spec/fixtures/v3/pull_requests.json
459
467
  - spec/fixtures/v3/readme.json