github_api 0.11.3 → 0.12.0

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 (1063) hide show
  1. data/README.md +33 -16
  2. data/Rakefile +3 -3
  3. data/features/activity/events.feature +7 -7
  4. data/features/activity/notifications.feature +1 -1
  5. data/features/activity/starring.feature +2 -2
  6. data/features/activity/watching.feature +26 -2
  7. data/features/arguments_parsing.feature +3 -3
  8. data/features/auto_pagination.feature +7 -7
  9. data/features/cassettes/activity/events/issue.json +1 -0
  10. data/features/cassettes/activity/events/network.json +1 -0
  11. data/features/cassettes/activity/events/org.json +1 -0
  12. data/features/cassettes/activity/events/performed.json +1 -0
  13. data/features/cassettes/activity/events/public.json +1 -0
  14. data/features/cassettes/activity/events/received.json +1 -0
  15. data/features/cassettes/activity/events/repo.json +1 -0
  16. data/features/cassettes/activity/notifications/list_user.json +1 -0
  17. data/features/cassettes/activity/starring/list.json +1 -0
  18. data/features/cassettes/activity/starring/star.json +1 -0
  19. data/features/cassettes/activity/starring/starred.json +1 -0
  20. data/features/cassettes/activity/starring/starring.json +1 -0
  21. data/features/cassettes/activity/starring/unstar.json +1 -0
  22. data/features/cassettes/activity/watching/create.json +1 -0
  23. data/features/cassettes/activity/watching/delete.json +1 -0
  24. data/features/cassettes/activity/watching/list.json +1 -0
  25. data/features/cassettes/activity/watching/subscribed.json +1 -0
  26. data/features/cassettes/activity/watching/unwatch.json +1 -0
  27. data/features/cassettes/activity/watching/watch.json +1 -0
  28. data/features/cassettes/activity/watching/watched.json +1 -0
  29. data/features/cassettes/activity/watching/watching.json +1 -0
  30. data/features/cassettes/arguments/orgs/get.json +1 -0
  31. data/features/cassettes/arguments/pulls/get.json +1 -0
  32. data/features/cassettes/arguments/repo_commits/get.json +1 -0
  33. data/features/cassettes/auto_pagination/repos/get.json +1 -0
  34. data/features/cassettes/auto_pagination/repos/global_list.json +1 -0
  35. data/features/cassettes/auto_pagination/repos/list.json +1 -0
  36. data/features/cassettes/emojis/list.json +1 -0
  37. data/features/cassettes/errors/repos/create.json +1 -0
  38. data/features/cassettes/gists/comments/all.json +1 -0
  39. data/features/cassettes/gists/comments/first.json +1 -0
  40. data/features/cassettes/gists/fork.json +1 -0
  41. data/features/cassettes/gists/gist.json +1 -0
  42. data/features/cassettes/gists/gists/commits.json +1 -0
  43. data/features/cassettes/gists/gists/forks.json +1 -0
  44. data/features/cassettes/gists/gists/public_all.json +1 -0
  45. data/features/cassettes/gists/gists/starred.json +1 -0
  46. data/features/cassettes/gists/gists/user_all.json +1 -0
  47. data/features/cassettes/gists/star.json +1 -0
  48. data/features/cassettes/gists/starred.json +1 -0
  49. data/features/cassettes/gists/unstar.json +1 -0
  50. data/features/cassettes/git_data/commits/get.json +1 -0
  51. data/features/cassettes/git_data/references/all.json +1 -0
  52. data/features/cassettes/git_data/references/all_tags.json +1 -0
  53. data/features/cassettes/git_data/references/one.json +1 -0
  54. data/features/cassettes/gitignore/get.json +1 -0
  55. data/features/cassettes/gitignore/get_raw.json +1 -0
  56. data/features/cassettes/gitignore/list.json +1 -0
  57. data/features/cassettes/issues/assignees/ckeck.json +1 -0
  58. data/features/cassettes/issues/assignees/ckeck_not.json +1 -0
  59. data/features/cassettes/issues/assignees/list.json +1 -0
  60. data/features/cassettes/issues/comments/create.json +1 -0
  61. data/features/cassettes/issues/comments/delete.json +1 -0
  62. data/features/cassettes/issues/comments/edit.json +1 -0
  63. data/features/cassettes/issues/comments/get.json +1 -0
  64. data/features/cassettes/issues/comments/list_issue.json +1 -0
  65. data/features/cassettes/issues/comments/list_repo.json +1 -0
  66. data/features/cassettes/issues/create.json +1 -0
  67. data/features/cassettes/issues/edit.json +1 -0
  68. data/features/cassettes/issues/events/get.json +1 -0
  69. data/features/cassettes/issues/events/list_issue.json +1 -0
  70. data/features/cassettes/issues/events/list_repo.json +1 -0
  71. data/features/cassettes/issues/get.json +1 -0
  72. data/features/cassettes/issues/labels/add.json +1 -0
  73. data/features/cassettes/issues/labels/create.json +1 -0
  74. data/features/cassettes/issues/labels/delete.json +1 -0
  75. data/features/cassettes/issues/labels/get.json +1 -0
  76. data/features/cassettes/issues/labels/list_issue.json +1 -0
  77. data/features/cassettes/issues/labels/list_milestone.json +1 -0
  78. data/features/cassettes/issues/labels/list_repo.json +1 -0
  79. data/features/cassettes/issues/labels/remove_all.json +1 -0
  80. data/features/cassettes/issues/labels/remove_one.json +1 -0
  81. data/features/cassettes/issues/labels/replace.json +1 -0
  82. data/features/cassettes/issues/labels/update.json +1 -0
  83. data/features/cassettes/issues/list/repo.json +1 -0
  84. data/features/cassettes/issues/list/user.json +1 -0
  85. data/features/cassettes/issues/milestones/create.json +1 -0
  86. data/features/cassettes/issues/milestones/delete.json +1 -0
  87. data/features/cassettes/issues/milestones/get.json +1 -0
  88. data/features/cassettes/issues/milestones/list.json +1 -0
  89. data/features/cassettes/issues/milestones/update.json +1 -0
  90. data/features/cassettes/markdown/render.json +1 -0
  91. data/features/cassettes/markdown/render_raw.json +1 -0
  92. data/features/cassettes/media/get_default.json +1 -0
  93. data/features/cassettes/media/get_full_json.json +1 -0
  94. data/features/cassettes/media/get_html_json.json +1 -0
  95. data/features/cassettes/media/get_raw_json.json +1 -0
  96. data/features/cassettes/media/get_text_json.json +1 -0
  97. data/features/cassettes/meta/get.json +1 -0
  98. data/features/cassettes/orgs/get.json +1 -0
  99. data/features/cassettes/orgs/list/oauth_user.json +1 -0
  100. data/features/cassettes/orgs/list/user.json +1 -0
  101. data/features/cassettes/orgs/members/list.json +1 -0
  102. data/features/cassettes/orgs/members/list_public.json +1 -0
  103. data/features/cassettes/orgs/members/member_false.json +1 -0
  104. data/features/cassettes/orgs/members/member_public_false.json +1 -0
  105. data/features/cassettes/orgs/members/member_public_true.json +1 -0
  106. data/features/cassettes/pagination/issues/list/first.json +1 -0
  107. data/features/cassettes/pagination/issues/list/last.json +1 -0
  108. data/features/cassettes/pagination/issues/list/lastest.json +1 -0
  109. data/features/cassettes/pagination/issues/list/next.json +1 -0
  110. data/features/cassettes/pagination/issues/list/prev.json +1 -0
  111. data/features/cassettes/pagination/repos/commits/list.json +1 -0
  112. data/features/cassettes/pagination/repos/commits/next.json +1 -0
  113. data/features/cassettes/pagination/repos/commits/sha.json +1 -0
  114. data/features/cassettes/pagination/repos/commits/sha/next.json +1 -0
  115. data/features/cassettes/pagination/repos/diff.json +1 -0
  116. data/features/cassettes/pagination/repos/diff/next.json +1 -0
  117. data/features/cassettes/pagination/repos/list.json +1 -0
  118. data/features/cassettes/pagination/repos/list/next.json +1 -0
  119. data/features/cassettes/pagination/repos/per_page/each_page.json +1 -0
  120. data/features/cassettes/pagination/repos/per_page/first.json +1 -0
  121. data/features/cassettes/pull_requests/comments/list_pull.json +1 -0
  122. data/features/cassettes/pull_requests/comments/list_repo.json +1 -0
  123. data/features/cassettes/pull_requests/create.json +1 -0
  124. data/features/cassettes/pull_requests/get.json +1 -0
  125. data/features/cassettes/pull_requests/list.json +1 -0
  126. data/features/cassettes/pull_requests/merge.json +1 -0
  127. data/features/cassettes/pull_requests/merged.json +1 -0
  128. data/features/cassettes/ratelimit/get.json +1 -0
  129. data/features/cassettes/ratelimit/get_remaining.json +1 -0
  130. data/features/cassettes/ratelimit/get_reset.json +1 -0
  131. data/features/cassettes/repos/assets/delete.json +1 -0
  132. data/features/cassettes/repos/assets/edit.json +1 -0
  133. data/features/cassettes/repos/assets/get.json +1 -0
  134. data/features/cassettes/repos/assets/list.json +1 -0
  135. data/features/cassettes/repos/assets/upload.json +1 -0
  136. data/features/cassettes/repos/branch.json +1 -0
  137. data/features/cassettes/repos/branch_mutation_one.json +1 -0
  138. data/features/cassettes/repos/branch_mutation_two.json +1 -0
  139. data/features/cassettes/repos/branches.json +1 -0
  140. data/features/cassettes/repos/comments/list.json +1 -0
  141. data/features/cassettes/repos/commits/compare.json +1 -0
  142. data/features/cassettes/repos/commits/get.json +1 -0
  143. data/features/cassettes/repos/commits/list.json +1 -0
  144. data/features/cassettes/repos/contents/archive.json +1 -0
  145. data/features/cassettes/repos/contents/create.json +1 -0
  146. data/features/cassettes/repos/contents/delete.json +1 -0
  147. data/features/cassettes/repos/contents/get.json +1 -0
  148. data/features/cassettes/repos/contents/readme.json +1 -0
  149. data/features/cassettes/repos/contents/update.json +1 -0
  150. data/features/cassettes/repos/create.json +1 -0
  151. data/features/cassettes/repos/deployments/create.json +1 -0
  152. data/features/cassettes/repos/deployments/create_status.json +1 -0
  153. data/features/cassettes/repos/deployments/list.json +1 -0
  154. data/features/cassettes/repos/deployments/list_statuses.json +1 -0
  155. data/features/cassettes/repos/forks/list.json +1 -0
  156. data/features/cassettes/repos/forks/list_sort.json +1 -0
  157. data/features/cassettes/repos/get.json +1 -0
  158. data/features/cassettes/repos/languages.json +1 -0
  159. data/features/cassettes/repos/list.json +1 -0
  160. data/features/cassettes/repos/list_org.json +1 -0
  161. data/features/cassettes/repos/list_org_instance.json +1 -0
  162. data/features/cassettes/repos/list_repos.json +1 -0
  163. data/features/cassettes/repos/pages/get.json +1 -0
  164. data/features/cassettes/repos/pages/list_builds.json +1 -0
  165. data/features/cassettes/repos/releases/create.json +1 -0
  166. data/features/cassettes/repos/releases/delete.json +1 -0
  167. data/features/cassettes/repos/releases/edit.json +1 -0
  168. data/features/cassettes/repos/releases/get.json +1 -0
  169. data/features/cassettes/repos/releases/list.json +1 -0
  170. data/features/cassettes/repos/stats/commits.json +1 -0
  171. data/features/cassettes/repos/stats/contribs.json +1 -0
  172. data/features/cassettes/repos/stats/frequency.json +1 -0
  173. data/features/cassettes/repos/stats/participation.json +1 -0
  174. data/features/cassettes/repos/stats/punch.json +1 -0
  175. data/features/cassettes/repos/statuses/list.json +1 -0
  176. data/features/cassettes/repos/statuses/list_combined.json +1 -0
  177. data/features/cassettes/repos/tags.json +1 -0
  178. data/features/cassettes/say/custom.json +1 -0
  179. data/features/cassettes/say/random.json +1 -0
  180. data/features/cassettes/search/code.json +1 -0
  181. data/features/cassettes/search/code_query.json +1 -0
  182. data/features/cassettes/search/code_unicode.json +1 -0
  183. data/features/cassettes/search/issues.json +1 -0
  184. data/features/cassettes/search/legacy/email.json +1 -0
  185. data/features/cassettes/search/legacy/issues.json +1 -0
  186. data/features/cassettes/search/legacy/repos.json +1 -0
  187. data/features/cassettes/search/legacy/users.json +1 -0
  188. data/features/cassettes/search/legacy/users_keyword.json +1 -0
  189. data/features/cassettes/search/repos.json +1 -0
  190. data/features/cassettes/search/users.json +1 -0
  191. data/features/cassettes/search/users_keyword.json +1 -0
  192. data/features/cassettes/users/all.json +1 -0
  193. data/features/cassettes/users/emails/add.json +1 -0
  194. data/features/cassettes/users/emails/all.json +1 -0
  195. data/features/cassettes/users/emails/delete.json +1 -0
  196. data/features/cassettes/users/followers/follow.json +1 -0
  197. data/features/cassettes/users/followers/following.json +1 -0
  198. data/features/cassettes/users/followers/following_.json +1 -0
  199. data/features/cassettes/users/followers/following_another.json +1 -0
  200. data/features/cassettes/users/followers/list.json +1 -0
  201. data/features/cassettes/users/followers/unfollow.json +1 -0
  202. data/features/cassettes/users/get/oauth.json +1 -0
  203. data/features/cassettes/users/get/user.json +1 -0
  204. data/features/cassettes/users/keys/create.json +1 -0
  205. data/features/cassettes/users/keys/delete.json +1 -0
  206. data/features/cassettes/users/keys/user.json +1 -0
  207. data/features/cassettes/users/keys/user_all.json +1 -0
  208. data/features/cassettes/users/keys/user_all.yml +1 -1
  209. data/features/emojis.feature +1 -1
  210. data/features/error_codes.feature +1 -1
  211. data/features/gists.feature +24 -6
  212. data/features/gists/comments.feature +11 -11
  213. data/features/git_data/commmits.feature +1 -1
  214. data/features/git_data/references.feature +7 -7
  215. data/features/github_api.feature +13 -13
  216. data/features/gitignore.feature +2 -2
  217. data/features/issues.feature +1 -1
  218. data/features/issues/assignees.feature +1 -1
  219. data/features/issues/comments.feature +12 -12
  220. data/features/issues/events.feature +4 -4
  221. data/features/issues/labels.feature +9 -9
  222. data/features/issues/milestones.feature +7 -7
  223. data/features/markdown.feature +10 -10
  224. data/features/media_type.feature +1 -1
  225. data/features/meta.feature +1 -1
  226. data/features/orgs.feature +1 -1
  227. data/features/orgs/members.feature +8 -8
  228. data/features/pagination.feature +34 -34
  229. data/features/pull_requests.feature +36 -1
  230. data/features/pull_requests/comments.feature +4 -4
  231. data/features/rate_limit.feature +7 -1
  232. data/features/repos.feature +20 -6
  233. data/features/repos/assets.feature +2 -2
  234. data/features/repos/comments.feature +14 -0
  235. data/features/repos/commits.feature +35 -0
  236. data/features/repos/contents.feature +11 -11
  237. data/features/repos/deployments.feature +50 -0
  238. data/features/repos/forks.feature +2 -2
  239. data/features/repos/pages.feature +1 -1
  240. data/features/repos/releases.feature +3 -3
  241. data/features/repos/statistics.feature +14 -14
  242. data/features/repos/statuses.feature +14 -1
  243. data/features/say.feature +43 -43
  244. data/features/search.feature +3 -3
  245. data/features/search/legacy.feature +1 -1
  246. data/features/step_definitions/common_steps.rb +12 -1
  247. data/features/support/vcr.rb +6 -1
  248. data/features/users.feature +1 -1
  249. data/features/users/emails.feature +4 -4
  250. data/features/users/followers.feature +63 -0
  251. data/features/users/keys.feature +22 -1
  252. data/lib/github_api.rb +30 -25
  253. data/lib/github_api/api.rb +227 -24
  254. data/lib/github_api/api/actions.rb +5 -7
  255. data/lib/github_api/api/arguments.rb +248 -0
  256. data/lib/github_api/api/config.rb +107 -0
  257. data/lib/github_api/api/config/property.rb +30 -0
  258. data/lib/github_api/api/config/property_set.rb +118 -0
  259. data/lib/github_api/api/factory.rb +33 -0
  260. data/lib/github_api/client.rb +40 -56
  261. data/lib/github_api/client/activity.rb +25 -0
  262. data/lib/github_api/client/activity/events.rb +216 -0
  263. data/lib/github_api/client/activity/notifications.rb +184 -0
  264. data/lib/github_api/client/activity/starring.rb +128 -0
  265. data/lib/github_api/client/activity/watching.rb +174 -0
  266. data/lib/github_api/client/authorizations.rb +143 -0
  267. data/lib/github_api/client/authorizations/app.rb +98 -0
  268. data/lib/github_api/client/emojis.rb +17 -0
  269. data/lib/github_api/client/gists.rb +259 -0
  270. data/lib/github_api/client/gists/comments.rb +100 -0
  271. data/lib/github_api/client/git_data.rb +29 -0
  272. data/lib/github_api/client/git_data/blobs.rb +50 -0
  273. data/lib/github_api/client/git_data/commits.rb +99 -0
  274. data/lib/github_api/client/git_data/references.rb +146 -0
  275. data/lib/github_api/client/git_data/tags.rb +94 -0
  276. data/lib/github_api/client/git_data/trees.rb +111 -0
  277. data/lib/github_api/client/gitignore.rb +55 -0
  278. data/lib/github_api/client/issues.rb +246 -0
  279. data/lib/github_api/client/issues/assignees.rb +42 -0
  280. data/lib/github_api/client/issues/comments.rb +144 -0
  281. data/lib/github_api/client/issues/events.rb +48 -0
  282. data/lib/github_api/client/issues/labels.rb +187 -0
  283. data/lib/github_api/client/issues/milestones.rb +144 -0
  284. data/lib/github_api/client/markdown.rb +60 -0
  285. data/lib/github_api/client/meta.rb +17 -0
  286. data/lib/github_api/client/orgs.rb +98 -0
  287. data/lib/github_api/client/orgs/members.rb +125 -0
  288. data/lib/github_api/client/orgs/teams.rb +291 -0
  289. data/lib/github_api/client/pull_requests.rb +205 -0
  290. data/lib/github_api/client/pull_requests/comments.rb +165 -0
  291. data/lib/github_api/client/repos.rb +451 -0
  292. data/lib/github_api/client/repos/collaborators.rb +83 -0
  293. data/lib/github_api/client/repos/comments.rb +124 -0
  294. data/lib/github_api/client/repos/commits.rb +78 -0
  295. data/lib/github_api/client/repos/contents.rb +240 -0
  296. data/lib/github_api/client/repos/deployments.rb +135 -0
  297. data/lib/github_api/client/repos/downloads.rb +60 -0
  298. data/lib/github_api/client/repos/forks.rb +46 -0
  299. data/lib/github_api/client/repos/hooks.rb +212 -0
  300. data/lib/github_api/client/repos/keys.rb +81 -0
  301. data/lib/github_api/client/repos/merging.rb +45 -0
  302. data/lib/github_api/client/repos/pages.rb +46 -0
  303. data/lib/github_api/client/repos/pub_sub_hubbub.rb +133 -0
  304. data/lib/github_api/client/repos/releases.rb +153 -0
  305. data/lib/github_api/client/repos/releases/assets.rb +134 -0
  306. data/lib/github_api/client/repos/statistics.rb +87 -0
  307. data/lib/github_api/client/repos/statuses.rb +89 -0
  308. data/lib/github_api/client/say.rb +23 -0
  309. data/lib/github_api/client/scopes.rb +18 -0
  310. data/lib/github_api/client/search.rb +130 -0
  311. data/lib/github_api/client/search/legacy.rb +109 -0
  312. data/lib/github_api/client/users.rb +115 -0
  313. data/lib/github_api/client/users/emails.rb +62 -0
  314. data/lib/github_api/client/users/followers.rb +113 -0
  315. data/lib/github_api/client/users/keys.rb +102 -0
  316. data/lib/github_api/configuration.rb +25 -95
  317. data/lib/github_api/connection.rb +13 -15
  318. data/lib/github_api/normalizer.rb +1 -3
  319. data/lib/github_api/rate_limit.rb +6 -0
  320. data/lib/github_api/request.rb +49 -37
  321. data/lib/github_api/request/basic_auth.rb +1 -1
  322. data/lib/github_api/request/jsonize.rb +7 -5
  323. data/lib/github_api/request/oauth2.rb +1 -1
  324. data/lib/github_api/request/verbs.rb +60 -0
  325. data/lib/github_api/version.rb +2 -2
  326. data/spec/fixtures/auths/check.json +36 -0
  327. data/spec/fixtures/repos/deployment.json +31 -0
  328. data/spec/fixtures/repos/deployment_status.json +33 -0
  329. data/spec/fixtures/repos/deployment_statuses.json +68 -0
  330. data/spec/fixtures/repos/deployments.json +33 -0
  331. data/spec/github/api/arguments/dsl_spec.rb +10 -0
  332. data/spec/github/api/arguments/parse_spec.rb +88 -0
  333. data/spec/github/api/callbacks_spec.rb +59 -0
  334. data/spec/github/api/namespace_spec.rb +41 -0
  335. data/spec/github/api/property_spec.rb +100 -0
  336. data/spec/github/api/set_spec.rb +2 -3
  337. data/spec/github/api_factory_spec.rb +4 -4
  338. data/spec/github/api_spec.rb +2 -3
  339. data/spec/github/client/activity/events/issue_spec.rb +51 -0
  340. data/spec/github/client/activity/events/network_spec.rb +49 -0
  341. data/spec/github/client/activity/events/org_spec.rb +50 -0
  342. data/spec/github/client/activity/events/performed_spec.rb +73 -0
  343. data/spec/github/client/activity/events/public_spec.rb +44 -0
  344. data/spec/github/client/activity/events/received_spec.rb +72 -0
  345. data/spec/github/client/activity/events/repository_spec.rb +53 -0
  346. data/spec/github/client/activity/events/user_org_spec.rb +53 -0
  347. data/spec/github/client/activity/notifications/create_spec.rb +44 -0
  348. data/spec/github/client/activity/notifications/delete_spec.rb +41 -0
  349. data/spec/github/client/activity/notifications/get_spec.rb +58 -0
  350. data/spec/github/client/activity/notifications/list_spec.rb +75 -0
  351. data/spec/github/client/activity/notifications/mark_spec.rb +74 -0
  352. data/spec/github/client/activity/notifications/subscribed_spec.rb +48 -0
  353. data/spec/github/client/activity/starring/list_spec.rb +53 -0
  354. data/spec/github/client/activity/starring/star_spec.rb +36 -0
  355. data/spec/github/client/activity/starring/starred_spec.rb +53 -0
  356. data/spec/github/client/activity/starring/starring_spec.rb +38 -0
  357. data/spec/github/client/activity/starring/unstar_spec.rb +37 -0
  358. data/spec/github/client/activity/watching/list_spec.rb +47 -0
  359. data/spec/github/client/activity/watching/unwatch_spec.rb +37 -0
  360. data/spec/github/client/activity/watching/watch_spec.rb +37 -0
  361. data/spec/github/client/activity/watching/watched_spec.rb +53 -0
  362. data/spec/github/client/activity/watching/watching_spec.rb +39 -0
  363. data/spec/github/client/authorizations/app/check_spec.rb +68 -0
  364. data/spec/github/client/authorizations/app/create_spec.rb +44 -0
  365. data/spec/github/client/authorizations/app/delete_spec.rb +59 -0
  366. data/spec/github/client/authorizations/create_spec.rb +49 -0
  367. data/spec/github/client/authorizations/delete_spec.rb +38 -0
  368. data/spec/github/client/authorizations/get_spec.rb +48 -0
  369. data/spec/github/client/authorizations/list_spec.rb +54 -0
  370. data/spec/github/client/authorizations/update_spec.rb +49 -0
  371. data/spec/github/client/gists/comments/create_spec.rb +51 -0
  372. data/spec/github/client/gists/comments/delete_spec.rb +32 -0
  373. data/spec/github/client/gists/comments/edit_spec.rb +52 -0
  374. data/spec/github/client/gists/comments/get_spec.rb +48 -0
  375. data/spec/github/client/gists/comments/list_spec.rb +51 -0
  376. data/spec/github/client/gists/comments_spec.rb +11 -0
  377. data/spec/github/client/gists/create_spec.rb +64 -0
  378. data/spec/github/client/gists/delete_spec.rb +31 -0
  379. data/spec/github/client/gists/edit_spec.rb +60 -0
  380. data/spec/github/client/gists/fork_spec.rb +41 -0
  381. data/spec/github/client/gists/get_spec.rb +47 -0
  382. data/spec/github/client/gists/is_starred_spec.rb +44 -0
  383. data/spec/github/client/gists/list_spec.rb +78 -0
  384. data/spec/github/client/gists/star_spec.rb +30 -0
  385. data/spec/github/client/gists/starred_spec.rb +44 -0
  386. data/spec/github/client/gists/unstar_spec.rb +30 -0
  387. data/spec/github/client/git_data/blobs/create_spec.rb +64 -0
  388. data/spec/github/client/git_data/blobs/get_spec.rb +49 -0
  389. data/spec/github/client/git_data/blobs_spec.rb +9 -0
  390. data/spec/github/client/git_data/commits/create_spec.rb +77 -0
  391. data/spec/github/client/git_data/commits/get_spec.rb +50 -0
  392. data/spec/github/client/git_data/commits_spec.rb +9 -0
  393. data/spec/github/client/git_data/references/create_spec.rb +67 -0
  394. data/spec/github/client/git_data/references/delete_spec.rb +39 -0
  395. data/spec/github/client/git_data/references/get_spec.rb +56 -0
  396. data/spec/github/client/git_data/references/list_spec.rb +111 -0
  397. data/spec/github/client/git_data/references/update_spec.rb +62 -0
  398. data/spec/github/client/git_data/references_spec.rb +11 -0
  399. data/spec/github/client/git_data/tags/create_spec.rb +63 -0
  400. data/spec/github/client/git_data/tags/get_spec.rb +48 -0
  401. data/spec/github/client/git_data/tags_spec.rb +9 -0
  402. data/spec/github/client/git_data/trees/create_spec.rb +68 -0
  403. data/spec/github/client/git_data/trees/get_spec.rb +69 -0
  404. data/spec/github/client/git_data/trees_spec.rb +9 -0
  405. data/spec/github/client/gitignore/get_spec.rb +53 -0
  406. data/spec/github/client/gitignore/list_spec.rb +41 -0
  407. data/spec/github/client/issues/assignees/check_spec.rb +46 -0
  408. data/spec/github/client/issues/assignees/list_spec.rb +47 -0
  409. data/spec/github/client/issues/assignees_spec.rb +5 -0
  410. data/spec/github/client/issues/comments/create_spec.rb +49 -0
  411. data/spec/github/client/issues/comments/delete_spec.rb +35 -0
  412. data/spec/github/client/issues/comments/edit_spec.rb +49 -0
  413. data/spec/github/client/issues/comments/get_spec.rb +48 -0
  414. data/spec/github/client/issues/comments/list_spec.rb +78 -0
  415. data/spec/github/client/issues/comments_spec.rb +9 -0
  416. data/spec/github/client/issues/create_spec.rb +60 -0
  417. data/spec/github/client/issues/edit_spec.rb +61 -0
  418. data/spec/github/client/issues/events/get_spec.rb +50 -0
  419. data/spec/github/client/issues/events/list_spec.rb +85 -0
  420. data/spec/github/client/issues/events_spec.rb +7 -0
  421. data/spec/github/client/issues/get_spec.rb +48 -0
  422. data/spec/github/client/issues/labels/add_spec.rb +50 -0
  423. data/spec/github/client/issues/labels/create_spec.rb +59 -0
  424. data/spec/github/client/issues/labels/delete_spec.rb +38 -0
  425. data/spec/github/client/issues/labels/get_spec.rb +47 -0
  426. data/spec/github/client/issues/labels/list_spec.rb +102 -0
  427. data/spec/github/client/issues/labels/remove_spec.rb +57 -0
  428. data/spec/github/client/issues/labels/replace_spec.rb +48 -0
  429. data/spec/github/client/issues/labels/update_spec.rb +60 -0
  430. data/spec/github/client/issues/labels_spec.rb +9 -0
  431. data/spec/github/client/issues/list_spec.rb +100 -0
  432. data/spec/github/client/issues/milestones/create_spec.rb +56 -0
  433. data/spec/github/client/issues/milestones/delete_spec.rb +41 -0
  434. data/spec/github/client/issues/milestones/get_spec.rb +51 -0
  435. data/spec/github/client/issues/milestones/list_spec.rb +52 -0
  436. data/spec/github/client/issues/milestones/update_spec.rb +56 -0
  437. data/spec/github/client/issues/milestones_spec.rb +11 -0
  438. data/spec/github/client/orgs/edit_spec.rb +53 -0
  439. data/spec/github/client/orgs/get_spec.rb +43 -0
  440. data/spec/github/client/orgs/list_spec.rb +62 -0
  441. data/spec/github/client/orgs/members/conceal_spec.rb +36 -0
  442. data/spec/github/client/orgs/members/delete_spec.rb +34 -0
  443. data/spec/github/client/orgs/members/list_spec.rb +82 -0
  444. data/spec/github/client/orgs/members/member_spec.rb +66 -0
  445. data/spec/github/client/orgs/members/publicize_spec.rb +36 -0
  446. data/spec/github/client/orgs/members_spec.rb +5 -0
  447. data/spec/github/client/orgs/teams/add_member_spec.rb +40 -0
  448. data/spec/github/client/orgs/teams/add_repo_spec.rb +39 -0
  449. data/spec/github/client/orgs/teams/create_spec.rb +58 -0
  450. data/spec/github/client/orgs/teams/delete_spec.rb +35 -0
  451. data/spec/github/client/orgs/teams/edit_spec.rb +57 -0
  452. data/spec/github/client/orgs/teams/get_spec.rb +44 -0
  453. data/spec/github/client/orgs/teams/list_members_spec.rb +49 -0
  454. data/spec/github/client/orgs/teams/list_repos_spec.rb +49 -0
  455. data/spec/github/client/orgs/teams/list_spec.rb +72 -0
  456. data/spec/github/client/orgs/teams/remove_member_spec.rb +39 -0
  457. data/spec/github/client/orgs/teams/remove_repo_spec.rb +39 -0
  458. data/spec/github/client/orgs/teams/team_member_spec.rb +41 -0
  459. data/spec/github/client/orgs/teams/team_repo_spec.rb +42 -0
  460. data/spec/github/client/orgs/teams_spec.rb +7 -0
  461. data/spec/github/client/pull_requests/comments/create_spec.rb +58 -0
  462. data/spec/github/client/pull_requests/comments/delete_spec.rb +35 -0
  463. data/spec/github/client/pull_requests/comments/edit_spec.rb +50 -0
  464. data/spec/github/client/pull_requests/comments/get_spec.rb +51 -0
  465. data/spec/github/client/pull_requests/comments/list_spec.rb +76 -0
  466. data/spec/github/client/pull_requests/comments_spec.rb +11 -0
  467. data/spec/github/client/pull_requests/commits_spec.rb +50 -0
  468. data/spec/github/client/pull_requests/create_spec.rb +55 -0
  469. data/spec/github/client/pull_requests/files_spec.rb +50 -0
  470. data/spec/github/client/pull_requests/get_spec.rb +48 -0
  471. data/spec/github/client/pull_requests/list_spec.rb +53 -0
  472. data/spec/github/client/pull_requests/merge_spec.rb +44 -0
  473. data/spec/github/client/pull_requests/merged_spec.rb +38 -0
  474. data/spec/github/client/pull_requests/update_spec.rb +55 -0
  475. data/spec/github/client/repos/assets/delete_spec.rb +39 -0
  476. data/spec/github/client/repos/assets/edit_spec.rb +40 -0
  477. data/spec/github/client/repos/assets/get_spec.rb +44 -0
  478. data/spec/github/client/repos/assets/list_spec.rb +54 -0
  479. data/spec/github/client/repos/assets/upload_spec.rb +43 -0
  480. data/spec/github/client/repos/branch_spec.rb +41 -0
  481. data/spec/github/client/repos/branches_spec.rb +53 -0
  482. data/spec/github/client/repos/collaborators/add_spec.rb +38 -0
  483. data/spec/github/client/repos/collaborators/get_spec.rb +49 -0
  484. data/spec/github/client/repos/collaborators/list_spec.rb +54 -0
  485. data/spec/github/client/repos/collaborators/remove_spec.rb +38 -0
  486. data/spec/github/client/repos/collaborators_spec.rb +7 -0
  487. data/spec/github/client/repos/comments/create_spec.rb +59 -0
  488. data/spec/github/client/repos/comments/delete_spec.rb +42 -0
  489. data/spec/github/client/repos/comments/get_spec.rb +51 -0
  490. data/spec/github/client/repos/comments/list_spec.rb +94 -0
  491. data/spec/github/client/repos/comments/update_spec.rb +47 -0
  492. data/spec/github/client/repos/commits/compare_spec.rb +36 -0
  493. data/spec/github/client/repos/commits/get_spec.rb +49 -0
  494. data/spec/github/client/repos/commits/list_spec.rb +51 -0
  495. data/spec/github/client/repos/contents/archive_spec.rb +38 -0
  496. data/spec/github/client/repos/contents/create_spec.rb +41 -0
  497. data/spec/github/client/repos/contents/delete_spec.rb +55 -0
  498. data/spec/github/client/repos/contents/get_spec.rb +35 -0
  499. data/spec/github/client/repos/contents/readme_spec.rb +30 -0
  500. data/spec/github/client/repos/contributors_spec.rb +58 -0
  501. data/spec/github/client/repos/create_spec.rb +77 -0
  502. data/spec/github/client/repos/delete_spec.rb +37 -0
  503. data/spec/github/client/repos/deployments/create_spec.rb +54 -0
  504. data/spec/github/client/repos/deployments/create_status_spec.rb +54 -0
  505. data/spec/github/client/repos/deployments/list_spec.rb +51 -0
  506. data/spec/github/client/repos/deployments/statuses_spec.rb +49 -0
  507. data/spec/github/client/repos/downloads/delete_spec.rb +44 -0
  508. data/spec/github/client/repos/downloads/get_spec.rb +52 -0
  509. data/spec/github/client/repos/downloads/list_spec.rb +54 -0
  510. data/spec/github/client/repos/downloads_spec.rb +13 -0
  511. data/spec/github/client/repos/edit_spec.rb +59 -0
  512. data/spec/github/client/repos/forks/create_spec.rb +44 -0
  513. data/spec/github/client/repos/forks/list_spec.rb +53 -0
  514. data/spec/github/client/repos/get_spec.rb +50 -0
  515. data/spec/github/client/repos/hooks/create_spec.rb +67 -0
  516. data/spec/github/client/repos/hooks/delete_spec.rb +39 -0
  517. data/spec/github/client/repos/hooks/edit_spec.rb +76 -0
  518. data/spec/github/client/repos/hooks/get_spec.rb +48 -0
  519. data/spec/github/client/repos/hooks/list_spec.rb +53 -0
  520. data/spec/github/client/repos/hooks/ping_spec.rb +39 -0
  521. data/spec/github/client/repos/hooks/test_spec.rb +39 -0
  522. data/spec/github/client/repos/hooks_spec.rb +13 -0
  523. data/spec/github/client/repos/keys/create_spec.rb +49 -0
  524. data/spec/github/client/repos/keys/delete_spec.rb +39 -0
  525. data/spec/github/client/repos/keys/get_spec.rb +44 -0
  526. data/spec/github/client/repos/keys/list_spec.rb +53 -0
  527. data/spec/github/client/repos/keys_spec.rb +9 -0
  528. data/spec/github/client/repos/languages_spec.rb +61 -0
  529. data/spec/github/client/repos/list_spec.rb +120 -0
  530. data/spec/github/client/repos/merging/merge_spec.rb +59 -0
  531. data/spec/github/client/repos/pub_sub_hubbub/subscribe_service_spec.rb +26 -0
  532. data/spec/github/client/repos/pub_sub_hubbub/subscribe_spec.rb +46 -0
  533. data/spec/github/client/repos/pub_sub_hubbub/unsubscribe_service_spec.rb +20 -0
  534. data/spec/github/client/repos/pub_sub_hubbub/unsubscribe_spec.rb +58 -0
  535. data/spec/github/client/repos/releases/create_spec.rb +43 -0
  536. data/spec/github/client/repos/releases/delete_spec.rb +39 -0
  537. data/spec/github/client/repos/releases/edit_spec.rb +39 -0
  538. data/spec/github/client/repos/releases/get_spec.rb +44 -0
  539. data/spec/github/client/repos/releases/list_spec.rb +53 -0
  540. data/spec/github/client/repos/statistics/code_frequency_spec.rb +25 -0
  541. data/spec/github/client/repos/statistics/commit_activity_spec.rb +29 -0
  542. data/spec/github/client/repos/statistics/contributors_spec.rb +29 -0
  543. data/spec/github/client/repos/statistics/participation_spec.rb +25 -0
  544. data/spec/github/client/repos/statistics/punch_card_spec.rb +25 -0
  545. data/spec/github/client/repos/statuses/create_spec.rb +56 -0
  546. data/spec/github/client/repos/statuses/list_spec.rb +53 -0
  547. data/spec/github/client/repos/statuses_spec.rb +11 -0
  548. data/spec/github/client/repos/tags_spec.rb +59 -0
  549. data/spec/github/client/repos/teams_spec.rb +59 -0
  550. data/spec/github/client/scopes/list_spec.rb +33 -0
  551. data/spec/github/client/search/code_spec.rb +38 -0
  552. data/spec/github/client/search/issues_spec.rb +38 -0
  553. data/spec/github/client/search/legacy/email_spec.rb +34 -0
  554. data/spec/github/client/search/legacy/issues_spec.rb +39 -0
  555. data/spec/github/client/search/legacy/repos_spec.rb +36 -0
  556. data/spec/github/client/search/legacy/users_spec.rb +36 -0
  557. data/spec/github/client/search/repos_spec.rb +38 -0
  558. data/spec/github/client/search/users_spec.rb +38 -0
  559. data/spec/github/client/users/emails/add_spec.rb +33 -0
  560. data/spec/github/client/users/emails/delete_spec.rb +33 -0
  561. data/spec/github/client/users/emails/list_spec.rb +52 -0
  562. data/spec/github/client/users/followers/follow_spec.rb +33 -0
  563. data/spec/github/client/users/followers/following_spec.rb +65 -0
  564. data/spec/github/client/users/followers/is_following_spec.rb +41 -0
  565. data/spec/github/client/users/followers/list_spec.rb +62 -0
  566. data/spec/github/client/users/followers/unfollow_spec.rb +33 -0
  567. data/spec/github/client/users/get_spec.rb +61 -0
  568. data/spec/github/client/users/keys/create_spec.rb +51 -0
  569. data/spec/github/client/users/keys/delete_spec.rb +37 -0
  570. data/spec/github/client/users/keys/get_spec.rb +50 -0
  571. data/spec/github/client/users/keys/list_spec.rb +77 -0
  572. data/spec/github/client/users/keys/update_spec.rb +56 -0
  573. data/spec/github/client/users/list_spec.rb +45 -0
  574. data/spec/github/client/users/update_spec.rb +56 -0
  575. data/spec/github/client_spec.rb +14 -38
  576. data/spec/github/configuration_spec.rb +22 -27
  577. data/spec/github/paged_request_spec.rb +1 -1
  578. data/spec/github/pagination/iterator/number_spec.rb +1 -1
  579. data/spec/github/pagination/iterator/sha_spec.rb +1 -1
  580. data/spec/github/request/jsonize_spec.rb +7 -8
  581. data/spec/github/request/request_spec.rb +3 -1
  582. data/spec/github/request_spec.rb +11 -5
  583. data/spec/github/validations/format_spec.rb +1 -1
  584. data/spec/github_spec.rb +1 -4
  585. data/spec/integration/activity_spec.rb +5 -5
  586. data/spec/integration/arguments_spec.rb +11 -17
  587. data/spec/integration/authorizations_spec.rb +1 -1
  588. data/spec/integration/gists_spec.rb +2 -2
  589. data/spec/integration/git_data_spec.rb +6 -6
  590. data/spec/integration/issues_spec.rb +6 -6
  591. data/spec/integration/options_spec.rb +7 -6
  592. data/spec/integration/orgs_spec.rb +6 -4
  593. data/spec/integration/pull_requests_spec.rb +2 -2
  594. data/spec/integration/repos_spec.rb +14 -14
  595. data/spec/integration/search_spec.rb +2 -2
  596. data/spec/integration/users_spec.rb +4 -4
  597. data/spec/spec_helper.rb +11 -12
  598. metadata +544 -602
  599. data/features/cassettes/activity/events/issue.yml +0 -192
  600. data/features/cassettes/activity/events/network.yml +0 -134
  601. data/features/cassettes/activity/events/org.yml +0 -325
  602. data/features/cassettes/activity/events/performed.yml +0 -362
  603. data/features/cassettes/activity/events/public.yml +0 -284
  604. data/features/cassettes/activity/events/received.yml +0 -422
  605. data/features/cassettes/activity/events/repo.yml +0 -134
  606. data/features/cassettes/activity/events/user_org.yml +0 -48
  607. data/features/cassettes/activity/notifications/list_user.yml +0 -54
  608. data/features/cassettes/activity/starring/list.yml +0 -98
  609. data/features/cassettes/activity/starring/star.yml +0 -48
  610. data/features/cassettes/activity/starring/starred.yml +0 -195
  611. data/features/cassettes/activity/starring/starring.yml +0 -56
  612. data/features/cassettes/activity/starring/unstar.yml +0 -46
  613. data/features/cassettes/activity/watching/list.yml +0 -76
  614. data/features/cassettes/activity/watching/unwatch.yml +0 -46
  615. data/features/cassettes/activity/watching/watch.yml +0 -48
  616. data/features/cassettes/activity/watching/watched.yml +0 -166
  617. data/features/cassettes/activity/watching/watching.yml +0 -56
  618. data/features/cassettes/arguments/orgs/get.yml +0 -69
  619. data/features/cassettes/arguments/pulls/get.yml +0 -112
  620. data/features/cassettes/arguments/repo_commits/get.yml +0 -89
  621. data/features/cassettes/auto_pagination/repos/get.yml +0 -86
  622. data/features/cassettes/auto_pagination/repos/global_list.yml +0 -1157
  623. data/features/cassettes/auto_pagination/repos/list.yml +0 -1235
  624. data/features/cassettes/emojis/list.yml +0 -258
  625. data/features/cassettes/errors/repos/create.yml +0 -88
  626. data/features/cassettes/gists/comments/all.yml +0 -161
  627. data/features/cassettes/gists/comments/first.yml +0 -86
  628. data/features/cassettes/gists/fork.yml +0 -78
  629. data/features/cassettes/gists/gist.yml +0 -105
  630. data/features/cassettes/gists/gists/public_all.yml +0 -253
  631. data/features/cassettes/gists/gists/starred.yml +0 -75
  632. data/features/cassettes/gists/gists/user_all.yml +0 -143
  633. data/features/cassettes/gists/star.yml +0 -71
  634. data/features/cassettes/gists/starred.yml +0 -75
  635. data/features/cassettes/gists/unstar.yml +0 -67
  636. data/features/cassettes/git_data/commits/get.yml +0 -69
  637. data/features/cassettes/git_data/references/all.yml +0 -410
  638. data/features/cassettes/git_data/references/all_tags.yml +0 -172
  639. data/features/cassettes/git_data/references/one.yml +0 -128
  640. data/features/cassettes/gitignore/get.yml +0 -60
  641. data/features/cassettes/gitignore/get_raw.yml +0 -224
  642. data/features/cassettes/gitignore/list.yml +0 -67
  643. data/features/cassettes/issues/assignees/ckeck.yml +0 -46
  644. data/features/cassettes/issues/assignees/ckeck_not.yml +0 -105
  645. data/features/cassettes/issues/assignees/list.yml +0 -64
  646. data/features/cassettes/issues/comments/create.yml +0 -55
  647. data/features/cassettes/issues/comments/delete.yml +0 -46
  648. data/features/cassettes/issues/comments/edit.yml +0 -53
  649. data/features/cassettes/issues/comments/get.yml +0 -71
  650. data/features/cassettes/issues/comments/list_issue.yml +0 -82
  651. data/features/cassettes/issues/comments/list_repo.yml +0 -266
  652. data/features/cassettes/issues/create.yml +0 -46
  653. data/features/cassettes/issues/edit.yml +0 -44
  654. data/features/cassettes/issues/events/get.yml +0 -139
  655. data/features/cassettes/issues/events/list_issue.yml +0 -71
  656. data/features/cassettes/issues/events/list_repo.yml +0 -222
  657. data/features/cassettes/issues/get.yml +0 -62
  658. data/features/cassettes/issues/labels/add.yml +0 -52
  659. data/features/cassettes/issues/labels/create.yml +0 -54
  660. data/features/cassettes/issues/labels/delete.yml +0 -46
  661. data/features/cassettes/issues/labels/get.yml +0 -63
  662. data/features/cassettes/issues/labels/list_issue.yml +0 -64
  663. data/features/cassettes/issues/labels/list_milestone.yml +0 -65
  664. data/features/cassettes/issues/labels/list_repo.yml +0 -65
  665. data/features/cassettes/issues/labels/remove_all.yml +0 -46
  666. data/features/cassettes/issues/labels/remove_one.yml +0 -46
  667. data/features/cassettes/issues/labels/replace.yml +0 -52
  668. data/features/cassettes/issues/labels/update.yml +0 -52
  669. data/features/cassettes/issues/list/repo.yml +0 -251
  670. data/features/cassettes/issues/list/user.yml +0 -44
  671. data/features/cassettes/issues/milestones/create.yml +0 -55
  672. data/features/cassettes/issues/milestones/delete.yml +0 -46
  673. data/features/cassettes/issues/milestones/get.yml +0 -175
  674. data/features/cassettes/issues/milestones/list.yml +0 -54
  675. data/features/cassettes/issues/milestones/update.yml +0 -53
  676. data/features/cassettes/markdown/render.yml +0 -46
  677. data/features/cassettes/markdown/render_raw.yml +0 -46
  678. data/features/cassettes/media/get_default.yml +0 -84
  679. data/features/cassettes/media/get_full_json.yml +0 -83
  680. data/features/cassettes/media/get_html_json.yml +0 -81
  681. data/features/cassettes/media/get_raw_json.yml +0 -80
  682. data/features/cassettes/media/get_text_json.yml +0 -80
  683. data/features/cassettes/meta/get.yml +0 -59
  684. data/features/cassettes/orgs/get.yml +0 -85
  685. data/features/cassettes/orgs/list/oauth_user.yml +0 -75
  686. data/features/cassettes/orgs/list/user.yml +0 -134
  687. data/features/cassettes/orgs/members/list.yml +0 -139
  688. data/features/cassettes/orgs/members/list_public.yml +0 -140
  689. data/features/cassettes/orgs/members/member_false.yml +0 -52
  690. data/features/cassettes/orgs/members/member_public_false.yml +0 -55
  691. data/features/cassettes/orgs/members/member_public_true.yml +0 -48
  692. data/features/cassettes/pagination/issues/list/first.yml +0 -432
  693. data/features/cassettes/pagination/issues/list/last.yml +0 -297
  694. data/features/cassettes/pagination/issues/list/next.yml +0 -377
  695. data/features/cassettes/pagination/issues/list/prev.yml +0 -386
  696. data/features/cassettes/pagination/repos/commits/list.yml +0 -224
  697. data/features/cassettes/pagination/repos/commits/next.yml +0 -225
  698. data/features/cassettes/pagination/repos/commits/sha.yml +0 -181
  699. data/features/cassettes/pagination/repos/commits/sha/next.yml +0 -205
  700. data/features/cassettes/pagination/repos/diff.yml +0 -174
  701. data/features/cassettes/pagination/repos/diff/next.yml +0 -147
  702. data/features/cassettes/pagination/repos/list.yml +0 -212
  703. data/features/cassettes/pagination/repos/list/next.yml +0 -184
  704. data/features/cassettes/pagination/repos/per_page/each_page.yml +0 -497
  705. data/features/cassettes/pagination/repos/per_page/first.yml +0 -173
  706. data/features/cassettes/pull_requests/comments/get.yml +0 -159
  707. data/features/cassettes/pull_requests/comments/list_pull.yml +0 -54
  708. data/features/cassettes/pull_requests/comments/list_repo.yml +0 -54
  709. data/features/cassettes/pull_requests/get.yml +0 -120
  710. data/features/cassettes/pull_requests/list.yml +0 -254
  711. data/features/cassettes/ratelimit/get.yml +0 -64
  712. data/features/cassettes/ratelimit/get_remaining.yml +0 -64
  713. data/features/cassettes/repos/assets/delete.yml +0 -52
  714. data/features/cassettes/repos/assets/edit.yml +0 -65
  715. data/features/cassettes/repos/assets/get.yml +0 -74
  716. data/features/cassettes/repos/assets/list.yml +0 -73
  717. data/features/cassettes/repos/assets/upload.yml +0 -66
  718. data/features/cassettes/repos/branch.yml +0 -61
  719. data/features/cassettes/repos/branches.yml +0 -83
  720. data/features/cassettes/repos/contents/archive.yml +0 -54
  721. data/features/cassettes/repos/contents/create.yml +0 -60
  722. data/features/cassettes/repos/contents/delete.yml +0 -59
  723. data/features/cassettes/repos/contents/get.yml +0 -226
  724. data/features/cassettes/repos/contents/readme.yml +0 -271
  725. data/features/cassettes/repos/contents/update.yml +0 -62
  726. data/features/cassettes/repos/create.yml +0 -46
  727. data/features/cassettes/repos/forks/list.yml +0 -314
  728. data/features/cassettes/repos/forks/list_sort.yml +0 -318
  729. data/features/cassettes/repos/get.yml +0 -89
  730. data/features/cassettes/repos/languages.yml +0 -75
  731. data/features/cassettes/repos/list.yml +0 -123
  732. data/features/cassettes/repos/list_org.yml +0 -167
  733. data/features/cassettes/repos/list_org_instance.yml +0 -300
  734. data/features/cassettes/repos/list_repos.yml +0 -801
  735. data/features/cassettes/repos/pages/get.yml +0 -71
  736. data/features/cassettes/repos/pages/list_builds.yml +0 -63
  737. data/features/cassettes/repos/pages/list_latest_builds.yml +0 -62
  738. data/features/cassettes/repos/releases/create.yml +0 -64
  739. data/features/cassettes/repos/releases/delete.yml +0 -52
  740. data/features/cassettes/repos/releases/edit.yml +0 -63
  741. data/features/cassettes/repos/releases/get.yml +0 -78
  742. data/features/cassettes/repos/releases/list.yml +0 -81
  743. data/features/cassettes/repos/stats/commits.yml +0 -80
  744. data/features/cassettes/repos/stats/contribs.yml +0 -221
  745. data/features/cassettes/repos/stats/frequency.yml +0 -54
  746. data/features/cassettes/repos/stats/participation.yml +0 -68
  747. data/features/cassettes/repos/stats/punch.yml +0 -76
  748. data/features/cassettes/repos/statuses/create.yml +0 -52
  749. data/features/cassettes/repos/statuses/list.yml +0 -64
  750. data/features/cassettes/repos/tags.yml +0 -102
  751. data/features/cassettes/repos/teams.yml +0 -48
  752. data/features/cassettes/say/custom.yml +0 -60
  753. data/features/cassettes/say/random.yml +0 -60
  754. data/features/cassettes/search/code.yml +0 -252
  755. data/features/cassettes/search/code_query.yml +0 -203
  756. data/features/cassettes/search/code_unicode.yml +0 -93
  757. data/features/cassettes/search/issues.yml +0 -626
  758. data/features/cassettes/search/legacy/email.yml +0 -72
  759. data/features/cassettes/search/legacy/issues.yml +0 -119
  760. data/features/cassettes/search/legacy/repos.yml +0 -394
  761. data/features/cassettes/search/legacy/users.yml +0 -72
  762. data/features/cassettes/search/legacy/users_keyword.yml +0 -63
  763. data/features/cassettes/search/repos.yml +0 -407
  764. data/features/cassettes/search/users.yml +0 -72
  765. data/features/cassettes/search/users_keyword.yml +0 -65
  766. data/features/cassettes/users/all.yml +0 -256
  767. data/features/cassettes/users/emails/add.yml +0 -75
  768. data/features/cassettes/users/emails/all.yml +0 -75
  769. data/features/cassettes/users/emails/delete.yml +0 -40
  770. data/lib/github_api/activity.rb +0 -33
  771. data/lib/github_api/activity/events.rb +0 -206
  772. data/lib/github_api/activity/notifications.rb +0 -157
  773. data/lib/github_api/activity/starring.rb +0 -94
  774. data/lib/github_api/activity/watching.rb +0 -92
  775. data/lib/github_api/api_factory.rb +0 -31
  776. data/lib/github_api/arguments.rb +0 -166
  777. data/lib/github_api/authorizations.rb +0 -140
  778. data/lib/github_api/authorizations/app.rb +0 -77
  779. data/lib/github_api/compatibility.rb +0 -23
  780. data/lib/github_api/emojis.rb +0 -20
  781. data/lib/github_api/gists.rb +0 -205
  782. data/lib/github_api/gists/comments.rb +0 -87
  783. data/lib/github_api/git_data.rb +0 -39
  784. data/lib/github_api/git_data/blobs.rb +0 -46
  785. data/lib/github_api/git_data/commits.rb +0 -83
  786. data/lib/github_api/git_data/references.rb +0 -133
  787. data/lib/github_api/git_data/tags.rb +0 -78
  788. data/lib/github_api/git_data/trees.rb +0 -92
  789. data/lib/github_api/gitignore.rb +0 -50
  790. data/lib/github_api/issues.rb +0 -238
  791. data/lib/github_api/issues/assignees.rb +0 -44
  792. data/lib/github_api/issues/comments.rb +0 -115
  793. data/lib/github_api/issues/events.rb +0 -47
  794. data/lib/github_api/issues/labels.rb +0 -167
  795. data/lib/github_api/issues/milestones.rb +0 -125
  796. data/lib/github_api/markdown.rb +0 -60
  797. data/lib/github_api/meta.rb +0 -19
  798. data/lib/github_api/orgs.rb +0 -94
  799. data/lib/github_api/orgs/members.rb +0 -108
  800. data/lib/github_api/orgs/teams.rb +0 -243
  801. data/lib/github_api/pull_requests.rb +0 -192
  802. data/lib/github_api/pull_requests/comments.rb +0 -144
  803. data/lib/github_api/repos.rb +0 -449
  804. data/lib/github_api/repos/collaborators.rb +0 -73
  805. data/lib/github_api/repos/comments.rb +0 -117
  806. data/lib/github_api/repos/commits.rb +0 -71
  807. data/lib/github_api/repos/contents.rb +0 -188
  808. data/lib/github_api/repos/deployments.rb +0 -8
  809. data/lib/github_api/repos/downloads.rb +0 -112
  810. data/lib/github_api/repos/forks.rb +0 -42
  811. data/lib/github_api/repos/hooks.rb +0 -154
  812. data/lib/github_api/repos/keys.rb +0 -96
  813. data/lib/github_api/repos/merging.rb +0 -42
  814. data/lib/github_api/repos/pages.rb +0 -49
  815. data/lib/github_api/repos/pub_sub_hubbub.rb +0 -117
  816. data/lib/github_api/repos/releases.rb +0 -144
  817. data/lib/github_api/repos/releases/assets.rb +0 -126
  818. data/lib/github_api/repos/statistics.rb +0 -94
  819. data/lib/github_api/repos/statuses.rb +0 -63
  820. data/lib/github_api/s3_uploader.rb +0 -57
  821. data/lib/github_api/say.rb +0 -23
  822. data/lib/github_api/scopes.rb +0 -20
  823. data/lib/github_api/search.rb +0 -125
  824. data/lib/github_api/search/legacy.rb +0 -94
  825. data/lib/github_api/users.rb +0 -112
  826. data/lib/github_api/users/emails.rb +0 -58
  827. data/lib/github_api/users/followers.rb +0 -99
  828. data/lib/github_api/users/keys.rb +0 -92
  829. data/spec/github/activity/events/issue_spec.rb +0 -51
  830. data/spec/github/activity/events/network_spec.rb +0 -49
  831. data/spec/github/activity/events/org_spec.rb +0 -50
  832. data/spec/github/activity/events/performed_spec.rb +0 -73
  833. data/spec/github/activity/events/public_spec.rb +0 -44
  834. data/spec/github/activity/events/received_spec.rb +0 -72
  835. data/spec/github/activity/events/repository_spec.rb +0 -53
  836. data/spec/github/activity/events/user_org_spec.rb +0 -53
  837. data/spec/github/activity/notifications/create_spec.rb +0 -44
  838. data/spec/github/activity/notifications/delete_spec.rb +0 -41
  839. data/spec/github/activity/notifications/get_spec.rb +0 -58
  840. data/spec/github/activity/notifications/list_spec.rb +0 -75
  841. data/spec/github/activity/notifications/mark_spec.rb +0 -74
  842. data/spec/github/activity/notifications/subscribed_spec.rb +0 -48
  843. data/spec/github/activity/starring/list_spec.rb +0 -53
  844. data/spec/github/activity/starring/star_spec.rb +0 -36
  845. data/spec/github/activity/starring/starred_spec.rb +0 -53
  846. data/spec/github/activity/starring/starring_spec.rb +0 -38
  847. data/spec/github/activity/starring/unstar_spec.rb +0 -37
  848. data/spec/github/activity/watching/list_spec.rb +0 -47
  849. data/spec/github/activity/watching/unwatch_spec.rb +0 -37
  850. data/spec/github/activity/watching/watch_spec.rb +0 -37
  851. data/spec/github/activity/watching/watched_spec.rb +0 -53
  852. data/spec/github/activity/watching/watching_spec.rb +0 -39
  853. data/spec/github/arguments/parse_spec.rb +0 -68
  854. data/spec/github/authorizations/app/create_spec.rb +0 -44
  855. data/spec/github/authorizations/app/delete_spec.rb +0 -59
  856. data/spec/github/authorizations/create_spec.rb +0 -49
  857. data/spec/github/authorizations/delete_spec.rb +0 -40
  858. data/spec/github/authorizations/get_spec.rb +0 -49
  859. data/spec/github/authorizations/list_spec.rb +0 -55
  860. data/spec/github/authorizations/update_spec.rb +0 -50
  861. data/spec/github/gists/comments/create_spec.rb +0 -51
  862. data/spec/github/gists/comments/delete_spec.rb +0 -32
  863. data/spec/github/gists/comments/edit_spec.rb +0 -52
  864. data/spec/github/gists/comments/get_spec.rb +0 -48
  865. data/spec/github/gists/comments/list_spec.rb +0 -51
  866. data/spec/github/gists/comments_spec.rb +0 -11
  867. data/spec/github/gists/create_spec.rb +0 -64
  868. data/spec/github/gists/delete_spec.rb +0 -31
  869. data/spec/github/gists/edit_spec.rb +0 -60
  870. data/spec/github/gists/fork_spec.rb +0 -41
  871. data/spec/github/gists/get_spec.rb +0 -47
  872. data/spec/github/gists/is_starred_spec.rb +0 -44
  873. data/spec/github/gists/list_spec.rb +0 -78
  874. data/spec/github/gists/star_spec.rb +0 -30
  875. data/spec/github/gists/starred_spec.rb +0 -44
  876. data/spec/github/gists/unstar_spec.rb +0 -30
  877. data/spec/github/git_data/blobs/create_spec.rb +0 -64
  878. data/spec/github/git_data/blobs/get_spec.rb +0 -49
  879. data/spec/github/git_data/blobs_spec.rb +0 -9
  880. data/spec/github/git_data/commits/create_spec.rb +0 -77
  881. data/spec/github/git_data/commits/get_spec.rb +0 -50
  882. data/spec/github/git_data/commits_spec.rb +0 -9
  883. data/spec/github/git_data/references/create_spec.rb +0 -67
  884. data/spec/github/git_data/references/delete_spec.rb +0 -40
  885. data/spec/github/git_data/references/get_spec.rb +0 -56
  886. data/spec/github/git_data/references/list_spec.rb +0 -111
  887. data/spec/github/git_data/references/update_spec.rb +0 -62
  888. data/spec/github/git_data/references_spec.rb +0 -11
  889. data/spec/github/git_data/tags/create_spec.rb +0 -63
  890. data/spec/github/git_data/tags/get_spec.rb +0 -48
  891. data/spec/github/git_data/tags_spec.rb +0 -9
  892. data/spec/github/git_data/trees/create_spec.rb +0 -68
  893. data/spec/github/git_data/trees/get_spec.rb +0 -69
  894. data/spec/github/git_data/trees_spec.rb +0 -9
  895. data/spec/github/gitignore/get_spec.rb +0 -54
  896. data/spec/github/gitignore/list_spec.rb +0 -42
  897. data/spec/github/issues/assignees/check_spec.rb +0 -46
  898. data/spec/github/issues/assignees/list_spec.rb +0 -47
  899. data/spec/github/issues/assignees_spec.rb +0 -5
  900. data/spec/github/issues/comments/create_spec.rb +0 -50
  901. data/spec/github/issues/comments/delete_spec.rb +0 -36
  902. data/spec/github/issues/comments/edit_spec.rb +0 -50
  903. data/spec/github/issues/comments/get_spec.rb +0 -49
  904. data/spec/github/issues/comments/list_spec.rb +0 -79
  905. data/spec/github/issues/comments_spec.rb +0 -9
  906. data/spec/github/issues/create_spec.rb +0 -60
  907. data/spec/github/issues/edit_spec.rb +0 -61
  908. data/spec/github/issues/events/get_spec.rb +0 -51
  909. data/spec/github/issues/events/list_spec.rb +0 -86
  910. data/spec/github/issues/events_spec.rb +0 -7
  911. data/spec/github/issues/get_spec.rb +0 -49
  912. data/spec/github/issues/labels/add_spec.rb +0 -50
  913. data/spec/github/issues/labels/create_spec.rb +0 -59
  914. data/spec/github/issues/labels/delete_spec.rb +0 -39
  915. data/spec/github/issues/labels/get_spec.rb +0 -47
  916. data/spec/github/issues/labels/list_spec.rb +0 -102
  917. data/spec/github/issues/labels/remove_spec.rb +0 -58
  918. data/spec/github/issues/labels/replace_spec.rb +0 -49
  919. data/spec/github/issues/labels/update_spec.rb +0 -61
  920. data/spec/github/issues/labels_spec.rb +0 -7
  921. data/spec/github/issues/list_spec.rb +0 -100
  922. data/spec/github/issues/milestones/create_spec.rb +0 -56
  923. data/spec/github/issues/milestones/delete_spec.rb +0 -42
  924. data/spec/github/issues/milestones/get_spec.rb +0 -51
  925. data/spec/github/issues/milestones/list_spec.rb +0 -52
  926. data/spec/github/issues/milestones/update_spec.rb +0 -57
  927. data/spec/github/issues/milestones_spec.rb +0 -11
  928. data/spec/github/orgs/edit_spec.rb +0 -54
  929. data/spec/github/orgs/get_spec.rb +0 -44
  930. data/spec/github/orgs/list_spec.rb +0 -63
  931. data/spec/github/orgs/members/conceal_spec.rb +0 -37
  932. data/spec/github/orgs/members/delete_spec.rb +0 -35
  933. data/spec/github/orgs/members/list_spec.rb +0 -82
  934. data/spec/github/orgs/members/member_spec.rb +0 -67
  935. data/spec/github/orgs/members/publicize_spec.rb +0 -37
  936. data/spec/github/orgs/members_spec.rb +0 -5
  937. data/spec/github/orgs/teams/add_member_spec.rb +0 -40
  938. data/spec/github/orgs/teams/add_repo_spec.rb +0 -39
  939. data/spec/github/orgs/teams/create_spec.rb +0 -58
  940. data/spec/github/orgs/teams/delete_spec.rb +0 -36
  941. data/spec/github/orgs/teams/edit_spec.rb +0 -57
  942. data/spec/github/orgs/teams/get_spec.rb +0 -45
  943. data/spec/github/orgs/teams/list_members_spec.rb +0 -49
  944. data/spec/github/orgs/teams/list_repos_spec.rb +0 -49
  945. data/spec/github/orgs/teams/list_spec.rb +0 -49
  946. data/spec/github/orgs/teams/remove_member_spec.rb +0 -40
  947. data/spec/github/orgs/teams/remove_repo_spec.rb +0 -40
  948. data/spec/github/orgs/teams/team_member_spec.rb +0 -42
  949. data/spec/github/orgs/teams/team_repo_spec.rb +0 -43
  950. data/spec/github/orgs/teams_spec.rb +0 -7
  951. data/spec/github/pull_requests/comments/create_spec.rb +0 -59
  952. data/spec/github/pull_requests/comments/delete_spec.rb +0 -35
  953. data/spec/github/pull_requests/comments/edit_spec.rb +0 -51
  954. data/spec/github/pull_requests/comments/get_spec.rb +0 -52
  955. data/spec/github/pull_requests/comments/list_spec.rb +0 -76
  956. data/spec/github/pull_requests/comments_spec.rb +0 -11
  957. data/spec/github/pull_requests/commits_spec.rb +0 -51
  958. data/spec/github/pull_requests/create_spec.rb +0 -56
  959. data/spec/github/pull_requests/files_spec.rb +0 -51
  960. data/spec/github/pull_requests/get_spec.rb +0 -49
  961. data/spec/github/pull_requests/list_spec.rb +0 -54
  962. data/spec/github/pull_requests/merge_spec.rb +0 -44
  963. data/spec/github/pull_requests/merged_spec.rb +0 -39
  964. data/spec/github/pull_requests/update_spec.rb +0 -55
  965. data/spec/github/repos/assets/delete_spec.rb +0 -40
  966. data/spec/github/repos/assets/edit_spec.rb +0 -40
  967. data/spec/github/repos/assets/get_spec.rb +0 -45
  968. data/spec/github/repos/assets/list_spec.rb +0 -55
  969. data/spec/github/repos/assets/upload_spec.rb +0 -44
  970. data/spec/github/repos/branch_spec.rb +0 -42
  971. data/spec/github/repos/branches_spec.rb +0 -54
  972. data/spec/github/repos/collaborators/add_spec.rb +0 -39
  973. data/spec/github/repos/collaborators/get_spec.rb +0 -49
  974. data/spec/github/repos/collaborators/list_spec.rb +0 -55
  975. data/spec/github/repos/collaborators/remove_spec.rb +0 -39
  976. data/spec/github/repos/collaborators_spec.rb +0 -7
  977. data/spec/github/repos/comments/create_spec.rb +0 -59
  978. data/spec/github/repos/comments/delete_spec.rb +0 -43
  979. data/spec/github/repos/comments/get_spec.rb +0 -52
  980. data/spec/github/repos/comments/list_spec.rb +0 -96
  981. data/spec/github/repos/comments/update_spec.rb +0 -48
  982. data/spec/github/repos/commits/compare_spec.rb +0 -37
  983. data/spec/github/repos/commits/get_spec.rb +0 -50
  984. data/spec/github/repos/commits/list_spec.rb +0 -52
  985. data/spec/github/repos/contents/archive_spec.rb +0 -38
  986. data/spec/github/repos/contents/create_spec.rb +0 -41
  987. data/spec/github/repos/contents/delete_spec.rb +0 -55
  988. data/spec/github/repos/contents/get_spec.rb +0 -35
  989. data/spec/github/repos/contents/readme_spec.rb +0 -30
  990. data/spec/github/repos/contributors_spec.rb +0 -59
  991. data/spec/github/repos/create_spec.rb +0 -77
  992. data/spec/github/repos/delete_spec.rb +0 -38
  993. data/spec/github/repos/downloads/create_spec.rb +0 -64
  994. data/spec/github/repos/downloads/delete_spec.rb +0 -45
  995. data/spec/github/repos/downloads/get_spec.rb +0 -53
  996. data/spec/github/repos/downloads/list_spec.rb +0 -55
  997. data/spec/github/repos/downloads/upload_spec.rb +0 -32
  998. data/spec/github/repos/downloads_spec.rb +0 -13
  999. data/spec/github/repos/edit_spec.rb +0 -60
  1000. data/spec/github/repos/forks/create_spec.rb +0 -45
  1001. data/spec/github/repos/forks/list_spec.rb +0 -54
  1002. data/spec/github/repos/get_spec.rb +0 -51
  1003. data/spec/github/repos/hooks/create_spec.rb +0 -68
  1004. data/spec/github/repos/hooks/delete_spec.rb +0 -40
  1005. data/spec/github/repos/hooks/edit_spec.rb +0 -77
  1006. data/spec/github/repos/hooks/get_spec.rb +0 -49
  1007. data/spec/github/repos/hooks/list_spec.rb +0 -54
  1008. data/spec/github/repos/hooks/test_spec.rb +0 -40
  1009. data/spec/github/repos/hooks_spec.rb +0 -13
  1010. data/spec/github/repos/keys/create_spec.rb +0 -50
  1011. data/spec/github/repos/keys/delete_spec.rb +0 -40
  1012. data/spec/github/repos/keys/edit_spec.rb +0 -42
  1013. data/spec/github/repos/keys/get_spec.rb +0 -45
  1014. data/spec/github/repos/keys/list_spec.rb +0 -54
  1015. data/spec/github/repos/keys_spec.rb +0 -9
  1016. data/spec/github/repos/languages_spec.rb +0 -61
  1017. data/spec/github/repos/list_spec.rb +0 -120
  1018. data/spec/github/repos/merging/merge_spec.rb +0 -58
  1019. data/spec/github/repos/pub_sub_hubbub/subscribe_service_spec.rb +0 -27
  1020. data/spec/github/repos/pub_sub_hubbub/subscribe_spec.rb +0 -47
  1021. data/spec/github/repos/pub_sub_hubbub/unsubscribe_service_spec.rb +0 -21
  1022. data/spec/github/repos/pub_sub_hubbub/unsubscribe_spec.rb +0 -58
  1023. data/spec/github/repos/releases/create_spec.rb +0 -44
  1024. data/spec/github/repos/releases/delete_spec.rb +0 -40
  1025. data/spec/github/repos/releases/edit_spec.rb +0 -40
  1026. data/spec/github/repos/releases/get_spec.rb +0 -45
  1027. data/spec/github/repos/releases/list_spec.rb +0 -54
  1028. data/spec/github/repos/statistics/code_frequency_spec.rb +0 -25
  1029. data/spec/github/repos/statistics/commit_activity_spec.rb +0 -29
  1030. data/spec/github/repos/statistics/contributors_spec.rb +0 -29
  1031. data/spec/github/repos/statistics/participation_spec.rb +0 -25
  1032. data/spec/github/repos/statistics/punch_card_spec.rb +0 -25
  1033. data/spec/github/repos/statuses/create_spec.rb +0 -56
  1034. data/spec/github/repos/statuses/list_spec.rb +0 -53
  1035. data/spec/github/repos/statuses_spec.rb +0 -11
  1036. data/spec/github/repos/tags_spec.rb +0 -59
  1037. data/spec/github/repos/teams_spec.rb +0 -59
  1038. data/spec/github/s3_uploader_spec.rb +0 -51
  1039. data/spec/github/scopes/list_spec.rb +0 -33
  1040. data/spec/github/search/code_spec.rb +0 -38
  1041. data/spec/github/search/issues_spec.rb +0 -38
  1042. data/spec/github/search/legacy/email_spec.rb +0 -34
  1043. data/spec/github/search/legacy/issues_spec.rb +0 -39
  1044. data/spec/github/search/legacy/repos_spec.rb +0 -36
  1045. data/spec/github/search/legacy/users_spec.rb +0 -36
  1046. data/spec/github/search/repos_spec.rb +0 -38
  1047. data/spec/github/search/users_spec.rb +0 -38
  1048. data/spec/github/users/emails/add_spec.rb +0 -33
  1049. data/spec/github/users/emails/delete_spec.rb +0 -33
  1050. data/spec/github/users/emails/list_spec.rb +0 -52
  1051. data/spec/github/users/followers/follow_spec.rb +0 -33
  1052. data/spec/github/users/followers/following_spec.rb +0 -65
  1053. data/spec/github/users/followers/is_following_spec.rb +0 -41
  1054. data/spec/github/users/followers/list_spec.rb +0 -62
  1055. data/spec/github/users/followers/unfollow_spec.rb +0 -33
  1056. data/spec/github/users/get_spec.rb +0 -61
  1057. data/spec/github/users/keys/create_spec.rb +0 -51
  1058. data/spec/github/users/keys/delete_spec.rb +0 -37
  1059. data/spec/github/users/keys/get_spec.rb +0 -50
  1060. data/spec/github/users/keys/list_spec.rb +0 -78
  1061. data/spec/github/users/keys/update_spec.rb +0 -56
  1062. data/spec/github/users/list_spec.rb +0 -45
  1063. data/spec/github/users/update_spec.rb +0 -56
@@ -0,0 +1,33 @@
1
+ # encoding: utf-8
2
+
3
+ require 'github_api/core_ext/hash'
4
+
5
+ module Github
6
+ class API
7
+ class Factory
8
+
9
+ # Instantiates a new github api object
10
+ #
11
+ def self.new(klass, options={}, &block)
12
+ return create_instance(klass, options, &block) if klass
13
+ raise ArgumentError, 'must provide API class to be instantiated'
14
+ end
15
+
16
+ # Passes configuration options to instantiated class
17
+ #
18
+ def self.create_instance(klass, options, &block)
19
+ options.symbolize_keys!
20
+ convert_to_constant(klass.to_s).new options, &block
21
+ end
22
+
23
+ # Convert name to constant
24
+ #
25
+ def self.convert_to_constant(classes)
26
+ classes.split('::').inject(Github) do |constant, klass|
27
+ constant.const_get klass
28
+ end
29
+ end
30
+
31
+ end # Factory
32
+ end # Api
33
+ end # Github
@@ -3,86 +3,70 @@
3
3
  module Github
4
4
  class Client < API
5
5
 
6
+ require_all 'github_api/client',
7
+ 'activity',
8
+ 'authorizations',
9
+ 'emojis',
10
+ 'gists',
11
+ 'gitignore',
12
+ 'git_data',
13
+ 'issues',
14
+ 'markdown',
15
+ 'meta',
16
+ 'orgs',
17
+ 'pull_requests',
18
+ 'repos',
19
+ 'say',
20
+ 'scopes',
21
+ 'search',
22
+ 'users'
23
+
6
24
  # Serving up the ‘social’ in Social Coding™, the Activity APIs
7
25
  # provide access to notifications, subscriptions, and timelines.
8
- #
9
- def activity(options={}, &block)
10
- @activity ||= ApiFactory.new('Activity', current_options.merge(options), &block)
11
- end
12
-
13
- def emojis(options={}, &block)
14
- @emojis ||= ApiFactory.new('Emojis', current_options.merge(options), &block)
15
- end
16
-
17
- def gists(options={}, &block)
18
- @gists ||= ApiFactory.new('Gists', current_options.merge(options), &block)
19
- end
20
-
21
- def gitignore(options={}, &block)
22
- @gitignore ||= ApiFactory.new('Gitignore', current_options.merge(options), &block)
23
- end
26
+ namespace :activity
27
+
28
+ namespace :emojis
29
+
30
+ namespace :gists
31
+
32
+ namespace :gitignore
24
33
  alias :git_ignore :gitignore
25
34
 
26
35
  # The Git Database API gives you access to read and write raw Git objects
27
36
  # to your Git database on GitHub and to list and update your references
28
37
  # (branch heads and tags).
29
- def git_data(options={}, &block)
30
- @git_data ||= ApiFactory.new('GitData', current_options.merge(options), &block)
31
- end
38
+ namespace :git_data
32
39
  alias :git :git_data
33
40
 
34
- def issues(options={}, &block)
35
- @issues ||= ApiFactory.new('Issues', current_options.merge(options), &block)
36
- end
41
+ namespace :issues
37
42
 
38
- def markdown(options={}, &block)
39
- @markdown ||= ApiFactory.new('Markdown', current_options.merge(options), &block)
40
- end
43
+ namespace :markdown
41
44
 
42
- def meta(options={}, &block)
43
- @meta ||= ApiFactory.new('Meta', current_options.merge(options), &block)
44
- end
45
+ namespace :meta
45
46
 
46
47
  # An API for users to manage their own tokens. You can only access your own
47
48
  # tokens, and only through Basic Authentication.
48
- def oauth(options={}, &block)
49
- @oauth ||= ApiFactory.new('Authorizations', current_options.merge(options), &block)
50
- end
51
- alias :authorizations :oauth
52
-
53
- def orgs(options={}, &block)
54
- @orgs ||= ApiFactory.new('Orgs', current_options.merge(options), &block)
55
- end
49
+ namespace :authorizations
50
+ alias :oauth :authorizations
51
+
52
+ namespace :orgs
56
53
  alias :organizations :orgs
57
54
 
58
- def pull_requests(options={}, &block)
59
- @pull_requests ||= ApiFactory.new('PullRequests', current_options.merge(options), &block)
60
- end
55
+ namespace :pull_requests
61
56
  alias :pulls :pull_requests
62
57
 
63
- def repos(options={}, &block)
64
- @repos ||= ApiFactory.new('Repos', current_options.merge(options), &block)
65
- end
58
+ namespace :repos
66
59
  alias :repositories :repos
67
60
 
68
- def octocat(options={}, &block)
69
- @octocat ||= ApiFactory.new('Say', current_options.merge(options), &block)
70
- end
61
+ namespace :say
62
+ alias :octocat :say
71
63
 
72
- def scopes(options={}, &block)
73
- @scopes ||= ApiFactory.new('Scopes', current_options.merge(options), &block)
74
- end
64
+ namespace :scopes
75
65
 
76
- def search(options={}, &block)
77
- @search ||= ApiFactory.new('Search', current_options.merge(options), &block)
78
- end
66
+ namespace :search
79
67
 
80
68
  # Many of the resources on the users API provide a shortcut for getting
81
69
  # information about the currently authenticated user.
82
- #
83
- def users(options={}, &block)
84
- @users ||= ApiFactory.new('Users', current_options.merge(options), &block)
85
- end
86
-
70
+ namespace :users
87
71
  end # Client
88
72
  end # Github
@@ -0,0 +1,25 @@
1
+ # encoding: utf-8
2
+
3
+ module Github
4
+ class Client::Activity < API
5
+
6
+ require_all 'github_api/client/activity',
7
+ 'events',
8
+ 'notifications',
9
+ 'starring',
10
+ 'watching'
11
+
12
+ # Access to Activity::Events API
13
+ namespace :events
14
+
15
+ # Access to Activity::Notifications API
16
+ namespace :notifications
17
+
18
+ # Access to Activity::Starring API
19
+ namespace :starring
20
+
21
+ # Access to Activity::Watching API
22
+ namespace :watching
23
+
24
+ end # Activity
25
+ end # Github
@@ -0,0 +1,216 @@
1
+ # encoding: utf-8
2
+
3
+ module Github
4
+ class Client::Activity::Events < API
5
+
6
+ # List all public events
7
+ #
8
+ # @example
9
+ # github = Github.new
10
+ # github.activity.events.public
11
+ # github.activity.events.public { |event| ... }
12
+ #
13
+ # @api public
14
+ def public(*args)
15
+ arguments(args)
16
+
17
+ response = get_request("/events", arguments.params)
18
+ return response unless block_given?
19
+ response.each { |el| yield el }
20
+ end
21
+ alias :public_events :public
22
+ alias :list_public :public
23
+ alias :list_public_events :public
24
+
25
+ # List all repository events for a given user
26
+ #
27
+ # @example
28
+ # github = Github.new
29
+ # github.activity.events.repository 'user-name', 'repo-name'
30
+ # github.activity.events.repository 'user-name', 'repo-name' { |event| ... }
31
+ #
32
+ # @example
33
+ # github.activity.events.repository user: 'user-name', repo: 'repo-name'
34
+ # github.activity.events.repository user: 'user-name', repo: 'repo-name' {|event| ... }
35
+ #
36
+ # @api public
37
+ def repository(*args)
38
+ arguments(args, required: [:user, :repo])
39
+
40
+ response = get_request("/repos/#{arguments.user}/#{arguments.repo}/events", arguments.params)
41
+ return response unless block_given?
42
+ response.each { |el| yield el }
43
+ end
44
+ alias :repos :repository
45
+ alias :repo_events :repository
46
+ alias :repository_events :repository
47
+ alias :list_repository_events :repository
48
+
49
+ # List all issue events for a given repository
50
+ #
51
+ # @example
52
+ # github = Github.new
53
+ # github.activity.events.issue 'user-name', 'repo-name'
54
+ # github.activity.events.issue 'user-name', 'repo-name' { |event| ... }
55
+ #
56
+ # @example
57
+ # github.activity.events.issue user: 'user-name', repo: 'repo-name'
58
+ # github.activity.events.issue user: 'user-name', repo: 'repo-name' { |event| ... }
59
+ #
60
+ # @api public
61
+ def issue(*args)
62
+ arguments(args, required: [:user, :repo])
63
+
64
+ response = get_request("/repos/#{arguments.user}/#{arguments.repo}/issues/events", arguments.params)
65
+ return response unless block_given?
66
+ response.each { |el| yield el }
67
+ end
68
+ alias :issues :issue
69
+ alias :issue_events :issue
70
+ alias :list_issue_events :issue
71
+
72
+ # List all public events for a network of repositories
73
+ #
74
+ # @example
75
+ # github = Github.new
76
+ # github.activity.events.network 'user-name', 'repo-name'
77
+ # github.activity.events.network 'user-name', 'repo-name' { |event| ... }
78
+ #
79
+ # @example
80
+ # github.activity.events.network user: 'user-name', repo: 'repo-name'
81
+ # github.activity.events.network user: 'user-name', repo: 'repo-name' { |event| ... }
82
+ #
83
+ # @api public
84
+ def network(*args)
85
+ arguments(args, required: [:user, :repo])
86
+
87
+ response = get_request("/networks/#{arguments.user}/#{arguments.repo}/events", arguments.params)
88
+ return response unless block_given?
89
+ response.each { |el| yield el }
90
+ end
91
+ alias :repo_network :network
92
+ alias :repository_network :network
93
+ alias :list_repo_network_events :network
94
+ alias :list_repository_network_events :network
95
+
96
+ # List all public events for an organization
97
+ #
98
+ # @example
99
+ # github = Github.new
100
+ # github.activity.events.org 'org-name'
101
+ # github.activity.events.org 'org-name' { |event| ... }
102
+ #
103
+ # @example
104
+ # github.activity.events.org name: 'org-name'
105
+ # github.activity.events.org name: 'org-name' { |event| ... }
106
+ #
107
+ # @api public
108
+ def org(*args)
109
+ arguments(args, required: [:name])
110
+
111
+ response = get_request("/orgs/#{arguments.name}/events", arguments.params)
112
+ return response unless block_given?
113
+ response.each { |el| yield el }
114
+ end
115
+ alias :organization :org
116
+ alias :list_orgs :org
117
+ alias :list_org_events :org
118
+ alias :list_organization_events :org
119
+
120
+ # List all events that a user has received
121
+ #
122
+ # These are events that you’ve received by watching repos
123
+ # and following users. If you are authenticated as the given user,
124
+ # you will see private events. Otherwise, you’ll only see public events.
125
+ #
126
+ # @example
127
+ # github = Github.new
128
+ # github.activity.events.received 'user-name'
129
+ # github.activity.events.received 'user-name' { |event| ... }
130
+ #
131
+ # List all public events that a user has received
132
+ #
133
+ # @example
134
+ # github = Github.new
135
+ # github.activity.events.received 'user-name', public: true
136
+ # github.activity.events.received 'user-name', public: true { |event| ... }
137
+ #
138
+ # @api public
139
+ def received(*args)
140
+ arguments(args, required: [:user])
141
+ params = arguments.params
142
+
143
+ public_events = if params['public']
144
+ params.delete('public')
145
+ '/public'
146
+ end
147
+
148
+ response = get_request("/users/#{arguments.user}/received_events#{public_events}", params)
149
+ return response unless block_given?
150
+ response.each { |el| yield el }
151
+ end
152
+ alias :user_received :received
153
+ alias :list_user_received :received
154
+
155
+ # List all events that a user has performed
156
+ #
157
+ # If you are authenticated as the given user, you will see your private
158
+ # events. Otherwise, you’ll only see public events.
159
+ #
160
+ # @example
161
+ # github = Github.new
162
+ # github.activity.events.performed 'user-name'
163
+ # github.activity.events.performed 'user-name' { |event| ... }
164
+ #
165
+ # List all public events that a user has performed
166
+ #
167
+ # @example
168
+ # github = Github.new
169
+ # github.activity.events.performed 'user-name', public: true
170
+ # github.activity.events.performed 'user-name', public: true { |event| ... }
171
+ #
172
+ # @api public
173
+ def performed(*args)
174
+ arguments(args, required: [:user])
175
+ params = arguments.params
176
+
177
+ public_events = if params['public']
178
+ params.delete('public')
179
+ '/public'
180
+ end
181
+
182
+ response = get_request("/users/#{arguments.user}/events#{public_events}", params)
183
+ return response unless block_given?
184
+ response.each { |el| yield el }
185
+ end
186
+ alias :user_performed :performed
187
+ alias :list_user_performed :performed
188
+
189
+ # List all events for an organization
190
+ #
191
+ # This is the user’s organization dashboard. You must be authenticated
192
+ # as the user to view this.
193
+ #
194
+ # @example
195
+ # github = Github.new
196
+ # github.activity.events.user_org 'user-name', 'org-name'
197
+ # github.activity.events.user_org 'user-name', 'org-name' { |event| ... }
198
+ #
199
+ # @example
200
+ # github.activity.events.user_org user: 'user-name', name: 'org-name'
201
+ # github.activity.events.user_org user: 'user-name', name: 'org-name' {|event| ...}
202
+ #
203
+ # @api public
204
+ def user_org(*args)
205
+ arguments(args, required: [:user, :name])
206
+
207
+ response = get_request("/users/#{arguments.user}/events/orgs/#{arguments.name}", arguments.params)
208
+ return response unless block_given?
209
+ response.each { |el| yield el }
210
+ end
211
+ alias :user_organization :user_org
212
+ alias :list_user_org :user_org
213
+ alias :list_user_org_events :user_org
214
+ alias :list_user_organization_events :user_org
215
+ end # Client::Activity::Events
216
+ end # Github
@@ -0,0 +1,184 @@
1
+ # encoding: utf-8
2
+
3
+ module Github
4
+ class Client::Activity::Notifications < API
5
+
6
+ # List your notifications
7
+ #
8
+ # List all notifications for the current user, grouped by repository.
9
+ #
10
+ # @see https://developer.github.com/v3/activity/notifications/#list-your-notifications
11
+ #
12
+ # @param [Hash] params
13
+ # @option params [Boolean] :all
14
+ # If true, show notifications marked as read.
15
+ # Default: false
16
+ # @option params [Boolean] :participating
17
+ # If true, only shows notifications in which the user
18
+ # is directly participating or mentioned. Default: false
19
+ # @option params [String] :since
20
+ # Filters out any notifications updated before the given time.
21
+ # This is a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.
22
+ # Default: Time.now
23
+ #
24
+ # @example
25
+ # github = Github.new oauth_token: 'token'
26
+ # github.activity.notifications.list
27
+ #
28
+ # List your notifications in a repository
29
+ #
30
+ # @see https://developer.github.com/v3/activity/notifications/#list-your-notifications-in-a-repository
31
+ #
32
+ # @example
33
+ # github = Github.new
34
+ # github.activity.notifications.list user: 'user-name', repo: 'repo-name'
35
+ #
36
+ # @api public
37
+ def list(*args)
38
+ arguments(args) do
39
+ permit %w[ all participating since user repo]
40
+ end
41
+ params = arguments.params
42
+
43
+ response = if ( (user_name = params.delete("user")) &&
44
+ (repo_name = params.delete("repo")) )
45
+ get_request("/repos/#{user_name}/#{repo_name}/notifications", params)
46
+ else
47
+ get_request("/notifications", params)
48
+ end
49
+ return response unless block_given?
50
+ response.each { |el| yield el }
51
+ end
52
+ alias :all :list
53
+
54
+ # View a single thread
55
+ #
56
+ # @see https://developer.github.com/v3/activity/notifications/#view-a-single-thread
57
+ #
58
+ # @example
59
+ # github = Github.new oauth_token: 'token'
60
+ # github.activity.notifications.get 'thread_id'
61
+ # github.activity.notifications.get 'thread_id' { |thread| ... }
62
+ #
63
+ # @api public
64
+ def get(*args)
65
+ arguments(args, required: [:id])
66
+
67
+ response = get_request("/notifications/threads/#{arguments.id}", arguments.params)
68
+ return response unless block_given?
69
+ response.each { |el| yield el }
70
+ end
71
+ alias :find :get
72
+
73
+ # Mark as read
74
+ #
75
+ # Marking a notification as “read” removes it from the default view on GitHub.com.
76
+ #
77
+ # @see https://developer.github.com/v3/activity/notifications/#mark-as-read
78
+ #
79
+ # @param [Hash] params
80
+ # @option params [String] :last_read_at
81
+ # Describes the last point that notifications were checked.
82
+ # Anything updated since this time will not be updated.
83
+ # This is a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.
84
+ # Default: Time.now
85
+ #
86
+ # @example
87
+ # github = Github.new oauth_token: 'token'
88
+ # github.activity.notifications.mark
89
+ #
90
+ # Mark notifications as read in a repository
91
+ #
92
+ # @see https://developer.github.com/v3/activity/notifications/#mark-notifications-as-read-in-a-repository
93
+ #
94
+ # @example
95
+ # github.activity.notifications.mark user: 'user-name', repo: 'repo-name'
96
+ #
97
+ # Mark a thread as read
98
+ #
99
+ # @see https://developer.github.com/v3/activity/notifications/#mark-a-thread-as-read
100
+ #
101
+ # @example
102
+ # github.activity.notifications.mark id: 'thread-id'
103
+ #
104
+ # @api public
105
+ def mark(*args)
106
+ arguments(args) do
107
+ permit %w[ unread read last_read_at user repo id]
108
+ end
109
+ params = arguments.params
110
+
111
+ if ( (user_name = params.delete("user")) &&
112
+ (repo_name = params.delete("repo")) )
113
+
114
+ put_request("/repos/#{user_name}/#{repo_name}/notifications", params)
115
+ elsif (thread_id = params.delete("id"))
116
+ patch_request("/notifications/threads/#{thread_id}", params)
117
+ else
118
+ put_request("/notifications", params)
119
+ end
120
+ end
121
+
122
+ # Check to see if the current user is subscribed to a thread.
123
+ #
124
+ # @see https://developer.github.com/v3/activity/notifications/#get-a-thread-subscription
125
+ #
126
+ # @example
127
+ # github = Github.new oauth_token: 'token'
128
+ # github.activity.notifications.subscribed? 'thread-id'
129
+ #
130
+ # @example
131
+ # github.activity.notifications.subscribed? id: 'thread-id'
132
+ #
133
+ # @api public
134
+ def subscribed?(*args)
135
+ arguments(args, required: [:id])
136
+
137
+ get_request("/notifications/threads/#{arguments.id}/subscription", arguments.params)
138
+ end
139
+
140
+ # Create a thread subscription
141
+ #
142
+ # This lets you subscribe to a thread, or ignore it. Subscribing to a thread
143
+ # is unnecessary if the user is already subscribed to the repository. Ignoring
144
+ # a thread will mute all future notifications (until you comment or get
145
+ # @mentioned).
146
+ #
147
+ # @see https://developer.github.com/v3/activity/notifications/#set-a-thread-subscription
148
+ #
149
+ # @param [Hash] params
150
+ # @option params [Boolean] :subscribed
151
+ # Determines if notifications should be received from this thread
152
+ # @option params [Boolean] :ignored
153
+ # Determines if all notifications should be blocked from this thread
154
+ #
155
+ # @example
156
+ # github = Github.new oauth_token: 'token'
157
+ # github.activity.notifications.create 'thread-id',
158
+ # subscribed: true
159
+ # ignored: false
160
+ #
161
+ # @api public
162
+ def create(*args)
163
+ arguments(args, required: [:id])
164
+
165
+ put_request("/notifications/threads/#{arguments.id}/subscription", arguments.params)
166
+ end
167
+
168
+ # Delete a thread subscription
169
+ #
170
+ # @see https://developer.github.com/v3/activity/notifications/#delete-a-thread-subscription
171
+ #
172
+ # @example
173
+ # github = Github.new oauth_token: 'token'
174
+ # github.activity.notifications.delete 'thread_id'
175
+ #
176
+ # @api public
177
+ def delete(*args)
178
+ arguments(args, required: [:id])
179
+
180
+ delete_request("/notifications/threads/#{arguments.id}/subscription", arguments.params)
181
+ end
182
+ alias :remove :delete
183
+ end # Client::Activity::Notifications
184
+ end # Github