octopi 0.4.2 → 0.4.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,29 +0,0 @@
1
- require File.join(File.dirname(__FILE__), 'test_helper')
2
-
3
- class KeySetTest < Test::Unit::TestCase
4
- include Octopi
5
-
6
- def setup
7
- fake_everything
8
- @user = User.find("fcoury")
9
- end
10
-
11
-
12
- context KeySet do
13
- should "be able to find a key" do
14
- auth do
15
- assert_not_nil Api.me.keys.find("macbook")
16
- end
17
- end
18
-
19
- should "not be able to find a key without a valid title" do
20
- exception = assert_raise NotFound do
21
- auth do
22
- assert_not_nil Api.me.keys.find("windows-box")
23
- end
24
- end
25
-
26
- assert_equal "The Key you were looking for could not be found, or is private.", exception.message
27
- end
28
- end
29
- end
@@ -1,35 +0,0 @@
1
- require File.join(File.dirname(__FILE__), 'test_helper')
2
-
3
- class KeyTest < Test::Unit::TestCase
4
- include Octopi
5
-
6
- def setup
7
- fake_everything
8
- @user = User.find("fcoury")
9
- auth do
10
- @key = Api.me.keys.first
11
- end
12
- end
13
-
14
- context Key do
15
-
16
- should "be able to add a key" do
17
- auth do
18
- Key.add(:title => "other-computer", :key => "AAAAB3NzaC1yc2EAAAABIwAAAQEA0dyfPrSHHSVD0u3JQlJfLyUrEVeNDW+9imbMHwiuT/IStf8SOroRjWT+/S5cL9m6qmKQBIU4v3LUnMKLTHfiWlqICnTDVRHuSayrHGp193I9kTSGBdM7wFZ2E8hDv5OqXHvAKGmOJvl5RqK0d42mhoK/x3bLRMQXHxwSDmYIFLy9rXLMvbVbdFJbbcqXP6QjnP4fAeebvTnUs6bVzInL9nh8Tqb3qjB5qji2i0MiCz3IouuZonOlef/VEac3Zpm6NcI5rVthPsMY55G8BMu4rVEStbIUlAJPoSBzqOgEKEXQbmWLh3CZnOoqQlLwIIvrKlwnXx26M1b+oOFm8s712Q==")
19
- end
20
- end
21
-
22
- should "be able to remove a key" do
23
- auth do
24
- assert_equal 2, Api.me.keys.size
25
- @key.remove
26
- # Just trust me on this one
27
- FakeWeb.register_uri(:get, "https://#{yaml_api}/user/keys" + auth_query, :response => stub_file(File.join("users", "key-removed")))
28
- assert_equal 1, Api.me.keys.size
29
- end
30
- end
31
-
32
-
33
-
34
- end
35
- end
@@ -1,23 +0,0 @@
1
- require File.join(File.dirname(__FILE__), 'test_helper')
2
-
3
- class RepositorySetTest < Test::Unit::TestCase
4
- include Octopi
5
-
6
- def setup
7
- fake_everything
8
- @user = User.find("fcoury")
9
- end
10
-
11
-
12
- context RepositorySet do
13
-
14
- should "return a repository set" do
15
- assert @user.repositories.is_a?(RepositorySet)
16
- end
17
-
18
- should "be able to find a repository" do
19
- assert_not_nil @user.repositories.find("octopi")
20
- end
21
-
22
- end
23
- end
@@ -1,164 +0,0 @@
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 "not retry for a repository you don't have access to" do
20
- FakeWeb.register_uri(:get, "https://#{yaml_api}/repos/show/github/github", :status => 403)
21
-
22
- exception = assert_raise APIError do
23
- Repository.find(:user => "github", :name => "github")
24
- end
25
-
26
- assert_equal exception.message, "Github returned status 403, you may not have access to this resource."
27
- end
28
-
29
- should "return a repository for a user" do
30
- assert_not_nil @user.repository(:name => "octopi")
31
- assert @user.repository(:name => "octopi").is_a?(Repository)
32
- end
33
-
34
- should "return a repository for a login" do
35
- assert_not_nil Repository.find(:user => "fcoury", :name => "octopi")
36
- end
37
-
38
- should "be able to look up the repository based on the user and name" do
39
- assert_not_nil Repository.find(:user => @user, :name => "octopi")
40
- end
41
-
42
- should "have a User as the owner" do
43
- assert @repository.owner.is_a?(User)
44
- end
45
-
46
- should "return repositories" do
47
- assert_equal 45, @user.repositories.size
48
- end
49
-
50
- should "return more repositories if authed" do
51
- assert_equal 44, @private_repos.size
52
- end
53
-
54
- should "not return a repository when asked for a private one" do
55
- exception = assert_raise NotFound do
56
- @user.repository(:name => "rboard")
57
- end
58
-
59
- assert_equal "The Repository you were looking for could not be found, or is private.", exception.message
60
- end
61
-
62
- should "return a private repository when authed" do
63
- auth do
64
- assert_not_nil @user.repository(:name => "rboard")
65
- end
66
- end
67
-
68
- should "be able to search for similar repositories" do
69
- repos = Repository.search("ruby", "testing")
70
- assert_not_nil repos
71
- assert repos.first.is_a?(Repository)
72
- end
73
-
74
- should "be able to find the latest 30 commits" do
75
- commits = @repository.commits
76
- assert_not_nil commits
77
- assert_equal 30, commits.size
78
- end
79
-
80
-
81
- should "be able to find all open issues" do
82
- issues = @repository.issues
83
- assert_not_nil issues
84
- assert_equal 21, issues.size
85
- end
86
-
87
- should "be able to find all issues, regardless of state" do
88
- issues = @repository.all_issues
89
- assert_not_nil issues
90
- assert_equal 30, issues.size
91
- end
92
-
93
- should "be able to find an issue" do
94
- assert_not_nil @repository.issue(28)
95
- end
96
-
97
- should "be able to find all collaborators" do
98
- @collaborators = @repository.collaborators
99
- assert_not_nil @collaborators
100
- assert_equal 2, @collaborators.size
101
- assert @collaborators.first.is_a?(User)
102
- assert @collaborators.last.is_a?(User)
103
- end
104
-
105
- should "be able to find all languages" do
106
- @languages = @repository.languages
107
- assert_equal 2, @languages.size
108
- assert_equal 111555, @languages["Ruby"]
109
- end
110
-
111
- should "be able to create a repository" do
112
- auth do
113
- Repository.create(:name => "octopus")
114
- end
115
- end
116
-
117
- should "be able to create a repository under another user (or organization)" do
118
- auth do
119
- Repository.create(:name => "octopus", :user => "other-user")
120
- end
121
- end
122
-
123
- should "be able to delete a repository" do
124
- auth do
125
- @repository.delete!
126
- end
127
- end
128
-
129
- should "not be able to create a repository when not authed" do
130
- assert_raise Octopi::AuthenticationRequired do
131
- Repository.create(:name => "octopus")
132
- end
133
- end
134
-
135
- should "be able to retrieve the branches" do
136
- branches = @repository.branches
137
- assert_not_nil branches
138
- assert_equal 4, branches.size
139
- end
140
-
141
- should "be able to retrieve the tags" do
142
- tags = @repository.tags
143
- assert_not_nil tags
144
- assert_equal 9, tags.size
145
- end
146
-
147
- should "be able to retrieve the comments" do
148
- assert_not_nil @repository.comments
149
- comment = @repository.comments.first
150
- [:content, :author, :title, :updated, :link, :published, :id, :repository, :commit].each do |f|
151
- assert_not_nil comment.send(f)
152
- end
153
- end
154
-
155
- should "return the correct clone URL" do
156
- assert_equal "git://github.com/fcoury/octopi.git", @repository.clone_url
157
- auth do
158
- assert_equal "git@github.com:fcoury/rboard.git", @private.clone_url
159
- end
160
- end
161
-
162
-
163
- end
164
- end
@@ -1,818 +0,0 @@
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