dcuddeback-octopi 0.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. data/.gitignore +4 -0
  2. data/.yardoc +0 -0
  3. data/CHANGELOG.md +9 -0
  4. data/LICENSE +20 -0
  5. data/README.markdown +144 -0
  6. data/Rakefile +94 -0
  7. data/VERSION.yml +4 -0
  8. data/contrib/backup.rb +100 -0
  9. data/dcuddeback-octopi.gemspec +108 -0
  10. data/examples/authenticated.rb +20 -0
  11. data/examples/issues.rb +18 -0
  12. data/examples/overall.rb +50 -0
  13. data/lib/ext/string_ext.rb +5 -0
  14. data/lib/octopi/api.rb +213 -0
  15. data/lib/octopi/base.rb +115 -0
  16. data/lib/octopi/blob.rb +25 -0
  17. data/lib/octopi/branch.rb +31 -0
  18. data/lib/octopi/branch_set.rb +11 -0
  19. data/lib/octopi/comment.rb +20 -0
  20. data/lib/octopi/commit.rb +69 -0
  21. data/lib/octopi/deploy_key.rb +27 -0
  22. data/lib/octopi/deploy_key_set.rb +18 -0
  23. data/lib/octopi/error.rb +35 -0
  24. data/lib/octopi/file_object.rb +16 -0
  25. data/lib/octopi/gist.rb +28 -0
  26. data/lib/octopi/issue.rb +111 -0
  27. data/lib/octopi/issue_comment.rb +7 -0
  28. data/lib/octopi/issue_set.rb +21 -0
  29. data/lib/octopi/key.rb +25 -0
  30. data/lib/octopi/key_set.rb +14 -0
  31. data/lib/octopi/plan.rb +5 -0
  32. data/lib/octopi/repository.rb +136 -0
  33. data/lib/octopi/repository_set.rb +9 -0
  34. data/lib/octopi/resource.rb +70 -0
  35. data/lib/octopi/self.rb +33 -0
  36. data/lib/octopi/tag.rb +23 -0
  37. data/lib/octopi/user.rb +131 -0
  38. data/lib/octopi.rb +135 -0
  39. data/test/api_test.rb +58 -0
  40. data/test/authenticated_test.rb +39 -0
  41. data/test/base_test.rb +20 -0
  42. data/test/blob_test.rb +23 -0
  43. data/test/branch_test.rb +20 -0
  44. data/test/commit_test.rb +82 -0
  45. data/test/file_object_test.rb +39 -0
  46. data/test/gist_test.rb +16 -0
  47. data/test/issue_comment.rb +19 -0
  48. data/test/issue_set_test.rb +33 -0
  49. data/test/issue_test.rb +120 -0
  50. data/test/key_set_test.rb +29 -0
  51. data/test/key_test.rb +35 -0
  52. data/test/repository_set_test.rb +23 -0
  53. data/test/repository_test.rb +151 -0
  54. data/test/stubs/commits/fcoury/octopi/octopi.rb +818 -0
  55. data/test/tag_test.rb +20 -0
  56. data/test/test_helper.rb +246 -0
  57. data/test/user_test.rb +92 -0
  58. metadata +151 -0
@@ -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