octopi 0.1.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +2 -1
- data/.yardoc +0 -0
- data/README.rdoc +16 -41
- data/Rakefile +9 -0
- data/VERSION.yml +2 -2
- data/examples/overall.rb +1 -1
- data/lib/ext/hash_ext.rb +5 -0
- data/lib/ext/string_ext.rb +5 -0
- data/lib/octopi.rb +101 -202
- data/lib/octopi/api.rb +209 -0
- data/lib/octopi/base.rb +42 -38
- data/lib/octopi/blob.rb +12 -8
- data/lib/octopi/branch.rb +20 -7
- data/lib/octopi/branch_set.rb +11 -0
- data/lib/octopi/comment.rb +20 -0
- data/lib/octopi/commit.rb +39 -35
- data/lib/octopi/error.rb +17 -5
- data/lib/octopi/file_object.rb +6 -5
- data/lib/octopi/gist.rb +28 -0
- data/lib/octopi/issue.rb +49 -40
- data/lib/octopi/issue_comment.rb +7 -0
- data/lib/octopi/issue_set.rb +21 -0
- data/lib/octopi/key.rb +14 -7
- data/lib/octopi/key_set.rb +14 -0
- data/lib/octopi/plan.rb +5 -0
- data/lib/octopi/repository.rb +66 -45
- data/lib/octopi/repository_set.rb +9 -0
- data/lib/octopi/resource.rb +11 -16
- data/lib/octopi/self.rb +33 -0
- data/lib/octopi/tag.rb +12 -6
- data/lib/octopi/user.rb +62 -38
- data/octopi.gemspec +43 -12
- data/test/api_test.rb +58 -0
- data/test/authenticated_test.rb +39 -0
- data/test/blob_test.rb +23 -0
- data/test/branch_test.rb +20 -0
- data/test/commit_test.rb +82 -0
- data/test/file_object_test.rb +39 -0
- data/test/gist_test.rb +16 -0
- data/test/issue_comment.rb +19 -0
- data/test/issue_set_test.rb +33 -0
- data/test/issue_test.rb +120 -0
- data/test/key_set_test.rb +29 -0
- data/test/key_test.rb +35 -0
- data/test/repository_set_test.rb +23 -0
- data/test/repository_test.rb +141 -0
- data/test/stubs/commits/fcoury/octopi/octopi.rb +818 -0
- data/test/tag_test.rb +20 -0
- data/test/test_helper.rb +236 -0
- data/test/user_test.rb +92 -0
- metadata +54 -12
- data/examples/github.yml.example +0 -14
- data/test/octopi_test.rb +0 -46
@@ -0,0 +1,141 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'test_helper')
|
2
|
+
|
3
|
+
class RepositoryTest < Test::Unit::TestCase
|
4
|
+
include Octopi
|
5
|
+
|
6
|
+
def setup
|
7
|
+
fake_everything
|
8
|
+
@user = User.find("fcoury")
|
9
|
+
@private_repos = auth do
|
10
|
+
@private = @user.repositories.find("rboard")
|
11
|
+
@user.repositories
|
12
|
+
end
|
13
|
+
@repository = @user.repositories.find("octopi")
|
14
|
+
end
|
15
|
+
|
16
|
+
|
17
|
+
context Repository do
|
18
|
+
|
19
|
+
should "return a repository for a user" do
|
20
|
+
assert_not_nil @user.repository(:name => "octopi")
|
21
|
+
assert @user.repository(:name => "octopi").is_a?(Repository)
|
22
|
+
end
|
23
|
+
|
24
|
+
should "return a repository for a login" do
|
25
|
+
assert_not_nil Repository.find(:user => "fcoury", :name => "octopi")
|
26
|
+
end
|
27
|
+
|
28
|
+
should "be able to look up the repository based on the user and name" do
|
29
|
+
assert_not_nil Repository.find(:user => @user, :name => "octopi")
|
30
|
+
end
|
31
|
+
|
32
|
+
should "have a User as the owner" do
|
33
|
+
assert @repository.owner.is_a?(User)
|
34
|
+
end
|
35
|
+
|
36
|
+
should "return repositories" do
|
37
|
+
assert_equal 45, @user.repositories.size
|
38
|
+
end
|
39
|
+
|
40
|
+
should "return more repositories if authed" do
|
41
|
+
assert_equal 44, @private_repos.size
|
42
|
+
end
|
43
|
+
|
44
|
+
should "not return a repository when asked for a private one" do
|
45
|
+
exception = assert_raise NotFound do
|
46
|
+
@user.repository(:name => "rboard")
|
47
|
+
end
|
48
|
+
|
49
|
+
assert_equal "The Repository you were looking for could not be found, or is private.", exception.message
|
50
|
+
end
|
51
|
+
|
52
|
+
should "return a private repository when authed" do
|
53
|
+
auth do
|
54
|
+
assert_not_nil @user.repository(:name => "rboard")
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
should "be able to search for similar repositories" do
|
59
|
+
repos = Repository.search("ruby", "testing")
|
60
|
+
assert_not_nil repos
|
61
|
+
assert repos.first.is_a?(Repository)
|
62
|
+
end
|
63
|
+
|
64
|
+
should "be able to find the latest 30 commits" do
|
65
|
+
commits = @repository.commits
|
66
|
+
assert_not_nil commits
|
67
|
+
assert_equal 30, commits.size
|
68
|
+
end
|
69
|
+
|
70
|
+
|
71
|
+
should "be able to find all open issues" do
|
72
|
+
issues = @repository.issues
|
73
|
+
assert_not_nil issues
|
74
|
+
assert_equal 21, issues.size
|
75
|
+
end
|
76
|
+
|
77
|
+
should "be able to find all issues" do
|
78
|
+
issues = @repository.all_issues
|
79
|
+
assert_not_nil issues
|
80
|
+
assert_equal 42, issues.size
|
81
|
+
end
|
82
|
+
|
83
|
+
should "be able to find an issue" do
|
84
|
+
assert_not_nil @repository.issue(28)
|
85
|
+
end
|
86
|
+
|
87
|
+
should "be able to find all collaborators" do
|
88
|
+
@collaborators = @repository.collaborators
|
89
|
+
assert_not_nil @collaborators
|
90
|
+
assert_equal 1, @collaborators.size
|
91
|
+
assert @collaborators.first.is_a?(User)
|
92
|
+
end
|
93
|
+
|
94
|
+
should "be able to create a repository" do
|
95
|
+
auth do
|
96
|
+
Repository.create(:name => "octopus")
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
should "be able to delete a repository" do
|
101
|
+
auth do
|
102
|
+
@repository.delete!
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
should "not be able to create a repository when not authed" do
|
107
|
+
assert_raise Octopi::AuthenticationRequired do
|
108
|
+
Repository.create(:name => "octopus")
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
should "be able to retrieve the branches" do
|
113
|
+
branches = @repository.branches
|
114
|
+
assert_not_nil branches
|
115
|
+
assert_equal 4, branches.size
|
116
|
+
end
|
117
|
+
|
118
|
+
should "be able to retrieve the tags" do
|
119
|
+
tags = @repository.tags
|
120
|
+
assert_not_nil tags
|
121
|
+
assert_equal 9, tags.size
|
122
|
+
end
|
123
|
+
|
124
|
+
should "be able to retrieve the comments" do
|
125
|
+
assert_not_nil @repository.comments
|
126
|
+
comment = @repository.comments.first
|
127
|
+
[:content, :author, :title, :updated, :link, :published, :id, :repository, :commit].each do |f|
|
128
|
+
assert_not_nil comment.send(f)
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
132
|
+
should "return the correct clone URL" do
|
133
|
+
assert_equal "git://github.com/fcoury/octopi.git", @repository.clone_url
|
134
|
+
auth do
|
135
|
+
assert_equal "git@github.com:fcoury/rboard.git", @private.clone_url
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
|
140
|
+
end
|
141
|
+
end
|
@@ -0,0 +1,818 @@
|
|
1
|
+
HTTP/1.1 200 OK
|
2
|
+
Server: nginx/0.6.31
|
3
|
+
Date: Thu, 06 Aug 2009 05:18:56 GMT
|
4
|
+
Content-Type: application/x-yaml; charset=utf-8
|
5
|
+
Connection: keep-alive
|
6
|
+
Set-Cookie: _github_ses=BAh7BiIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNoSGFzaHsABjoKQHVzZWR7AA%3D%3D--884981fc5aa85daf318eeff084d98e2cff92578f; path=/; expires=Wed, 01 Jan 2020 08:00:00 GMT; HttpOnly
|
7
|
+
Status: 200 OK
|
8
|
+
X-Runtime: 5065ms
|
9
|
+
ETag: "cf88713ff12c8d35789400159323613d"
|
10
|
+
Cache-Control: private, max-age=0, must-revalidate
|
11
|
+
Content-Length: 32432
|
12
|
+
|
13
|
+
---
|
14
|
+
commits:
|
15
|
+
- message: Sends data in body, not as params (missed Content-Lenght)
|
16
|
+
parents:
|
17
|
+
- id: 00fd8079dd423c2028a8a62e98a759c4e49258f9
|
18
|
+
url: http://github.com/fcoury/octopi/commit/57da65035236b8603c96866f0d5876c6cfe63e46
|
19
|
+
author:
|
20
|
+
name: Felipe Coury
|
21
|
+
email: felipe.coury@gmail.com
|
22
|
+
id: 57da65035236b8603c96866f0d5876c6cfe63e46
|
23
|
+
committed_date: "2009-07-20T22:29:54-07:00"
|
24
|
+
authored_date: "2009-07-20T22:29:54-07:00"
|
25
|
+
tree: 67cf3f067fce0bff3c5af717754259cbb0a05d02
|
26
|
+
committer:
|
27
|
+
name: Felipe Coury
|
28
|
+
email: felipe.coury@gmail.com
|
29
|
+
- message: |-
|
30
|
+
some git config options can have blank values (like pager)
|
31
|
+
|
32
|
+
Signed-off-by: Felipe Coury <felipe.coury@gmail.com>
|
33
|
+
parents:
|
34
|
+
- id: 7b33a45ad9e535d8ee27069899ed4de7d703a5f8
|
35
|
+
url: http://github.com/fcoury/octopi/commit/ed07094122888df187a377b0739e25a5b195cc1e
|
36
|
+
author:
|
37
|
+
name: David Dollar
|
38
|
+
email: ddollar@gmail.com
|
39
|
+
id: ed07094122888df187a377b0739e25a5b195cc1e
|
40
|
+
committed_date: "2009-07-17T16:33:23-07:00"
|
41
|
+
authored_date: "2009-07-14T10:27:30-07:00"
|
42
|
+
tree: 7a73f9f4fb057759248af2aa8eaaf7e83275b0f4
|
43
|
+
committer:
|
44
|
+
name: Felipe Coury
|
45
|
+
email: felipe.coury@gmail.com
|
46
|
+
- message: Fixes authorised calls to use https and adds api.commits
|
47
|
+
parents:
|
48
|
+
- id: 2bfa90160808b4d7ed281e5858164dc8029509bc
|
49
|
+
url: http://github.com/fcoury/octopi/commit/21678ec8571a5f4ecb847a1d93d830d09cde9b68
|
50
|
+
author:
|
51
|
+
name: philnash
|
52
|
+
email: philnash@gmail.com
|
53
|
+
id: 21678ec8571a5f4ecb847a1d93d830d09cde9b68
|
54
|
+
committed_date: "2009-06-01T19:30:01-07:00"
|
55
|
+
authored_date: "2009-06-01T19:30:01-07:00"
|
56
|
+
tree: 4212505490b89f57055fee5075a04804063c02ea
|
57
|
+
committer:
|
58
|
+
name: philnash
|
59
|
+
email: philnash@gmail.com
|
60
|
+
- message: |-
|
61
|
+
Sleep between retries (because they are caused by github's rate limit)
|
62
|
+
|
63
|
+
Signed-off-by: Felipe Coury <felipe.coury@gmail.com>
|
64
|
+
parents:
|
65
|
+
- id: fb5ba554b2d147f8dd62c12ac1dfce1608c2a850
|
66
|
+
url: http://github.com/fcoury/octopi/commit/2bfa90160808b4d7ed281e5858164dc8029509bc
|
67
|
+
author:
|
68
|
+
name: Nat Budin
|
69
|
+
email: natbudin@gmail.com
|
70
|
+
id: 2bfa90160808b4d7ed281e5858164dc8029509bc
|
71
|
+
committed_date: "2009-05-23T09:57:44-07:00"
|
72
|
+
authored_date: "2009-05-13T11:40:47-07:00"
|
73
|
+
tree: f4da08ee7e177aa86ec0438ebc00d1f192670221
|
74
|
+
committer:
|
75
|
+
name: Felipe Coury
|
76
|
+
email: felipe.coury@gmail.com
|
77
|
+
- message: |-
|
78
|
+
Allow retry on post as well as get
|
79
|
+
|
80
|
+
Signed-off-by: Felipe Coury <felipe.coury@gmail.com>
|
81
|
+
parents:
|
82
|
+
- id: 3283fa78014bf066c36e5c1dea1a5dae18fec157
|
83
|
+
url: http://github.com/fcoury/octopi/commit/fb5ba554b2d147f8dd62c12ac1dfce1608c2a850
|
84
|
+
author:
|
85
|
+
name: Nat Budin
|
86
|
+
email: natbudin@gmail.com
|
87
|
+
id: fb5ba554b2d147f8dd62c12ac1dfce1608c2a850
|
88
|
+
committed_date: "2009-05-23T09:57:32-07:00"
|
89
|
+
authored_date: "2009-05-13T11:31:55-07:00"
|
90
|
+
tree: a097806b41c3110597b9f902e447b838fd3f3a58
|
91
|
+
committer:
|
92
|
+
name: Felipe Coury
|
93
|
+
email: felipe.coury@gmail.com
|
94
|
+
- message: |-
|
95
|
+
Added Public Key Management API hooks.
|
96
|
+
|
97
|
+
Added methods add_key and keys to user.
|
98
|
+
Added new Key resource to add and remove keys.
|
99
|
+
parents:
|
100
|
+
- id: 845fa497497e211944b13485fa596bf46f8f182a
|
101
|
+
url: http://github.com/fcoury/octopi/commit/0a3417a353961c61a7f56818e566d04570c92600
|
102
|
+
author:
|
103
|
+
name: Felipe Coury
|
104
|
+
email: felipe.coury@gmail.com
|
105
|
+
id: 0a3417a353961c61a7f56818e566d04570c92600
|
106
|
+
committed_date: "2009-04-25T20:02:08-07:00"
|
107
|
+
authored_date: "2009-04-25T20:00:31-07:00"
|
108
|
+
tree: a4fb1b35429d1241e6853c6c275dfb9caff12122
|
109
|
+
committer:
|
110
|
+
name: Felipe Coury
|
111
|
+
email: felipe.coury@gmail.com
|
112
|
+
- message: Missing end on octopi.rb, changed authenticated sample, renamed issue to Sample Issue
|
113
|
+
parents:
|
114
|
+
- id: d2617707a52f678dd8992a0a5c79f9ce305f24df
|
115
|
+
url: http://github.com/fcoury/octopi/commit/845fa497497e211944b13485fa596bf46f8f182a
|
116
|
+
author:
|
117
|
+
name: Felipe Coury
|
118
|
+
email: felipe.coury@gmail.com
|
119
|
+
id: 845fa497497e211944b13485fa596bf46f8f182a
|
120
|
+
committed_date: "2009-04-25T15:03:10-07:00"
|
121
|
+
authored_date: "2009-04-25T15:03:10-07:00"
|
122
|
+
tree: e83df2c4cf0265ddc08167f30b6c0b23b4bbd332
|
123
|
+
committer:
|
124
|
+
name: Felipe Coury
|
125
|
+
email: felipe.coury@gmail.com
|
126
|
+
- message: |-
|
127
|
+
Limit number of repetitions for retryable requests
|
128
|
+
|
129
|
+
If a RetryableAPIError exception is raised, we only repeat the request
|
130
|
+
MAX_RETRIES number of times before raising an APIError. This guards against
|
131
|
+
infinite loops, while still allowing most 403 errors to be worked around.
|
132
|
+
|
133
|
+
As I explained in the commit message for
|
134
|
+
6cae2e317b2e4301200b62654e57a0394c9f8b46, this logic is still pretty vague
|
135
|
+
because GitHub hasn't documented their rate limiting policy yet.
|
136
|
+
parents:
|
137
|
+
- id: 6cae2e317b2e4301200b62654e57a0394c9f8b46
|
138
|
+
url: http://github.com/fcoury/octopi/commit/a26df884ed2ecfab18da7ec25c563b38467b84a6
|
139
|
+
author:
|
140
|
+
name: Run Paint Run Run
|
141
|
+
email: runrun@runpaint.org
|
142
|
+
id: a26df884ed2ecfab18da7ec25c563b38467b84a6
|
143
|
+
committed_date: "2009-04-25T13:18:39-07:00"
|
144
|
+
authored_date: "2009-04-25T13:18:39-07:00"
|
145
|
+
tree: b800c0319d7d2423e5f3dda9d890b4f69f30e1fe
|
146
|
+
committer:
|
147
|
+
name: Run Paint Run Run
|
148
|
+
email: runrun@runpaint.org
|
149
|
+
- message: |-
|
150
|
+
Retry 403s and Net::HTTPBadResponse errors.
|
151
|
+
|
152
|
+
My testing strongly suggests that when GitHub returns status code 403 the
|
153
|
+
request can be retried. This may be how they implement rate limiting. So, if
|
154
|
+
we get a 403 we simply repeat the request. We don't wait between requests
|
155
|
+
because there is not yet any evidence that it would benefit us. Hopefully,
|
156
|
+
once the rate limiting is documented, we can revisit this issue.
|
157
|
+
|
158
|
+
We also retry on Net::HTTPBadResponse exceptions. These are typically raised
|
159
|
+
when something between the client and the server clobbers the response, so
|
160
|
+
repeating the request is the most sensible approach.
|
161
|
+
|
162
|
+
We don't limit the number of retries which means this code could end up
|
163
|
+
looping forever. I'm loath to specify some arbitrary limit, however, without
|
164
|
+
documentation on what to expect. For example, in the case of 403 errors, my
|
165
|
+
testing reveals that sometimes we succeed after retrying twice, and other
|
166
|
+
times it may take nearly ten retries.
|
167
|
+
parents:
|
168
|
+
- id: 7b3b8fc98339bd0f47f574ecd7e24f1f141b070e
|
169
|
+
url: http://github.com/fcoury/octopi/commit/6cae2e317b2e4301200b62654e57a0394c9f8b46
|
170
|
+
author:
|
171
|
+
name: Run Paint Run Run
|
172
|
+
email: runrun@runpaint.org
|
173
|
+
id: 6cae2e317b2e4301200b62654e57a0394c9f8b46
|
174
|
+
committed_date: "2009-04-24T22:05:35-07:00"
|
175
|
+
authored_date: "2009-04-24T22:05:35-07:00"
|
176
|
+
tree: dd6cf18e7832cb3b5c4eeb60a4aa131a49629e53
|
177
|
+
committer:
|
178
|
+
name: Run Paint Run Run
|
179
|
+
email: runrun@runpaint.org
|
180
|
+
- message: Add .branches method to Repository object.
|
181
|
+
parents:
|
182
|
+
- id: 385ce1d6989adae200b10c416e4ea614d24746c0
|
183
|
+
url: http://github.com/fcoury/octopi/commit/a37a352bd11b6859aa95419cbd0698f510051028
|
184
|
+
author:
|
185
|
+
name: Run Paint Run Run
|
186
|
+
email: runrun@runpaint.org
|
187
|
+
id: a37a352bd11b6859aa95419cbd0698f510051028
|
188
|
+
committed_date: "2009-04-23T19:42:53-07:00"
|
189
|
+
authored_date: "2009-04-23T19:42:53-07:00"
|
190
|
+
tree: 9c4547fb3fa88948322cc3f0bfed1f450c4ce330
|
191
|
+
committer:
|
192
|
+
name: Run Paint Run Run
|
193
|
+
email: runrun@runpaint.org
|
194
|
+
- message: |-
|
195
|
+
Make .keys and .emails return Arrays.
|
196
|
+
|
197
|
+
The .keys and .emails methods were returning HTTParty responses which were
|
198
|
+
confusing to the caller, and contained an unnecessary level of depth. We now
|
199
|
+
index the response with the appropriate hash key, thus returning its Array
|
200
|
+
value.
|
201
|
+
parents:
|
202
|
+
- id: 03da49d56da895ee0750e256dfb1845bc4003260
|
203
|
+
url: http://github.com/fcoury/octopi/commit/3221a7f870af4126087451725f152411653f776e
|
204
|
+
author:
|
205
|
+
name: Run Paint Run Run
|
206
|
+
email: runrun@runpaint.org
|
207
|
+
id: 3221a7f870af4126087451725f152411653f776e
|
208
|
+
committed_date: "2009-04-22T20:48:27-07:00"
|
209
|
+
authored_date: "2009-04-22T20:48:27-07:00"
|
210
|
+
tree: 3f6ee5d9c06eabd29d267e6f407023557f25b2c2
|
211
|
+
committer:
|
212
|
+
name: Run Paint Run Run
|
213
|
+
email: runrun@runpaint.org
|
214
|
+
- message: |-
|
215
|
+
Removing superfluous yield.
|
216
|
+
|
217
|
+
The `submit` method yields to the block it's been passed, prints out a trace,
|
218
|
+
then makes almost the same yield again. I assume that this is in error, and
|
219
|
+
could have been caused by my previous merge.
|
220
|
+
parents:
|
221
|
+
- id: b13f6787c935b72dfc2d5bcd8e1debd9c3080719
|
222
|
+
url: http://github.com/fcoury/octopi/commit/03da49d56da895ee0750e256dfb1845bc4003260
|
223
|
+
author:
|
224
|
+
name: Run Paint Run Run
|
225
|
+
email: runrun@runpaint.org
|
226
|
+
id: 03da49d56da895ee0750e256dfb1845bc4003260
|
227
|
+
committed_date: "2009-04-22T20:12:54-07:00"
|
228
|
+
authored_date: "2009-04-22T20:12:54-07:00"
|
229
|
+
tree: 9714482c07679b5e0e7223f7342980ea60a6973d
|
230
|
+
committer:
|
231
|
+
name: Run Paint Run Run
|
232
|
+
email: runrun@runpaint.org
|
233
|
+
- message: |-
|
234
|
+
Undo 3cb8fbddb6cbd0c9ef2d23e65363d48c42917a68.
|
235
|
+
|
236
|
+
Commit 3cb8fbddb6cbd0c9ef2d23e65363d48c42917a68 has been made obsolete by
|
237
|
+
commit 67320c5c3e09a23813367ff772d607d4a64642e5. Now we're appending the
|
238
|
+
credentials to GET requests, .keys and .emails can return to using the correct
|
239
|
+
request type.
|
240
|
+
parents:
|
241
|
+
- id: 67320c5c3e09a23813367ff772d607d4a64642e5
|
242
|
+
url: http://github.com/fcoury/octopi/commit/b13f6787c935b72dfc2d5bcd8e1debd9c3080719
|
243
|
+
author:
|
244
|
+
name: Run Paint Run Run
|
245
|
+
email: runrun@runpaint.org
|
246
|
+
id: b13f6787c935b72dfc2d5bcd8e1debd9c3080719
|
247
|
+
committed_date: "2009-04-22T20:09:18-07:00"
|
248
|
+
authored_date: "2009-04-22T20:09:18-07:00"
|
249
|
+
tree: 92df231e4fd73c19da9d8b0e68161ddb84f08225
|
250
|
+
committer:
|
251
|
+
name: Run Paint Run Run
|
252
|
+
email: runrun@runpaint.org
|
253
|
+
- message: |-
|
254
|
+
Add credentials to `default_params` for auth'd GET.
|
255
|
+
|
256
|
+
We want the token and login to be sent for all authenticated queries. They
|
257
|
+
were being sent for POST requests, but, seemingly, not for GETs, causing
|
258
|
+
methods relying on the latter to fail. HTTParty's `default_params` method
|
259
|
+
causes parameters so set to be sent on every request. We specify `login` and
|
260
|
+
`token` as default parameters if the request is authenticated.
|
261
|
+
parents:
|
262
|
+
- id: 3cb8fbddb6cbd0c9ef2d23e65363d48c42917a68
|
263
|
+
url: http://github.com/fcoury/octopi/commit/67320c5c3e09a23813367ff772d607d4a64642e5
|
264
|
+
author:
|
265
|
+
name: Run Paint Run Run
|
266
|
+
email: runrun@runpaint.org
|
267
|
+
id: 67320c5c3e09a23813367ff772d607d4a64642e5
|
268
|
+
committed_date: "2009-04-22T20:02:51-07:00"
|
269
|
+
authored_date: "2009-04-22T20:02:51-07:00"
|
270
|
+
tree: d08a11ff5f253e97fad4faec681b6a69c4a97ae7
|
271
|
+
committer:
|
272
|
+
name: Run Paint Run Run
|
273
|
+
email: runrun@runpaint.org
|
274
|
+
- message: |-
|
275
|
+
POST is required for /user/keys and /user/emails.
|
276
|
+
|
277
|
+
The .keys and .emails methods returned a "not authenticated" error because
|
278
|
+
they were fetched via GET and thus the credentials were not sent. Using POST
|
279
|
+
fixes this bug.
|
280
|
+
parents:
|
281
|
+
- id: 1b8113663544a2a4998b3da051b8c91878362e37
|
282
|
+
url: http://github.com/fcoury/octopi/commit/3cb8fbddb6cbd0c9ef2d23e65363d48c42917a68
|
283
|
+
author:
|
284
|
+
name: Run Paint Run Run
|
285
|
+
email: runrun@runpaint.org
|
286
|
+
id: 3cb8fbddb6cbd0c9ef2d23e65363d48c42917a68
|
287
|
+
committed_date: "2009-04-22T19:37:26-07:00"
|
288
|
+
authored_date: "2009-04-22T19:37:26-07:00"
|
289
|
+
tree: a5118d94496564dbd41855c59595c232da761412
|
290
|
+
committer:
|
291
|
+
name: Run Paint Run Run
|
292
|
+
email: runrun@runpaint.org
|
293
|
+
- message: |-
|
294
|
+
Merge branch 'master' of git://github.com/fcoury/octopi
|
295
|
+
|
296
|
+
Conflicts:
|
297
|
+
lib/octopi.rb
|
298
|
+
parents:
|
299
|
+
- id: 7fe95e3ea33d31f56a9d5aa73655b1e42407da07
|
300
|
+
- id: 0f92396690d15dc4f5704b0f1a6f80d60f6956ca
|
301
|
+
url: http://github.com/fcoury/octopi/commit/006ecb2bc3fd3fa57b13bb870f76b72070770e52
|
302
|
+
author:
|
303
|
+
name: Run Paint Run Run
|
304
|
+
email: runrun@runpaint.org
|
305
|
+
id: 006ecb2bc3fd3fa57b13bb870f76b72070770e52
|
306
|
+
committed_date: "2009-04-22T06:33:59-07:00"
|
307
|
+
authored_date: "2009-04-22T06:33:59-07:00"
|
308
|
+
tree: 5c6a0b9bac417516197ae710765481f915d2a8c3
|
309
|
+
committer:
|
310
|
+
name: Run Paint Run Run
|
311
|
+
email: runrun@runpaint.org
|
312
|
+
- message: "Seamless authentication using .gitconfig. Closes #15."
|
313
|
+
parents:
|
314
|
+
- id: 69e57cd8ea6ea782a75734f86dafc49e226b652f
|
315
|
+
url: http://github.com/fcoury/octopi/commit/b425c53e7556387bf741aefa37e25ef829dccaf5
|
316
|
+
author:
|
317
|
+
name: Felipe Coury
|
318
|
+
email: felipe.coury@gmail.com
|
319
|
+
id: b425c53e7556387bf741aefa37e25ef829dccaf5
|
320
|
+
committed_date: "2009-04-22T05:20:17-07:00"
|
321
|
+
authored_date: "2009-04-22T05:20:17-07:00"
|
322
|
+
tree: bd8079ddcebc81163162692e5d8b3b74d40f9bb6
|
323
|
+
committer:
|
324
|
+
name: Felipe Coury
|
325
|
+
email: felipe.coury@gmail.com
|
326
|
+
- message: |-
|
327
|
+
Improved issues handing
|
328
|
+
Added cURL and regular tracing options
|
329
|
+
Improved documentation on README
|
330
|
+
Renamed github.yml.default to example
|
331
|
+
parents:
|
332
|
+
- id: 7ae30402d1485da572c70cca2879241505dc64ba
|
333
|
+
url: http://github.com/fcoury/octopi/commit/885694b7bbec122f5dd69cd7bbbcecef49ae6e41
|
334
|
+
author:
|
335
|
+
name: Felipe Coury
|
336
|
+
email: felipe.coury@gmail.com
|
337
|
+
id: 885694b7bbec122f5dd69cd7bbbcecef49ae6e41
|
338
|
+
committed_date: "2009-04-21T07:43:13-07:00"
|
339
|
+
authored_date: "2009-04-21T07:42:35-07:00"
|
340
|
+
tree: a608b20022b019fdb9307b6f61482c227473c5f4
|
341
|
+
committer:
|
342
|
+
name: Felipe Coury
|
343
|
+
email: felipe.coury@gmail.com
|
344
|
+
- message: |-
|
345
|
+
Complain about status code before content type.
|
346
|
+
|
347
|
+
GitHub currently returns 500 errors as HTML. When we encountered this, the
|
348
|
+
error message referred to the content type rather than the status code. Now we
|
349
|
+
check the status code first, so errors are more informative.
|
350
|
+
|
351
|
+
Signed-off-by: Felipe Coury <felipe.coury@gmail.com>
|
352
|
+
parents:
|
353
|
+
- id: 24f982454a9857eabc546ae807a1ea6501c4db48
|
354
|
+
url: http://github.com/fcoury/octopi/commit/cbcda568351da278fa9c028265d4e3f35e8bacde
|
355
|
+
author:
|
356
|
+
name: Run Paint Run Run
|
357
|
+
email: runrun@runpaint.org
|
358
|
+
id: cbcda568351da278fa9c028265d4e3f35e8bacde
|
359
|
+
committed_date: "2009-04-21T05:53:05-07:00"
|
360
|
+
authored_date: "2009-04-21T04:23:55-07:00"
|
361
|
+
tree: 800618a23020d8fbbd788d750b363bb230b5872a
|
362
|
+
committer:
|
363
|
+
name: Felipe Coury
|
364
|
+
email: felipe.coury@gmail.com
|
365
|
+
- message: |-
|
366
|
+
Complain about status code before content type.
|
367
|
+
|
368
|
+
GitHub currently returns 500 errors as HTML. When we encountered this, the
|
369
|
+
error message referred to the content type rather than the status code. Now we
|
370
|
+
check the status code first, so errors are more informative.
|
371
|
+
parents:
|
372
|
+
- id: e7928010f2cc0e019afdacf9e94aae501a743e93
|
373
|
+
url: http://github.com/fcoury/octopi/commit/7fe95e3ea33d31f56a9d5aa73655b1e42407da07
|
374
|
+
author:
|
375
|
+
name: Run Paint Run Run
|
376
|
+
email: runrun@runpaint.org
|
377
|
+
id: 7fe95e3ea33d31f56a9d5aa73655b1e42407da07
|
378
|
+
committed_date: "2009-04-21T04:23:55-07:00"
|
379
|
+
authored_date: "2009-04-21T04:23:55-07:00"
|
380
|
+
tree: 800618a23020d8fbbd788d750b363bb230b5872a
|
381
|
+
committer:
|
382
|
+
name: Run Paint Run Run
|
383
|
+
email: runrun@runpaint.org
|
384
|
+
- message: Added authenticated commands, but GitHub API is giving 500 errors for opening issues.
|
385
|
+
parents:
|
386
|
+
- id: 917b6ea8f221e47263bbb56317821b75a0f4bc07
|
387
|
+
url: http://github.com/fcoury/octopi/commit/545fff17a6c2a5f35e91352b5d75da47b7b05d41
|
388
|
+
author:
|
389
|
+
name: Felipe Coury
|
390
|
+
email: felipe.coury@gmail.com
|
391
|
+
id: 545fff17a6c2a5f35e91352b5d75da47b7b05d41
|
392
|
+
committed_date: "2009-04-20T19:15:13-07:00"
|
393
|
+
authored_date: "2009-04-20T19:15:13-07:00"
|
394
|
+
tree: cbf1c98bbc6331521650c968d5a20a37990de989
|
395
|
+
committer:
|
396
|
+
name: Felipe Coury
|
397
|
+
email: felipe.coury@gmail.com
|
398
|
+
- message: |-
|
399
|
+
Add Base.validate_args, refactored error classes.
|
400
|
+
|
401
|
+
Children of Base can now call self.validate_args with a hash containing
|
402
|
+
arguments as keys and a corresponding specification symbol as the key. If any
|
403
|
+
arguments are invalidated, an informative ArgumentError is raised.
|
404
|
+
parents:
|
405
|
+
- id: ac42162a507f4eaa74a42168b2f0290fae233d68
|
406
|
+
url: http://github.com/fcoury/octopi/commit/9fbc19ce4f897e9f7b787d910ed66d84dcc18682
|
407
|
+
author:
|
408
|
+
name: Run Paint Run Run
|
409
|
+
email: runrun@runpaint.org
|
410
|
+
id: 9fbc19ce4f897e9f7b787d910ed66d84dcc18682
|
411
|
+
committed_date: "2009-04-20T16:24:30-07:00"
|
412
|
+
authored_date: "2009-04-20T16:24:30-07:00"
|
413
|
+
tree: 369bafd01c6389ad0731d752c11ff2ab42517031
|
414
|
+
committer:
|
415
|
+
name: Run Paint Run Run
|
416
|
+
email: runrun@runpaint.org
|
417
|
+
- message: |-
|
418
|
+
Added issues API integration
|
419
|
+
Refactoring on the way parameters are passed to commits and issues
|
420
|
+
parents:
|
421
|
+
- id: a6b6edaa0ce7e2c49ca6156523a33fbad2b2a4e9
|
422
|
+
url: http://github.com/fcoury/octopi/commit/8bcc40d2b5accc592b814f84ab960fc2b7cbf05f
|
423
|
+
author:
|
424
|
+
name: Felipe Coury
|
425
|
+
email: felipe.coury@gmail.com
|
426
|
+
id: 8bcc40d2b5accc592b814f84ab960fc2b7cbf05f
|
427
|
+
committed_date: "2009-04-20T11:32:08-07:00"
|
428
|
+
authored_date: "2009-04-20T11:32:08-07:00"
|
429
|
+
tree: 98548123cdd1fb2d7a0c63e8f57dc87c87fde537
|
430
|
+
committer:
|
431
|
+
name: Felipe Coury
|
432
|
+
email: felipe.coury@gmail.com
|
433
|
+
- message: Updated overall.rb example and minor fixes on API interfaces
|
434
|
+
parents:
|
435
|
+
- id: 6882a99d4e43d394d14f7363ee2a0c40f16c0d3f
|
436
|
+
url: http://github.com/fcoury/octopi/commit/107f3c9b7f1fa859bc990763e5858d63f971ddc9
|
437
|
+
author:
|
438
|
+
name: Felipe Coury
|
439
|
+
email: felipe.coury@gmail.com
|
440
|
+
id: 107f3c9b7f1fa859bc990763e5858d63f971ddc9
|
441
|
+
committed_date: "2009-04-20T07:26:52-07:00"
|
442
|
+
authored_date: "2009-04-20T07:26:52-07:00"
|
443
|
+
tree: 20349d6b5f178328333ab4871d52af8591c6b5ea
|
444
|
+
committer:
|
445
|
+
name: Felipe Coury
|
446
|
+
email: felipe.coury@gmail.com
|
447
|
+
- message: |-
|
448
|
+
Sanity check for response content type.
|
449
|
+
|
450
|
+
The API should respond with data in the same format as we requested. If the
|
451
|
+
Content-Type disagrees with what we expected, we raise an exception.
|
452
|
+
|
453
|
+
This is currently broken for raw Git data as the API call returns the wrong
|
454
|
+
content type. Reported as develop/develop.github.com#13
|
455
|
+
parents:
|
456
|
+
- id: 060655bac4d9a6da8d763e6cc3bd1aef5037d351
|
457
|
+
url: http://github.com/fcoury/octopi/commit/6882a99d4e43d394d14f7363ee2a0c40f16c0d3f
|
458
|
+
author:
|
459
|
+
name: Run Paint Run Run
|
460
|
+
email: runrun@runpaint.org
|
461
|
+
id: 6882a99d4e43d394d14f7363ee2a0c40f16c0d3f
|
462
|
+
committed_date: "2009-04-20T03:56:25-07:00"
|
463
|
+
authored_date: "2009-04-20T03:56:25-07:00"
|
464
|
+
tree: 6d69d0f09972675de7cf00a720b12ab49001b5ff
|
465
|
+
committer:
|
466
|
+
name: Run Paint Run Run
|
467
|
+
email: runrun@runpaint.org
|
468
|
+
- message: Split source over several files.
|
469
|
+
parents:
|
470
|
+
- id: edbd4df94ab578266ec966a7f90d7018bccec4e8
|
471
|
+
url: http://github.com/fcoury/octopi/commit/060655bac4d9a6da8d763e6cc3bd1aef5037d351
|
472
|
+
author:
|
473
|
+
name: Run Paint Run Run
|
474
|
+
email: runrun@runpaint.org
|
475
|
+
id: 060655bac4d9a6da8d763e6cc3bd1aef5037d351
|
476
|
+
committed_date: "2009-04-20T03:08:55-07:00"
|
477
|
+
authored_date: "2009-04-20T03:08:55-07:00"
|
478
|
+
tree: 75033d55c59abfd07517dfb47815d217b929f5d6
|
479
|
+
committer:
|
480
|
+
name: Run Paint Run Run
|
481
|
+
email: runrun@runpaint.org
|
482
|
+
- message: |-
|
483
|
+
Add .clone_url method to Repository objects.
|
484
|
+
|
485
|
+
Repository objects have a .clone_url method which returns their public clone
|
486
|
+
URL.
|
487
|
+
parents:
|
488
|
+
- id: 102cc1bf2580e2864cc4fb86b405701cf6c43c9c
|
489
|
+
url: http://github.com/fcoury/octopi/commit/edbd4df94ab578266ec966a7f90d7018bccec4e8
|
490
|
+
author:
|
491
|
+
name: Run Paint Run Run
|
492
|
+
email: runrun@runpaint.org
|
493
|
+
id: edbd4df94ab578266ec966a7f90d7018bccec4e8
|
494
|
+
committed_date: "2009-04-19T19:02:15-07:00"
|
495
|
+
authored_date: "2009-04-19T19:02:15-07:00"
|
496
|
+
tree: f1de27f0584929594634c29013dfdbca6e00d998
|
497
|
+
committer:
|
498
|
+
name: Run Paint Run Run
|
499
|
+
email: runrun@runpaint.org
|
500
|
+
- message: |-
|
501
|
+
Let find/find_all methods accept objects.
|
502
|
+
|
503
|
+
Initial draft of letting the user-facing methods, find/find_all, mostly,
|
504
|
+
accept an object corresponding to the argument type instead of a string.
|
505
|
+
parents:
|
506
|
+
- id: d6a8242378a77161ba66634efac8c406487dbd59
|
507
|
+
url: http://github.com/fcoury/octopi/commit/102cc1bf2580e2864cc4fb86b405701cf6c43c9c
|
508
|
+
author:
|
509
|
+
name: Run Paint Run Run
|
510
|
+
email: runrun@runpaint.org
|
511
|
+
id: 102cc1bf2580e2864cc4fb86b405701cf6c43c9c
|
512
|
+
committed_date: "2009-04-19T18:45:20-07:00"
|
513
|
+
authored_date: "2009-04-19T18:45:20-07:00"
|
514
|
+
tree: 2e12b79c7f64acad00b4e81d19a74f4370a1769e
|
515
|
+
committer:
|
516
|
+
name: Run Paint Run Run
|
517
|
+
email: runrun@runpaint.org
|
518
|
+
- message: |-
|
519
|
+
Tweaked Repository.find_all's argument handling.
|
520
|
+
|
521
|
+
Repository.find_all accepted an array of 'words', which it concatenated with
|
522
|
+
'+'. It now also accepts a single space-separated String, or any combination
|
523
|
+
of the two.
|
524
|
+
|
525
|
+
This method is still buggy, however, in that the query is not URI escaped;
|
526
|
+
it's simply interpolated as-is into the URI. Peculiarly, the API doesn't
|
527
|
+
accept URI-escaped space-separated queries, e.g. 'ruby%20spec'. This is
|
528
|
+
non-standard enough to put off escaping until I know exactly what the API
|
529
|
+
expects.
|
530
|
+
parents:
|
531
|
+
- id: f47cc6505cc816fa4f5cd6dde5adc20b0d9029be
|
532
|
+
url: http://github.com/fcoury/octopi/commit/d6a8242378a77161ba66634efac8c406487dbd59
|
533
|
+
author:
|
534
|
+
name: Run Paint Run Run
|
535
|
+
email: runrun@runpaint.org
|
536
|
+
id: d6a8242378a77161ba66634efac8c406487dbd59
|
537
|
+
committed_date: "2009-04-19T18:18:55-07:00"
|
538
|
+
authored_date: "2009-04-19T18:18:55-07:00"
|
539
|
+
tree: dbf4e9576dab1e8b25e0175c51498c62821e0243
|
540
|
+
committer:
|
541
|
+
name: Run Paint Run Run
|
542
|
+
email: runrun@runpaint.org
|
543
|
+
- message: |-
|
544
|
+
Tag.find accepts User a/o Repository object args.
|
545
|
+
|
546
|
+
Tag.find(user,repo) assumed user and repo were Strings; now it does the right
|
547
|
+
thing if one or both arguments are User or Repository objects, respectively.
|
548
|
+
parents:
|
549
|
+
- id: 6dcc3ee64fbe5a09e978b4a8c5397a16bab4ccd2
|
550
|
+
url: http://github.com/fcoury/octopi/commit/f47cc6505cc816fa4f5cd6dde5adc20b0d9029be
|
551
|
+
author:
|
552
|
+
name: Run Paint Run Run
|
553
|
+
email: runrun@runpaint.org
|
554
|
+
id: f47cc6505cc816fa4f5cd6dde5adc20b0d9029be
|
555
|
+
committed_date: "2009-04-19T17:47:59-07:00"
|
556
|
+
authored_date: "2009-04-19T17:47:59-07:00"
|
557
|
+
tree: f59b86c124be86f65af001ab8f4a9f56a7d9dba0
|
558
|
+
committer:
|
559
|
+
name: Run Paint Run Run
|
560
|
+
email: runrun@runpaint.org
|
561
|
+
- message: Tweaked .find_all method; no func. changes.
|
562
|
+
parents:
|
563
|
+
- id: c6ac8abb00862dd9f70ea4376f4d37075f9764b1
|
564
|
+
url: http://github.com/fcoury/octopi/commit/6dcc3ee64fbe5a09e978b4a8c5397a16bab4ccd2
|
565
|
+
author:
|
566
|
+
name: Run Paint Run Run
|
567
|
+
email: runrun@runpaint.org
|
568
|
+
id: 6dcc3ee64fbe5a09e978b4a8c5397a16bab4ccd2
|
569
|
+
committed_date: "2009-04-19T17:04:48-07:00"
|
570
|
+
authored_date: "2009-04-19T17:04:48-07:00"
|
571
|
+
tree: 322adc3d7c86606374d24b87f649bbde6659befd
|
572
|
+
committer:
|
573
|
+
name: Run Paint Run Run
|
574
|
+
email: runrun@runpaint.org
|
575
|
+
- message: |-
|
576
|
+
find/find_all join Array arg with '/'.
|
577
|
+
|
578
|
+
A number of callers were joining their arguments with '/' before passing them
|
579
|
+
to find/find_all. Now these methods automatically do this if passed an array.
|
580
|
+
There's still duplicate code, but it's better than it was.
|
581
|
+
parents:
|
582
|
+
- id: bb15be320cfaf1ab12740751d59650491d942c67
|
583
|
+
url: http://github.com/fcoury/octopi/commit/c6ac8abb00862dd9f70ea4376f4d37075f9764b1
|
584
|
+
author:
|
585
|
+
name: Run Paint Run Run
|
586
|
+
email: runrun@runpaint.org
|
587
|
+
id: c6ac8abb00862dd9f70ea4376f4d37075f9764b1
|
588
|
+
committed_date: "2009-04-19T16:56:24-07:00"
|
589
|
+
authored_date: "2009-04-19T16:56:24-07:00"
|
590
|
+
tree: 744d7dd84430747aafe511319c8eff63c20a1d70
|
591
|
+
committer:
|
592
|
+
name: Run Paint Run Run
|
593
|
+
email: runrun@runpaint.org
|
594
|
+
- message: |-
|
595
|
+
Initial implementation of the Object API.
|
596
|
+
|
597
|
+
* The `tree/show/:user/:repo/:tree_sha` call returns an array of objects in
|
598
|
+
the given tree. This is exposed by the FileObject class. The name is
|
599
|
+
convoluted because Object is a reserved word. 'Tree' is awkward because
|
600
|
+
although the argument describes a tree, the returned objects aren't trees...
|
601
|
+
We should probably call this Tree, and have it return an array of FileObject
|
602
|
+
objects...
|
603
|
+
* The `blob/show/:user/:repo/:tree_sha/:path` call is supported by
|
604
|
+
Blob.find(user, repo, sha, path).
|
605
|
+
* The `blob/show/:user/:repo/:sha` call returns raw Git data irrespective of
|
606
|
+
caller's format preference. To handle this a get_raw method has been defined
|
607
|
+
which simply requests a given path and returns the raw body without attempting
|
608
|
+
to coerce it into a data structure. The right way to handle this is to format
|
609
|
+
based on the Content-Type header in the response, but that is always set to
|
610
|
+
text/html, so is useless. Blob.find(user, repo, sha) returns said raw data.
|
611
|
+
* The .find method is now intelligent about arrays. If yaml[key] is an array,
|
612
|
+
each element is assumed to be a hash constituting a new object. I still don't
|
613
|
+
claim to understand all the magic of this module, so this enchantment may very
|
614
|
+
well be unnecessary, but it enabled some hairy code to be factored out, so it
|
615
|
+
stays for now.
|
616
|
+
* The .find_all method now accepts a block, to which it passes the data it
|
617
|
+
intends to construct a new object with. This is to allow callers to massage
|
618
|
+
an arbitrary data structure into a simple hash. This is used for Tag.find
|
619
|
+
because GitHub returns a single hash of tags, rather than one hash per tag.
|
620
|
+
|
621
|
+
(Yes, I realise that this is a ridiculously long commit, and, yes, I have
|
622
|
+
heard of cherry-pick...)
|
623
|
+
parents:
|
624
|
+
- id: 6fc1c143559b2434c19acb2980e93c5dd7290327
|
625
|
+
url: http://github.com/fcoury/octopi/commit/bb15be320cfaf1ab12740751d59650491d942c67
|
626
|
+
author:
|
627
|
+
name: Run Paint Run Run
|
628
|
+
email: runrun@runpaint.org
|
629
|
+
id: bb15be320cfaf1ab12740751d59650491d942c67
|
630
|
+
committed_date: "2009-04-19T16:47:30-07:00"
|
631
|
+
authored_date: "2009-04-19T16:14:53-07:00"
|
632
|
+
tree: 6190fbfefdeb71b465fcaec228312202ac49e3ba
|
633
|
+
committer:
|
634
|
+
name: Run Paint Run Run
|
635
|
+
email: runrun@runpaint.org
|
636
|
+
- message: |-
|
637
|
+
Improved handling of API errors.
|
638
|
+
|
639
|
+
GitHub API errors aren't reported consistently yet. Sometimes they return
|
640
|
+
reams of HTML and a non-200 status code, other times they return a 200 status
|
641
|
+
code and an error message. We now handle both of these cases by raising an
|
642
|
+
APIError with an appropriate message. This will need to be updated as the API
|
643
|
+
standardises. When it does, we want to interpret 404s, for example, as the
|
644
|
+
object not being found, and thus provide an informative error message.
|
645
|
+
parents:
|
646
|
+
- id: 3763caf0e49c519710303f28635eb76f40e34e9e
|
647
|
+
url: http://github.com/fcoury/octopi/commit/6fc1c143559b2434c19acb2980e93c5dd7290327
|
648
|
+
author:
|
649
|
+
name: Run Paint Run Run
|
650
|
+
email: runrun@runpaint.org
|
651
|
+
id: 6fc1c143559b2434c19acb2980e93c5dd7290327
|
652
|
+
committed_date: "2009-04-19T13:22:58-07:00"
|
653
|
+
authored_date: "2009-04-19T13:22:58-07:00"
|
654
|
+
tree: 200a49489514b676a9e9f6887149eee517c4bb9f
|
655
|
+
committer:
|
656
|
+
name: Run Paint Run Run
|
657
|
+
email: runrun@runpaint.org
|
658
|
+
- message: |-
|
659
|
+
Support for viewing a repository's tags.
|
660
|
+
|
661
|
+
There's now a Tag class so you can ask for the tags of user's repo with
|
662
|
+
Tag.find(user, repo). Plus, all repository objects respond to .tags, which
|
663
|
+
returns an array of Tag objects. This isn't the pretties code but it works,
|
664
|
+
and that's enough for now.
|
665
|
+
parents:
|
666
|
+
- id: 773c939a5ca6b3a4f2ed903df04369caa2a0c536
|
667
|
+
url: http://github.com/fcoury/octopi/commit/3763caf0e49c519710303f28635eb76f40e34e9e
|
668
|
+
author:
|
669
|
+
name: Run Paint Run Run
|
670
|
+
email: runrun@runpaint.org
|
671
|
+
id: 3763caf0e49c519710303f28635eb76f40e34e9e
|
672
|
+
committed_date: "2009-04-19T12:55:57-07:00"
|
673
|
+
authored_date: "2009-04-19T12:55:57-07:00"
|
674
|
+
tree: d8b6450cd634d4df077e6ec9328d9449cf33d90c
|
675
|
+
committer:
|
676
|
+
name: Run Paint Run Run
|
677
|
+
email: runrun@runpaint.org
|
678
|
+
- message: Added integration between user and repositories
|
679
|
+
parents:
|
680
|
+
- id: 38db7cc13b4728e628194fb56f95af04ba3b1a01
|
681
|
+
- id: 3dca3c53474643eb843f87b45d2c2df62ce828df
|
682
|
+
url: http://github.com/fcoury/octopi/commit/8077ca332e44bf89bb93a9785673c477915bf4ea
|
683
|
+
author:
|
684
|
+
name: Felipe Coury
|
685
|
+
email: felipe.coury@gmail.com
|
686
|
+
id: 8077ca332e44bf89bb93a9785673c477915bf4ea
|
687
|
+
committed_date: "2009-04-19T09:43:14-07:00"
|
688
|
+
authored_date: "2009-04-19T09:43:14-07:00"
|
689
|
+
tree: 47532c6d6a8f86e4bf4ad4323fbfb933e40d0836
|
690
|
+
committer:
|
691
|
+
name: Felipe Coury
|
692
|
+
email: felipe.coury@gmail.com
|
693
|
+
- message: Added commits suport and integration between repositories and commits
|
694
|
+
parents:
|
695
|
+
- id: e515ea648fc4b0a852531e312563243a817811b5
|
696
|
+
url: http://github.com/fcoury/octopi/commit/38db7cc13b4728e628194fb56f95af04ba3b1a01
|
697
|
+
author:
|
698
|
+
name: Felipe Coury
|
699
|
+
email: felipe.coury@gmail.com
|
700
|
+
id: 38db7cc13b4728e628194fb56f95af04ba3b1a01
|
701
|
+
committed_date: "2009-04-19T09:26:27-07:00"
|
702
|
+
authored_date: "2009-04-19T09:26:27-07:00"
|
703
|
+
tree: b846cfbedcd53ddc4360b30bc52a8a12428bbdaf
|
704
|
+
committer:
|
705
|
+
name: Felipe Coury
|
706
|
+
email: felipe.coury@gmail.com
|
707
|
+
- message: |-
|
708
|
+
Raise APIError if GitHub returns bad status code.
|
709
|
+
|
710
|
+
If GitHub.com can't handle the API request, either due to user error or server
|
711
|
+
error, it returns an utterly useless chunk of HTML. This confuses the library,
|
712
|
+
so we now raise an APIError if the status code is anything other than 200.
|
713
|
+
Better error handling will have to wait until the API supports it.
|
714
|
+
parents:
|
715
|
+
- id: 1e9e54acd4936644131dae6839995b4ef2bccd81
|
716
|
+
url: http://github.com/fcoury/octopi/commit/3dca3c53474643eb843f87b45d2c2df62ce828df
|
717
|
+
author:
|
718
|
+
name: Run Paint Run Run
|
719
|
+
email: runrun@runpaint.org
|
720
|
+
id: 3dca3c53474643eb843f87b45d2c2df62ce828df
|
721
|
+
committed_date: "2009-04-19T09:15:04-07:00"
|
722
|
+
authored_date: "2009-04-19T09:15:04-07:00"
|
723
|
+
tree: 49e2764200c5a9982f8d48e5e8947968991da654
|
724
|
+
committer:
|
725
|
+
name: Run Paint Run Run
|
726
|
+
email: runrun@runpaint.org
|
727
|
+
- message: |-
|
728
|
+
Let Repository.find(user) show user's repositories
|
729
|
+
|
730
|
+
Hacked Repository.find so if called with a single argument, assumes it to be a
|
731
|
+
user name, and returns an array of Repository objects corresponding to the
|
732
|
+
user's repositories.
|
733
|
+
|
734
|
+
I don't completely understand this library's architecture, so it's likely my
|
735
|
+
implementation is Wrong. ;-) Works for me, though.
|
736
|
+
parents:
|
737
|
+
- id: 63c533fc7883efdd9717ed0a3be1bc033a471e00
|
738
|
+
url: http://github.com/fcoury/octopi/commit/1e9e54acd4936644131dae6839995b4ef2bccd81
|
739
|
+
author:
|
740
|
+
name: Run Paint Run Run
|
741
|
+
email: runrun@runpaint.org
|
742
|
+
id: 1e9e54acd4936644131dae6839995b4ef2bccd81
|
743
|
+
committed_date: "2009-04-19T05:45:37-07:00"
|
744
|
+
authored_date: "2009-04-19T05:45:37-07:00"
|
745
|
+
tree: b74a6ee903fb261434e9336751ed6c563db26247
|
746
|
+
committer:
|
747
|
+
name: Run Paint Run Run
|
748
|
+
email: runrun@runpaint.org
|
749
|
+
- message: Repository search allows multiple query words for AND searching
|
750
|
+
parents:
|
751
|
+
- id: f76482a8ec00dffd750cb8bc0937d466763aeddb
|
752
|
+
url: http://github.com/fcoury/octopi/commit/83276d9a68f2590749749bfd40eebc1846219b13
|
753
|
+
author:
|
754
|
+
name: Felipe Coury
|
755
|
+
email: felipe.coury@gmail.com
|
756
|
+
id: 83276d9a68f2590749749bfd40eebc1846219b13
|
757
|
+
committed_date: "2009-04-18T20:32:10-07:00"
|
758
|
+
authored_date: "2009-04-18T20:32:10-07:00"
|
759
|
+
tree: 0b735b6939b1943960c306d5553f7b5a08ffc37f
|
760
|
+
committer:
|
761
|
+
name: Felipe Coury
|
762
|
+
email: felipe.coury@gmail.com
|
763
|
+
- message: "More development on the anonymous API: user and repositories"
|
764
|
+
parents:
|
765
|
+
- id: f7effc366276ab1615185bdbdc3c98515ce41594
|
766
|
+
url: http://github.com/fcoury/octopi/commit/6d6fec76209b961d68341a1e026b19111a041c8b
|
767
|
+
author:
|
768
|
+
name: Felipe Coury
|
769
|
+
email: felipe.coury@gmail.com
|
770
|
+
id: 6d6fec76209b961d68341a1e026b19111a041c8b
|
771
|
+
committed_date: "2009-04-18T20:11:04-07:00"
|
772
|
+
authored_date: "2009-04-18T20:11:04-07:00"
|
773
|
+
tree: a1ced58523b733130c2c10d6cec754b61b7ec503
|
774
|
+
committer:
|
775
|
+
name: Felipe Coury
|
776
|
+
email: felipe.coury@gmail.com
|
777
|
+
- message: Metaprogramming experimentation
|
778
|
+
parents:
|
779
|
+
- id: 5739978397271f146047c98ac314c12c439d7670
|
780
|
+
url: http://github.com/fcoury/octopi/commit/f7effc366276ab1615185bdbdc3c98515ce41594
|
781
|
+
author:
|
782
|
+
name: Felipe Coury
|
783
|
+
email: felipe.coury@gmail.com
|
784
|
+
id: f7effc366276ab1615185bdbdc3c98515ce41594
|
785
|
+
committed_date: "2009-04-18T17:29:56-07:00"
|
786
|
+
authored_date: "2009-04-18T17:29:43-07:00"
|
787
|
+
tree: 6efec2f4c25786a8f725d919ed553d3e4d069380
|
788
|
+
committer:
|
789
|
+
name: Felipe Coury
|
790
|
+
email: felipe.coury@gmail.com
|
791
|
+
- message: Minor bug fixing, posting data still doesn't work
|
792
|
+
parents:
|
793
|
+
- id: 036e73f9ccc8daa375ed01b2fa4ab762b558d3d6
|
794
|
+
url: http://github.com/fcoury/octopi/commit/5739978397271f146047c98ac314c12c439d7670
|
795
|
+
author:
|
796
|
+
name: Felipe Coury
|
797
|
+
email: felipe.coury@gmail.com
|
798
|
+
id: 5739978397271f146047c98ac314c12c439d7670
|
799
|
+
committed_date: "2009-04-18T01:03:30-07:00"
|
800
|
+
authored_date: "2009-04-18T01:03:30-07:00"
|
801
|
+
tree: 2d2c307c50e040c9bce473a889f06a2a91d2ac19
|
802
|
+
committer:
|
803
|
+
name: Felipe Coury
|
804
|
+
email: felipe.coury@gmail.com
|
805
|
+
- message: Initial commit
|
806
|
+
parents: []
|
807
|
+
|
808
|
+
url: http://github.com/fcoury/octopi/commit/036e73f9ccc8daa375ed01b2fa4ab762b558d3d6
|
809
|
+
author:
|
810
|
+
name: Felipe Coury
|
811
|
+
email: felipe.coury@gmail.com
|
812
|
+
id: 036e73f9ccc8daa375ed01b2fa4ab762b558d3d6
|
813
|
+
committed_date: "2009-04-17T21:26:41-07:00"
|
814
|
+
authored_date: "2009-04-17T21:26:41-07:00"
|
815
|
+
tree: 43e6c11e3fd7af31bb1c4bc03f56f29e8b608908
|
816
|
+
committer:
|
817
|
+
name: Felipe Coury
|
818
|
+
email: felipe.coury@gmail.com
|