worochi 0.0.7 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/lib/worochi/agent/{sample.rb → #example.rb} +2 -14
  3. data/lib/worochi/agent/dropbox.rb +3 -13
  4. data/lib/worochi/agent/github.rb +8 -23
  5. data/lib/worochi/agent.rb +46 -18
  6. data/lib/worochi/config/#example.yml +35 -0
  7. data/lib/worochi/config/dropbox.yml +14 -0
  8. data/lib/worochi/config/github.yml +17 -0
  9. data/lib/worochi/config.rb +9 -84
  10. data/lib/worochi/configurator.rb +120 -0
  11. data/lib/worochi/helper/github_helper.rb +111 -0
  12. data/lib/worochi/helper.rb +28 -7
  13. data/lib/worochi/item.rb +5 -3
  14. data/lib/worochi/log.rb +8 -14
  15. data/lib/worochi/oauth.rb +69 -0
  16. data/lib/worochi/version.rb +1 -1
  17. data/lib/worochi.rb +20 -3
  18. data/spec/cassettes/Worochi/_push/pushes_with_agents.yml +512 -0
  19. data/spec/cassettes/Worochi_Agent_Dropbox/_push_item/pushes_it_chunked_if_size_exceeds_limit.yml +1049 -0
  20. data/spec/cassettes/Worochi_Agent_Dropbox/_push_item_chunked/raises_an_error.yml +44 -0
  21. data/spec/cassettes/Worochi_Agent_Dropbox/_push_items/pushes_multiple_items.yml +165 -0
  22. data/spec/cassettes/Worochi_Agent_Dropbox/it_should_behave_like_a_service_agent/_files/raises_error_on_invalid_path.yml +38 -0
  23. data/spec/cassettes/Worochi_Agent_Dropbox/it_should_behave_like_a_service_agent/_files_and_folders/shows_detailed_listing.yml +79 -0
  24. data/spec/cassettes/Worochi_Agent_Dropbox/it_should_behave_like_a_service_agent/_files_and_folders/shows_detailed_listing_including_the_required_fields.yml +79 -0
  25. data/spec/cassettes/Worochi_Agent_Github/_list/works_with_absolute_paths.yml +12 -12
  26. data/spec/cassettes/Worochi_Agent_Github/_repos/lists_the_repos.yml +207 -0
  27. data/spec/cassettes/Worochi_Agent_Github/_source_branch/retrieves_the_master_branch_correctly.yml +6 -6
  28. data/spec/cassettes/Worochi_Agent_Github/it_should_behave_like_a_service_agent/_files/accepts_a_different_relative_path.yml +12 -12
  29. data/spec/cassettes/Worochi_Agent_Github/it_should_behave_like_a_service_agent/_files/contains_file1.yml +12 -12
  30. data/spec/cassettes/Worochi_Agent_Github/it_should_behave_like_a_service_agent/_files/does_not_contain_folder1.yml +12 -12
  31. data/spec/cassettes/Worochi_Agent_Github/it_should_behave_like_a_service_agent/_files/raises_error_on_invalid_path.yml +133 -0
  32. data/spec/cassettes/Worochi_Agent_Github/it_should_behave_like_a_service_agent/_files_and_folders/contains_folder1_and_file1.yml +24 -24
  33. data/spec/cassettes/Worochi_Agent_Github/it_should_behave_like_a_service_agent/_files_and_folders/shows_detailed_listing_including_the_required_fields.yml +133 -0
  34. data/spec/cassettes/Worochi_Agent_Github/it_should_behave_like_a_service_agent/_folders/accepts_a_different_relative_path.yml +12 -12
  35. data/spec/cassettes/Worochi_Agent_Github/it_should_behave_like_a_service_agent/_folders/contains_folder1.yml +12 -12
  36. data/spec/cassettes/Worochi_Agent_Github/it_should_behave_like_a_service_agent/_folders/does_not_contain_file1.yml +12 -12
  37. data/spec/cassettes/Worochi_Agent_Github/{_push_all → modifies_the_repo/_push_all}/pushes_a_list_of_items_to_create_a_new_commit.yml +80 -80
  38. data/spec/cassettes/Worochi_Agent_Github/{_push_all → modifies_the_repo/_push_all}/pushes_the_file_to_the_right_place.yml +60 -60
  39. data/spec/cassettes/Worochi_Agent_Github/modifies_the_repo/_push_blob/pushes_the_blob_even_when_it_is_larger_than_block_size.yml +181 -0
  40. data/spec/cassettes/Worochi_Agent_Github/modifies_the_repo/_push_item/pushes_a_single_item_and_makes_a_commit.yml +687 -0
  41. data/spec/cassettes/Worochi_Agent_Github/modifies_the_repo/_stream_blob/streams_the_file_as_an_Base64_JSON_field.yml +181 -0
  42. data/spec/cassettes/Worochi_OAuth/_flow_end/rejects_bad_code.yml +56 -0
  43. data/spec/{helper.rb → spec_helper.rb} +14 -1
  44. data/spec/support/aws_uri_matcher.rb +1 -1
  45. data/spec/support/shared_exampes_for_agents.rb +13 -2
  46. data/spec/support/test_files.rb +4 -4
  47. data/spec/worochi/agent/dropbox_spec.rb +29 -3
  48. data/spec/worochi/agent/github_spec.rb +54 -26
  49. data/spec/worochi/agent_spec.rb +34 -1
  50. data/spec/worochi/config_spec.rb +46 -30
  51. data/spec/worochi/helper/github_helper_spec.rb +94 -0
  52. data/spec/worochi/helper_spec.rb +15 -3
  53. data/spec/worochi/item_spec.rb +9 -6
  54. data/spec/worochi/log_spec.rb +30 -0
  55. data/spec/worochi/oauth_spec.rb +33 -0
  56. data/spec/worochi_spec.rb +25 -1
  57. data/worochi.gemspec +5 -1
  58. metadata +104 -11
  59. data/lib/worochi/helper/github.rb +0 -100
  60. data/spec/worochi/helper/github_spec.rb +0 -57
@@ -0,0 +1,512 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.github.com/repos/darkmirage/test/branches/master
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Octokit Ruby Gem 1.25.0
12
+ Accept:
13
+ - application/vnd.github.beta+json
14
+ Authorization:
15
+ - token <GITHUB_TOKEN>
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - GitHub.com
25
+ Date:
26
+ - Thu, 15 Aug 2013 20:40:35 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Transfer-Encoding:
30
+ - chunked
31
+ Status:
32
+ - 200 OK
33
+ X-Ratelimit-Limit:
34
+ - '5000'
35
+ X-Ratelimit-Remaining:
36
+ - '4999'
37
+ X-Ratelimit-Reset:
38
+ - '1376602835'
39
+ X-Oauth-Scopes:
40
+ - user, public_repo, repo, gist
41
+ X-Accepted-Oauth-Scopes:
42
+ - repo, public_repo, repo:status, delete_repo, site_admin
43
+ X-Github-Media-Type:
44
+ - github.beta; format=json
45
+ X-Content-Type-Options:
46
+ - nosniff
47
+ Access-Control-Allow-Credentials:
48
+ - 'true'
49
+ Access-Control-Expose-Headers:
50
+ - ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes,
51
+ X-Accepted-OAuth-Scopes
52
+ Access-Control-Allow-Origin:
53
+ - '*'
54
+ Etag:
55
+ - '"1e9a35ec492ea865f92a1b38b774b076"'
56
+ Cache-Control:
57
+ - max-age=0, private, must-revalidate
58
+ Vary:
59
+ - Accept-Encoding
60
+ body:
61
+ encoding: UTF-8
62
+ string: '{"name":"master","commit":{"sha":"cdddc3941866854cdb41c023d0f5240ed10df053","commit":{"author":{"name":"Raven
63
+ Jiang","email":"raven@cs.stanford.edu","date":"2013-08-09T23:23:24Z"},"committer":{"name":"Raven
64
+ Jiang","email":"raven@cs.stanford.edu","date":"2013-08-09T23:23:24Z"},"message":"Added
65
+ subfolder testing","tree":{"sha":"6553d302dfc55bf5cd09c07a6125753af023c7a5","url":"https://api.github.com/repos/darkmirage/test/git/trees/6553d302dfc55bf5cd09c07a6125753af023c7a5"},"url":"https://api.github.com/repos/darkmirage/test/git/commits/cdddc3941866854cdb41c023d0f5240ed10df053","comment_count":0},"url":"https://api.github.com/repos/darkmirage/test/commits/cdddc3941866854cdb41c023d0f5240ed10df053","html_url":"https://github.com/darkmirage/test/commit/cdddc3941866854cdb41c023d0f5240ed10df053","comments_url":"https://api.github.com/repos/darkmirage/test/commits/cdddc3941866854cdb41c023d0f5240ed10df053/comments","author":{"login":"darkmirage","id":1635019,"avatar_url":"https://0.gravatar.com/avatar/5111569f6bba258cfe81d12af3ba99a2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5111569f6bba258cfe81d12af3ba99a2","url":"https://api.github.com/users/darkmirage","html_url":"https://github.com/darkmirage","followers_url":"https://api.github.com/users/darkmirage/followers","following_url":"https://api.github.com/users/darkmirage/following{/other_user}","gists_url":"https://api.github.com/users/darkmirage/gists{/gist_id}","starred_url":"https://api.github.com/users/darkmirage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/darkmirage/subscriptions","organizations_url":"https://api.github.com/users/darkmirage/orgs","repos_url":"https://api.github.com/users/darkmirage/repos","events_url":"https://api.github.com/users/darkmirage/events{/privacy}","received_events_url":"https://api.github.com/users/darkmirage/received_events","type":"User"},"committer":{"login":"darkmirage","id":1635019,"avatar_url":"https://0.gravatar.com/avatar/5111569f6bba258cfe81d12af3ba99a2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5111569f6bba258cfe81d12af3ba99a2","url":"https://api.github.com/users/darkmirage","html_url":"https://github.com/darkmirage","followers_url":"https://api.github.com/users/darkmirage/followers","following_url":"https://api.github.com/users/darkmirage/following{/other_user}","gists_url":"https://api.github.com/users/darkmirage/gists{/gist_id}","starred_url":"https://api.github.com/users/darkmirage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/darkmirage/subscriptions","organizations_url":"https://api.github.com/users/darkmirage/orgs","repos_url":"https://api.github.com/users/darkmirage/repos","events_url":"https://api.github.com/users/darkmirage/events{/privacy}","received_events_url":"https://api.github.com/users/darkmirage/received_events","type":"User"},"parents":[{"sha":"9da46c5d5e0758a759f80de6283eba05c1f04735","url":"https://api.github.com/repos/darkmirage/test/commits/9da46c5d5e0758a759f80de6283eba05c1f04735","html_url":"https://github.com/darkmirage/test/commit/9da46c5d5e0758a759f80de6283eba05c1f04735"}]},"_links":{"self":"https://api.github.com/repos/darkmirage/test/branches/master","html":"https://github.com/darkmirage/test/tree/master"}}'
66
+ http_version:
67
+ recorded_at: Thu, 15 Aug 2013 20:40:35 GMT
68
+ - request:
69
+ method: post
70
+ uri: https://api.github.com/repos/darkmirage/test/git/blobs
71
+ body:
72
+ encoding: UTF-8
73
+ string: '{"content":"VGhpcyBpcyBhIGZpbGUgdXNlZCBmb3IgUlNwZWMgdGVzdHMgaW52b2x2aW5nIFdvcm9jaGk6Okl0ZW0u","encoding":"base64"}'
74
+ headers:
75
+ User-Agent:
76
+ - Octokit Ruby Gem 1.25.0
77
+ Accept:
78
+ - application/vnd.github.beta+json
79
+ Authorization:
80
+ - token <GITHUB_TOKEN>
81
+ Content-Type:
82
+ - application/json
83
+ Accept-Encoding:
84
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
85
+ response:
86
+ status:
87
+ code: 201
88
+ message: Created
89
+ headers:
90
+ Server:
91
+ - GitHub.com
92
+ Date:
93
+ - Thu, 15 Aug 2013 20:40:36 GMT
94
+ Content-Type:
95
+ - application/json; charset=utf-8
96
+ Status:
97
+ - 201 Created
98
+ X-Ratelimit-Limit:
99
+ - '5000'
100
+ X-Ratelimit-Remaining:
101
+ - '4998'
102
+ X-Ratelimit-Reset:
103
+ - '1376602835'
104
+ X-Oauth-Scopes:
105
+ - user, public_repo, repo, gist
106
+ X-Accepted-Oauth-Scopes:
107
+ - repo, public_repo, repo:status, delete_repo, site_admin
108
+ Location:
109
+ - https://api.github.com/repos/darkmirage/test/git/blobs/5df468c4497e072139462b88cb78e1df4357534b
110
+ X-Github-Media-Type:
111
+ - github.beta; format=json
112
+ X-Content-Type-Options:
113
+ - nosniff
114
+ Content-Length:
115
+ - '154'
116
+ Access-Control-Allow-Credentials:
117
+ - 'true'
118
+ Access-Control-Expose-Headers:
119
+ - ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes,
120
+ X-Accepted-OAuth-Scopes
121
+ Access-Control-Allow-Origin:
122
+ - '*'
123
+ Etag:
124
+ - '"0e380113ab3ae5bd4b7290693137935d"'
125
+ Cache-Control:
126
+ - max-age=0, private, must-revalidate
127
+ body:
128
+ encoding: UTF-8
129
+ string: '{"sha":"5df468c4497e072139462b88cb78e1df4357534b","url":"https://api.github.com/repos/darkmirage/test/git/blobs/5df468c4497e072139462b88cb78e1df4357534b"}'
130
+ http_version:
131
+ recorded_at: Thu, 15 Aug 2013 20:40:36 GMT
132
+ - request:
133
+ method: post
134
+ uri: https://api.github.com/repos/darkmirage/test/git/trees
135
+ body:
136
+ encoding: UTF-8
137
+ string: '{"base_tree":"cdddc3941866854cdb41c023d0f5240ed10df053","tree":[{"path":"folder2/test_file","sha":"5df468c4497e072139462b88cb78e1df4357534b","type":"blob","mode":"100644"}]}'
138
+ headers:
139
+ User-Agent:
140
+ - Octokit Ruby Gem 1.25.0
141
+ Accept:
142
+ - application/vnd.github.beta+json
143
+ Authorization:
144
+ - token <GITHUB_TOKEN>
145
+ Content-Type:
146
+ - application/json
147
+ Accept-Encoding:
148
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
149
+ response:
150
+ status:
151
+ code: 201
152
+ message: Created
153
+ headers:
154
+ Server:
155
+ - GitHub.com
156
+ Date:
157
+ - Thu, 15 Aug 2013 20:40:36 GMT
158
+ Content-Type:
159
+ - application/json; charset=utf-8
160
+ Status:
161
+ - 201 Created
162
+ X-Ratelimit-Limit:
163
+ - '5000'
164
+ X-Ratelimit-Remaining:
165
+ - '4997'
166
+ X-Ratelimit-Reset:
167
+ - '1376602835'
168
+ X-Oauth-Scopes:
169
+ - user, public_repo, repo, gist
170
+ X-Accepted-Oauth-Scopes:
171
+ - repo, public_repo, repo:status, delete_repo, site_admin
172
+ Location:
173
+ - https://api.github.com/repos/darkmirage/test/git/trees/9143bc4d904cad09b8bfe5d5f29d2640234b783a
174
+ X-Github-Media-Type:
175
+ - github.beta; format=json
176
+ X-Content-Type-Options:
177
+ - nosniff
178
+ Content-Length:
179
+ - '1407'
180
+ Access-Control-Allow-Credentials:
181
+ - 'true'
182
+ Access-Control-Expose-Headers:
183
+ - ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes,
184
+ X-Accepted-OAuth-Scopes
185
+ Access-Control-Allow-Origin:
186
+ - '*'
187
+ Etag:
188
+ - '"ee74a42523ad470d771f65bbe384ac8e"'
189
+ Cache-Control:
190
+ - max-age=0, private, must-revalidate
191
+ body:
192
+ encoding: UTF-8
193
+ string: '{"sha":"9143bc4d904cad09b8bfe5d5f29d2640234b783a","url":"https://api.github.com/repos/darkmirage/test/git/trees/9143bc4d904cad09b8bfe5d5f29d2640234b783a","tree":[{"mode":"100644","type":"blob","sha":"398cd945a422cff4321d613a3c5aef57b0b27da2","path":"LICENSE","size":1078,"url":"https://api.github.com/repos/darkmirage/test/git/blobs/398cd945a422cff4321d613a3c5aef57b0b27da2"},{"mode":"100644","type":"blob","sha":"453312977f72f7e37d96bdc6c5b5e4c9c59072f1","path":"README.md","size":20,"url":"https://api.github.com/repos/darkmirage/test/git/blobs/453312977f72f7e37d96bdc6c5b5e4c9c59072f1"},{"mode":"100644","type":"blob","sha":"38a226454dab3931dbb694b3c3ae94e02d110dcf","path":"file1","size":18,"url":"https://api.github.com/repos/darkmirage/test/git/blobs/38a226454dab3931dbb694b3c3ae94e02d110dcf"},{"mode":"040000","type":"tree","sha":"ec677e6fb544f1f197f8f02bcbaaededaac23bb8","path":"folder1","url":"https://api.github.com/repos/darkmirage/test/git/trees/ec677e6fb544f1f197f8f02bcbaaededaac23bb8"},{"mode":"040000","type":"tree","sha":"d6c5d03064924906afd8288388dd9102380c6fe4","path":"folder2","url":"https://api.github.com/repos/darkmirage/test/git/trees/d6c5d03064924906afd8288388dd9102380c6fe4"},{"mode":"040000","type":"tree","sha":"d750655104da52a0f691c399528a29cf5fa594c2","path":"folder3","url":"https://api.github.com/repos/darkmirage/test/git/trees/d750655104da52a0f691c399528a29cf5fa594c2"}]}'
194
+ http_version:
195
+ recorded_at: Thu, 15 Aug 2013 20:40:36 GMT
196
+ - request:
197
+ method: get
198
+ uri: https://api.github.com/repos/darkmirage/test/branches/rspec
199
+ body:
200
+ encoding: US-ASCII
201
+ string: ''
202
+ headers:
203
+ User-Agent:
204
+ - Octokit Ruby Gem 1.25.0
205
+ Accept:
206
+ - application/vnd.github.beta+json
207
+ Authorization:
208
+ - token <GITHUB_TOKEN>
209
+ Accept-Encoding:
210
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
211
+ response:
212
+ status:
213
+ code: 404
214
+ message: Not Found
215
+ headers:
216
+ Server:
217
+ - GitHub.com
218
+ Date:
219
+ - Thu, 15 Aug 2013 20:40:37 GMT
220
+ Content-Type:
221
+ - application/json; charset=utf-8
222
+ Transfer-Encoding:
223
+ - chunked
224
+ Status:
225
+ - 404 Not Found
226
+ X-Ratelimit-Limit:
227
+ - '5000'
228
+ X-Ratelimit-Remaining:
229
+ - '4996'
230
+ X-Ratelimit-Reset:
231
+ - '1376602835'
232
+ X-Oauth-Scopes:
233
+ - user, public_repo, repo, gist
234
+ X-Accepted-Oauth-Scopes:
235
+ - repo, public_repo, repo:status, delete_repo, site_admin
236
+ X-Github-Media-Type:
237
+ - github.beta; format=json
238
+ X-Content-Type-Options:
239
+ - nosniff
240
+ Access-Control-Allow-Credentials:
241
+ - 'true'
242
+ Access-Control-Expose-Headers:
243
+ - ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes,
244
+ X-Accepted-OAuth-Scopes
245
+ Access-Control-Allow-Origin:
246
+ - '*'
247
+ body:
248
+ encoding: UTF-8
249
+ string: '{"message":"Branch not found"}'
250
+ http_version:
251
+ recorded_at: Thu, 15 Aug 2013 20:40:37 GMT
252
+ - request:
253
+ method: get
254
+ uri: https://api.github.com/repos/darkmirage/test/branches/master
255
+ body:
256
+ encoding: US-ASCII
257
+ string: ''
258
+ headers:
259
+ User-Agent:
260
+ - Octokit Ruby Gem 1.25.0
261
+ Accept:
262
+ - application/vnd.github.beta+json
263
+ Authorization:
264
+ - token <GITHUB_TOKEN>
265
+ Accept-Encoding:
266
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
267
+ response:
268
+ status:
269
+ code: 200
270
+ message: OK
271
+ headers:
272
+ Server:
273
+ - GitHub.com
274
+ Date:
275
+ - Thu, 15 Aug 2013 20:40:37 GMT
276
+ Content-Type:
277
+ - application/json; charset=utf-8
278
+ Transfer-Encoding:
279
+ - chunked
280
+ Status:
281
+ - 200 OK
282
+ X-Ratelimit-Limit:
283
+ - '5000'
284
+ X-Ratelimit-Remaining:
285
+ - '4995'
286
+ X-Ratelimit-Reset:
287
+ - '1376602835'
288
+ X-Oauth-Scopes:
289
+ - user, public_repo, repo, gist
290
+ X-Accepted-Oauth-Scopes:
291
+ - repo, public_repo, repo:status, delete_repo, site_admin
292
+ X-Github-Media-Type:
293
+ - github.beta; format=json
294
+ X-Content-Type-Options:
295
+ - nosniff
296
+ Access-Control-Allow-Credentials:
297
+ - 'true'
298
+ Access-Control-Expose-Headers:
299
+ - ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes,
300
+ X-Accepted-OAuth-Scopes
301
+ Access-Control-Allow-Origin:
302
+ - '*'
303
+ Etag:
304
+ - '"1e9a35ec492ea865f92a1b38b774b076"'
305
+ Cache-Control:
306
+ - max-age=0, private, must-revalidate
307
+ Vary:
308
+ - Accept-Encoding
309
+ body:
310
+ encoding: UTF-8
311
+ string: '{"name":"master","commit":{"sha":"cdddc3941866854cdb41c023d0f5240ed10df053","commit":{"author":{"name":"Raven
312
+ Jiang","email":"raven@cs.stanford.edu","date":"2013-08-09T23:23:24Z"},"committer":{"name":"Raven
313
+ Jiang","email":"raven@cs.stanford.edu","date":"2013-08-09T23:23:24Z"},"message":"Added
314
+ subfolder testing","tree":{"sha":"6553d302dfc55bf5cd09c07a6125753af023c7a5","url":"https://api.github.com/repos/darkmirage/test/git/trees/6553d302dfc55bf5cd09c07a6125753af023c7a5"},"url":"https://api.github.com/repos/darkmirage/test/git/commits/cdddc3941866854cdb41c023d0f5240ed10df053","comment_count":0},"url":"https://api.github.com/repos/darkmirage/test/commits/cdddc3941866854cdb41c023d0f5240ed10df053","html_url":"https://github.com/darkmirage/test/commit/cdddc3941866854cdb41c023d0f5240ed10df053","comments_url":"https://api.github.com/repos/darkmirage/test/commits/cdddc3941866854cdb41c023d0f5240ed10df053/comments","author":{"login":"darkmirage","id":1635019,"avatar_url":"https://0.gravatar.com/avatar/5111569f6bba258cfe81d12af3ba99a2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5111569f6bba258cfe81d12af3ba99a2","url":"https://api.github.com/users/darkmirage","html_url":"https://github.com/darkmirage","followers_url":"https://api.github.com/users/darkmirage/followers","following_url":"https://api.github.com/users/darkmirage/following{/other_user}","gists_url":"https://api.github.com/users/darkmirage/gists{/gist_id}","starred_url":"https://api.github.com/users/darkmirage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/darkmirage/subscriptions","organizations_url":"https://api.github.com/users/darkmirage/orgs","repos_url":"https://api.github.com/users/darkmirage/repos","events_url":"https://api.github.com/users/darkmirage/events{/privacy}","received_events_url":"https://api.github.com/users/darkmirage/received_events","type":"User"},"committer":{"login":"darkmirage","id":1635019,"avatar_url":"https://0.gravatar.com/avatar/5111569f6bba258cfe81d12af3ba99a2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","gravatar_id":"5111569f6bba258cfe81d12af3ba99a2","url":"https://api.github.com/users/darkmirage","html_url":"https://github.com/darkmirage","followers_url":"https://api.github.com/users/darkmirage/followers","following_url":"https://api.github.com/users/darkmirage/following{/other_user}","gists_url":"https://api.github.com/users/darkmirage/gists{/gist_id}","starred_url":"https://api.github.com/users/darkmirage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/darkmirage/subscriptions","organizations_url":"https://api.github.com/users/darkmirage/orgs","repos_url":"https://api.github.com/users/darkmirage/repos","events_url":"https://api.github.com/users/darkmirage/events{/privacy}","received_events_url":"https://api.github.com/users/darkmirage/received_events","type":"User"},"parents":[{"sha":"9da46c5d5e0758a759f80de6283eba05c1f04735","url":"https://api.github.com/repos/darkmirage/test/commits/9da46c5d5e0758a759f80de6283eba05c1f04735","html_url":"https://github.com/darkmirage/test/commit/9da46c5d5e0758a759f80de6283eba05c1f04735"}]},"_links":{"self":"https://api.github.com/repos/darkmirage/test/branches/master","html":"https://github.com/darkmirage/test/tree/master"}}'
315
+ http_version:
316
+ recorded_at: Thu, 15 Aug 2013 20:40:37 GMT
317
+ - request:
318
+ method: post
319
+ uri: https://api.github.com/repos/darkmirage/test/git/refs
320
+ body:
321
+ encoding: UTF-8
322
+ string: '{"ref":"refs/heads/rspec","sha":"cdddc3941866854cdb41c023d0f5240ed10df053"}'
323
+ headers:
324
+ User-Agent:
325
+ - Octokit Ruby Gem 1.25.0
326
+ Accept:
327
+ - application/vnd.github.beta+json
328
+ Authorization:
329
+ - token <GITHUB_TOKEN>
330
+ Content-Type:
331
+ - application/json
332
+ Accept-Encoding:
333
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
334
+ response:
335
+ status:
336
+ code: 201
337
+ message: Created
338
+ headers:
339
+ Server:
340
+ - GitHub.com
341
+ Date:
342
+ - Thu, 15 Aug 2013 20:40:38 GMT
343
+ Content-Type:
344
+ - application/json; charset=utf-8
345
+ Status:
346
+ - 201 Created
347
+ X-Ratelimit-Limit:
348
+ - '5000'
349
+ X-Ratelimit-Remaining:
350
+ - '4994'
351
+ X-Ratelimit-Reset:
352
+ - '1376602835'
353
+ X-Oauth-Scopes:
354
+ - user, public_repo, repo, gist
355
+ X-Accepted-Oauth-Scopes:
356
+ - repo, public_repo, repo:status, delete_repo, site_admin
357
+ Location:
358
+ - https://api.github.com/repos/darkmirage/test/git/refs/heads/rspec
359
+ X-Github-Media-Type:
360
+ - github.beta; format=json
361
+ X-Content-Type-Options:
362
+ - nosniff
363
+ Content-Length:
364
+ - '282'
365
+ Access-Control-Allow-Credentials:
366
+ - 'true'
367
+ Access-Control-Expose-Headers:
368
+ - ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes,
369
+ X-Accepted-OAuth-Scopes
370
+ Access-Control-Allow-Origin:
371
+ - '*'
372
+ Etag:
373
+ - '"0877b16c88453759ce157491732ce0da"'
374
+ Cache-Control:
375
+ - max-age=0, private, must-revalidate
376
+ body:
377
+ encoding: UTF-8
378
+ string: '{"ref":"refs/heads/rspec","url":"https://api.github.com/repos/darkmirage/test/git/refs/heads/rspec","object":{"sha":"cdddc3941866854cdb41c023d0f5240ed10df053","type":"commit","url":"https://api.github.com/repos/darkmirage/test/git/commits/cdddc3941866854cdb41c023d0f5240ed10df053"}}'
379
+ http_version:
380
+ recorded_at: Thu, 15 Aug 2013 20:40:38 GMT
381
+ - request:
382
+ method: post
383
+ uri: https://api.github.com/repos/darkmirage/test/git/commits
384
+ body:
385
+ encoding: UTF-8
386
+ string: '{"message":"RSpec Test","tree":"9143bc4d904cad09b8bfe5d5f29d2640234b783a","parents":["cdddc3941866854cdb41c023d0f5240ed10df053"]}'
387
+ headers:
388
+ User-Agent:
389
+ - Octokit Ruby Gem 1.25.0
390
+ Accept:
391
+ - application/vnd.github.beta+json
392
+ Authorization:
393
+ - token <GITHUB_TOKEN>
394
+ Content-Type:
395
+ - application/json
396
+ Accept-Encoding:
397
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
398
+ response:
399
+ status:
400
+ code: 201
401
+ message: Created
402
+ headers:
403
+ Server:
404
+ - GitHub.com
405
+ Date:
406
+ - Thu, 15 Aug 2013 20:40:39 GMT
407
+ Content-Type:
408
+ - application/json; charset=utf-8
409
+ Status:
410
+ - 201 Created
411
+ X-Ratelimit-Limit:
412
+ - '5000'
413
+ X-Ratelimit-Remaining:
414
+ - '4993'
415
+ X-Ratelimit-Reset:
416
+ - '1376602835'
417
+ X-Oauth-Scopes:
418
+ - user, public_repo, repo, gist
419
+ X-Accepted-Oauth-Scopes:
420
+ - repo, public_repo, repo:status, delete_repo, site_admin
421
+ Location:
422
+ - https://api.github.com/repos/darkmirage/test/git/commits/4c9de8c938a3db8d43f3030c70335e8d98c53d29
423
+ X-Github-Media-Type:
424
+ - github.beta; format=json
425
+ X-Content-Type-Options:
426
+ - nosniff
427
+ Content-Length:
428
+ - '895'
429
+ Access-Control-Allow-Credentials:
430
+ - 'true'
431
+ Access-Control-Expose-Headers:
432
+ - ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes,
433
+ X-Accepted-OAuth-Scopes
434
+ Access-Control-Allow-Origin:
435
+ - '*'
436
+ Etag:
437
+ - '"15f93c09d6177537ef48bfbbe8e03577"'
438
+ Cache-Control:
439
+ - max-age=0, private, must-revalidate
440
+ body:
441
+ encoding: UTF-8
442
+ string: '{"sha":"4c9de8c938a3db8d43f3030c70335e8d98c53d29","url":"https://api.github.com/repos/darkmirage/test/git/commits/4c9de8c938a3db8d43f3030c70335e8d98c53d29","html_url":"https://github.com/darkmirage/test/commits/4c9de8c938a3db8d43f3030c70335e8d98c53d29","author":{"name":"Raven
443
+ Jiang","email":"raven@cs.stanford.edu","date":"2013-08-15T20:40:39Z"},"committer":{"name":"Raven
444
+ Jiang","email":"raven@cs.stanford.edu","date":"2013-08-15T20:40:39Z"},"tree":{"sha":"9143bc4d904cad09b8bfe5d5f29d2640234b783a","url":"https://api.github.com/repos/darkmirage/test/git/trees/9143bc4d904cad09b8bfe5d5f29d2640234b783a"},"message":"RSpec
445
+ Test","parents":[{"sha":"cdddc3941866854cdb41c023d0f5240ed10df053","url":"https://api.github.com/repos/darkmirage/test/git/commits/cdddc3941866854cdb41c023d0f5240ed10df053","html_url":"https://github.com/darkmirage/test/commits/cdddc3941866854cdb41c023d0f5240ed10df053"}]}'
446
+ http_version:
447
+ recorded_at: Thu, 15 Aug 2013 20:40:39 GMT
448
+ - request:
449
+ method: patch
450
+ uri: https://api.github.com/repos/darkmirage/test/git/refs/heads/rspec
451
+ body:
452
+ encoding: UTF-8
453
+ string: '{"sha":"4c9de8c938a3db8d43f3030c70335e8d98c53d29","force":true}'
454
+ headers:
455
+ User-Agent:
456
+ - Octokit Ruby Gem 1.25.0
457
+ Accept:
458
+ - application/vnd.github.beta+json
459
+ Authorization:
460
+ - token <GITHUB_TOKEN>
461
+ Content-Type:
462
+ - application/json
463
+ Accept-Encoding:
464
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
465
+ response:
466
+ status:
467
+ code: 200
468
+ message: OK
469
+ headers:
470
+ Server:
471
+ - GitHub.com
472
+ Date:
473
+ - Thu, 15 Aug 2013 20:40:40 GMT
474
+ Content-Type:
475
+ - application/json; charset=utf-8
476
+ Transfer-Encoding:
477
+ - chunked
478
+ Status:
479
+ - 200 OK
480
+ X-Ratelimit-Limit:
481
+ - '5000'
482
+ X-Ratelimit-Remaining:
483
+ - '4992'
484
+ X-Ratelimit-Reset:
485
+ - '1376602835'
486
+ X-Oauth-Scopes:
487
+ - user, public_repo, repo, gist
488
+ X-Accepted-Oauth-Scopes:
489
+ - repo, public_repo, repo:status, delete_repo, site_admin
490
+ X-Github-Media-Type:
491
+ - github.beta; format=json
492
+ X-Content-Type-Options:
493
+ - nosniff
494
+ Access-Control-Allow-Credentials:
495
+ - 'true'
496
+ Access-Control-Expose-Headers:
497
+ - ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes,
498
+ X-Accepted-OAuth-Scopes
499
+ Access-Control-Allow-Origin:
500
+ - '*'
501
+ Etag:
502
+ - '"57da406847f3c79cbbb2aa16d2075b86"'
503
+ Cache-Control:
504
+ - max-age=0, private, must-revalidate
505
+ Vary:
506
+ - Accept-Encoding
507
+ body:
508
+ encoding: UTF-8
509
+ string: '{"ref":"refs/heads/rspec","url":"https://api.github.com/repos/darkmirage/test/git/refs/heads/rspec","object":{"sha":"4c9de8c938a3db8d43f3030c70335e8d98c53d29","type":"commit","url":"https://api.github.com/repos/darkmirage/test/git/commits/4c9de8c938a3db8d43f3030c70335e8d98c53d29"}}'
510
+ http_version:
511
+ recorded_at: Thu, 15 Aug 2013 20:40:40 GMT
512
+ recorded_with: VCR 2.5.0