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,205 @@
1
+ # encoding: utf-8
2
+
3
+ module Github
4
+ class Client::PullRequests < API
5
+
6
+ require_all 'github_api/client/pull_requests',
7
+ 'comments'
8
+
9
+ VALID_REQUEST_PARAM_NAMES = %w[
10
+ title
11
+ body
12
+ base
13
+ head
14
+ state
15
+ issue
16
+ commit_message
17
+ mime_type
18
+ resource
19
+ ].freeze
20
+
21
+ VALID_REQUEST_PARAM_VALUES = {
22
+ 'state' => %w[ open closed ]
23
+ }
24
+
25
+ # Access to PullRequests::Comments API
26
+ namespace :comments
27
+
28
+ # List pull requests
29
+ #
30
+ # @example
31
+ # github = Github.new user: 'user-name', repo: 'repo-name'
32
+ # github.pull_requests.list
33
+ # github.pull_requests.list { |req| ... }
34
+ #
35
+ # @example
36
+ # pulls = Github::PullRequests.new
37
+ # pulls.pull_requests.list 'user-name', 'repo-name'
38
+ #
39
+ # @api public
40
+ def list(*args)
41
+ arguments(args, required: [:user, :repo]) do
42
+ permit VALID_REQUEST_PARAM_NAMES
43
+ assert_values VALID_REQUEST_PARAM_VALUES
44
+ end
45
+
46
+ response = get_request("/repos/#{arguments.user}/#{arguments.repo}/pulls", arguments.params)
47
+ return response unless block_given?
48
+ response.each { |el| yield el }
49
+ end
50
+ alias :all :list
51
+
52
+ # Get a single pull request
53
+ #
54
+ # = Examples
55
+ # github = Github.new
56
+ # github.pull_requests.get 'user-name', 'repo-name', 'number'
57
+ #
58
+ # pulls = Github::PullRequests.new
59
+ # pulls.get 'user-name', 'repo-name', 'number'
60
+ #
61
+ def get(*args)
62
+ arguments(args, required: [:user, :repo, :number])
63
+
64
+ get_request("/repos/#{arguments.user}/#{arguments.repo}/pulls/#{arguments.number}", arguments.params)
65
+ end
66
+ alias :find :get
67
+
68
+ # Create a pull request
69
+ #
70
+ # @param [Hash] params
71
+ # @option params [String] :title
72
+ # Required string
73
+ # @option params [String] :body
74
+ # Optional string
75
+ # @option params [String] :base
76
+ # Required string - The branch you want your changes pulled into.
77
+ # @option params [String] :head
78
+ # Required string - The branch where your changes are implemented.
79
+ #
80
+ # @note: head and base can be either a sha or a branch name.
81
+ # Typically you would namespace head with a user like this: username:branch.
82
+ #
83
+ # Alternative Input
84
+ # You can also create a Pull Request from an existing Issue by passing
85
+ # an Issue number instead of <tt>title</tt> and <tt>body</tt>.
86
+ # @option params [Numeric] :issue
87
+ # Required number - Issue number in this repository to turn into a Pull Request.
88
+ #
89
+ # @example
90
+ # github = Github.new oauth_token: '...'
91
+ # github.pull_requests.create 'user-name', 'repo-name',
92
+ # title: "Amazing new feature",
93
+ # body: "Please pull this in!",
94
+ # head: "octocat:new-feature",
95
+ # base: "master"
96
+ #
97
+ # @example
98
+ # github.pull_requests.create 'user-name', 'repo-name',
99
+ # issue: "5",
100
+ # head: "octocat:new-feature",
101
+ # base: "master"
102
+ #
103
+ # @api public
104
+ def create(*args)
105
+ arguments(args, required: [:user, :repo]) do
106
+ permit VALID_REQUEST_PARAM_NAMES
107
+ end
108
+
109
+ post_request("/repos/#{arguments.user}/#{arguments.repo}/pulls", arguments.params)
110
+ end
111
+
112
+ # Update a pull request
113
+ #
114
+ # @param [Hash] params
115
+ # @option params [String] :title
116
+ # Optional string
117
+ # @optoin params [String] :body
118
+ # Optional string
119
+ # @option params [String] :state
120
+ # Optional string - State of this Pull Request.
121
+ # Valid values are open and closed.
122
+ #
123
+ # @example
124
+ # github = Github.new oauth_token: '...'
125
+ # github.pull_requests.update 'user-name', 'repo-name', 'number'
126
+ # title: "Amazing new title",
127
+ # body: "Update body",
128
+ # state: "open"
129
+ #
130
+ # @api public
131
+ def update(*args)
132
+ arguments(args, required: [:user, :repo, :number]) do
133
+ permit VALID_REQUEST_PARAM_NAMES
134
+ assert_values VALID_REQUEST_PARAM_VALUES
135
+ end
136
+
137
+ patch_request("/repos/#{arguments.user}/#{arguments.repo}/pulls/#{arguments.number}", arguments.params)
138
+ end
139
+
140
+ # List commits on a pull request
141
+ #
142
+ # @example
143
+ # github = Github.new
144
+ # github.pull_requests.commits 'user-name', 'repo-name', 'number'
145
+ #
146
+ # @api public
147
+ def commits(*args)
148
+ arguments(args, required: [:user, :repo, :number])
149
+
150
+ response = get_request("/repos/#{arguments.user}/#{arguments.repo}/pulls/#{arguments.number}/commits", arguments.params)
151
+ return response unless block_given?
152
+ response.each { |el| yield el }
153
+ end
154
+
155
+ # List pull requests files
156
+ #
157
+ # @example
158
+ # github = Github.new
159
+ # github.pull_requests.files 'user-name', 'repo-name', 'number'
160
+ #
161
+ # @api public
162
+ def files(*args)
163
+ arguments(args, required: [:user, :repo, :number])
164
+
165
+ response = get_request("/repos/#{arguments.user}/#{arguments.repo}/pulls/#{arguments.number}/files", arguments.params)
166
+ return response unless block_given?
167
+ response.each { |el| yield el }
168
+ end
169
+
170
+ # Check if pull request has been merged
171
+ #
172
+ # @example
173
+ # github = Github.new
174
+ # github.pull_requests.merged? 'user-name', 'repo-name', 'number'
175
+ #
176
+ # @api public
177
+ def merged?(*args)
178
+ arguments(args, required: [:user, :repo, :number])
179
+
180
+ get_request("/repos/#{arguments.user}/#{arguments.repo}/pulls/#{arguments.number}/merge", arguments.params)
181
+ true
182
+ rescue Github::Error::NotFound
183
+ false
184
+ end
185
+
186
+ # Merge a pull request(Merge Button)
187
+ #
188
+ # @param [Hash] params
189
+ # @option params [String] :commit_message
190
+ # Optional string - The message that will be used for the merge commit
191
+ #
192
+ # @example
193
+ # github = Github.new
194
+ # github.pull_requests.merge 'user-name', 'repo-name', 'number'
195
+ #
196
+ # @api public
197
+ def merge(*args)
198
+ arguments(args, required: [:user, :repo, :number]) do
199
+ permit VALID_REQUEST_PARAM_NAMES
200
+ end
201
+
202
+ put_request("/repos/#{arguments.user}/#{arguments.repo}/pulls/#{arguments.number}/merge", arguments.params)
203
+ end
204
+ end # PullRequests
205
+ end # Github
@@ -0,0 +1,165 @@
1
+ # encoding: utf-8
2
+
3
+ module Github
4
+ class Client::PullRequests::Comments < API
5
+
6
+ VALID_REQUEST_COM_PARAM_NAMES = %w[
7
+ body
8
+ commit_id
9
+ path
10
+ position
11
+ in_reply_to
12
+ mime_type
13
+ resource
14
+ ].freeze
15
+
16
+ # List comments on a pull request
17
+ #
18
+ # @example
19
+ # github = Github.new
20
+ # github.pull_requests.comments.list 'user-name', 'repo-name', number: 'id'
21
+ #
22
+ # List comments in a repository
23
+ #
24
+ # By default, Review Comments are ordered by ascending ID.
25
+ #
26
+ # @param [Hash] params
27
+ # @input params [String] :sort
28
+ # Optional string. Can be either created or updated. Default: created
29
+ # @input params [String] :direction
30
+ # Optional string. Can be either asc or desc. Ignored without sort parameter
31
+ # @input params [String] :since
32
+ # Optional string of a timestamp in ISO 8601
33
+ # format: YYYY-MM-DDTHH:MM:SSZ
34
+ # @example
35
+ # github = Github.new
36
+ # github.pull_requests.comments.list 'user-name', 'repo-name'
37
+ # github.pull_requests.comments.list 'user-name', 'repo-name' { |comm| ... }
38
+ #
39
+ # @api public
40
+ def list(*args)
41
+ arguments(args, required: [:user, :repo])
42
+ params = arguments.params
43
+ user = arguments.user
44
+ repo = arguments.repo
45
+
46
+ response = if (number = params.delete('number'))
47
+ get_request("/repos/#{user}/#{repo}/pulls/#{number}/comments", params)
48
+ else
49
+ get_request("/repos/#{user}/#{repo}/pulls/comments", params)
50
+ end
51
+ return response unless block_given?
52
+ response.each { |el| yield el }
53
+ end
54
+ alias :all :list
55
+
56
+ # Get a single comment for pull requests
57
+ #
58
+ # @example
59
+ # github = Github.new
60
+ # github.pull_requests.comments.get 'user-name', 'repo-name', 'number'
61
+ #
62
+ # @example
63
+ # github.pull_requests.comments.get
64
+ # user: 'user-name',
65
+ # repo: 'repo-name',
66
+ # number: 'comment-number
67
+ #
68
+ # @api public
69
+ def get(*args)
70
+ arguments(args, required: [:user, :repo, :number])
71
+
72
+ get_request("/repos/#{arguments.user}/#{arguments.repo}/pulls/comments/#{arguments.number}", arguments.params)
73
+ end
74
+ alias :find :get
75
+
76
+ # Create a pull request comment
77
+ #
78
+ # @param [Hash] params
79
+ # @option params [String] :body
80
+ # Required string. The text of the comment.
81
+ # @option params [String] :commit_id
82
+ # Required string - The SHA of the commit to comment on.
83
+ # @option params [String] :path
84
+ # Required string. The relative path of the file to comment on.
85
+ # @option params [Number] :position
86
+ # Required number. The line index in the diff to comment on.
87
+ #
88
+ # @example
89
+ # github = Github.new
90
+ # github.pull_requests.comments.create 'user-name', 'repo-name', 'number',
91
+ # body: "Nice change",
92
+ # commit_id: "6dcb09b5b57875f334f61aebed695e2e4193db5e",
93
+ # path: "file1.txt",
94
+ # position: 4
95
+ #
96
+ # Alternative Inputs
97
+ #
98
+ # Instead of passing commit_id, path, and position you can reply to
99
+ # an existing Pull Request Comment like this
100
+ # @option params [String] :body
101
+ # Required string. The text of the comment.
102
+ # @option params [Number] :in_reply_to
103
+ # Required number. The comment id to reply to.
104
+ #
105
+ # @example
106
+ # github = Github.new
107
+ # github.pull_requests.comments.create 'user-name','repo-name', 'number',
108
+ # body: "Nice change",
109
+ # in_reply_to: 4
110
+ #
111
+ # @api public
112
+ def create(*args)
113
+ arguments(args, required: [:user, :repo, :number]) do
114
+ permit VALID_REQUEST_COM_PARAM_NAMES
115
+ end
116
+
117
+ post_request("/repos/#{arguments.user}/#{arguments.repo}/pulls/#{arguments.number}/comments", arguments.params)
118
+ end
119
+
120
+ # Edit a pull request comment
121
+ #
122
+ # @param [Hash] params
123
+ # @option params [String] :body
124
+ # Required string. The text of the comment.
125
+ #
126
+ # @example
127
+ # github = Github.new
128
+ # github.pull_requests.comments.edit 'user-name', 'repo-name', 'number',
129
+ # body: "Nice change"
130
+ #
131
+ # @api public
132
+ def edit(*args)
133
+ arguments(args, required: [:user, :repo, :number]) do
134
+ permit VALID_REQUEST_COM_PARAM_NAMES
135
+ end
136
+
137
+ patch_request("/repos/#{arguments.user}/#{arguments.repo}/pulls/comments/#{arguments.number}", arguments.params)
138
+ end
139
+
140
+ # Delete a pull request comment
141
+ #
142
+ # @example
143
+ # github = Github.new
144
+ # github.pull_requests.comments.delete 'user-name', 'repo-name', 'number'
145
+ #
146
+ # @api public
147
+ def delete(*args)
148
+ arguments(args, required: [:user, :repo, :number])
149
+
150
+ delete_request("/repos/#{arguments.user}/#{arguments.repo}/pulls/comments/#{arguments.number}", arguments.params)
151
+ end
152
+
153
+ private
154
+
155
+ # To let user know that the params supplied are wrong before request is made
156
+ def _validate_reply_to(params)
157
+ if params['in_reply_to'] && !assert_required_keys(%w[ body in_reply_to ], params)
158
+ raise ArgumentError, "Required params are: #{%w[ body in_reply_to].join(',')}"
159
+
160
+ elsif !assert_required_keys(VALID_REQUEST_COM_PARAM_NAMES - %w[ in_reply_to ], params)
161
+ raise ArgumentError, "Required params are: #{VALID_REQUEST_COM_PARAM_NAMES.join(', ')}"
162
+ end
163
+ end
164
+ end # PullRequests::Comments
165
+ end # Github
@@ -0,0 +1,451 @@
1
+ # encoding: utf-8
2
+
3
+ module Github
4
+ class Client::Repos < API
5
+ # Load all the modules after initializing Repos to avoid superclass mismatch
6
+ require_all 'github_api/client/repos',
7
+ 'collaborators',
8
+ 'comments',
9
+ 'commits',
10
+ 'contents',
11
+ 'deployments',
12
+ 'downloads',
13
+ 'forks',
14
+ 'hooks',
15
+ 'keys',
16
+ 'merging',
17
+ 'pages',
18
+ 'pub_sub_hubbub',
19
+ 'releases',
20
+ 'statistics',
21
+ 'statuses'
22
+
23
+ DEFAULT_REPO_OPTIONS = {
24
+ "homepage" => "https://github.com",
25
+ "private" => false,
26
+ "has_issues" => true,
27
+ "has_wiki" => true,
28
+ "has_downloads" => true
29
+ }.freeze
30
+
31
+ REQUIRED_REPO_OPTIONS = %w[ name ]
32
+
33
+ VALID_REPO_OPTIONS = %w[
34
+ name
35
+ description
36
+ homepage
37
+ private
38
+ has_issues
39
+ has_wiki
40
+ has_downloads
41
+ team_id
42
+ auto_init
43
+ gitignore_template
44
+ default_branch
45
+ ].freeze
46
+
47
+ VALID_REPO_TYPES = %w[ all public private member ].freeze
48
+
49
+ # Access to Repos::Collaborators API
50
+ namespace :collaborators
51
+
52
+ # Access to Repos::Comments API
53
+ namespace :comments
54
+
55
+ # Access to Repos::Commits API
56
+ namespace :commits
57
+
58
+ # Access to Repos::Contents API
59
+ namespace :contents
60
+
61
+ # Access to Repos::Deployments API
62
+ namespace :deployments
63
+
64
+ # Access to Repos::Downloads API
65
+ namespace :downloads
66
+
67
+ # Access to Repos::Forks API
68
+ namespace :forks
69
+
70
+ # Access to Repos::Hooks API
71
+ namespace :hooks
72
+
73
+ # Access to Repos::Keys API
74
+ namespace :keys
75
+
76
+ # Access to Repos::Merging API
77
+ namespace :merging
78
+
79
+ # Access to Repos::Pages API
80
+ namespace :pages
81
+
82
+ # Access to Repos::PubSubHubbub API
83
+ namespace :pubsubhubbub, full_name: :pub_sub_hubbub
84
+
85
+ # Access to Repos::Releases API
86
+ namespace :releases
87
+
88
+ # Access to Repos::Statistics API
89
+ namespace :stats, full_name: :statistics
90
+
91
+ # Access to Repos::Statuses API
92
+ namespace :statuses
93
+
94
+ # List repositories for the authenticated user
95
+ #
96
+ # @example
97
+ # github = Github.new oauth_token: '...'
98
+ # github.repos.list
99
+ # github.repos.list { |repo| ... }
100
+ #
101
+ # List all repositories
102
+ #
103
+ # This provides a dump of every repository,
104
+ # in the order that they were created.
105
+ #
106
+ # @param [Hash] params
107
+ # @option params [Integer] :since
108
+ # the integer ID of the last Repository that you've seen.
109
+ #
110
+ # @example
111
+ # github = Github.new
112
+ # github.repos.list :every
113
+ # github.repos.list :every { |repo| ... }
114
+ #
115
+ # List public repositories for the specified user.
116
+ #
117
+ # @example
118
+ # github = Github.new
119
+ # github.repos.list user: 'user-name'
120
+ # github.repos.list user: 'user-name', { |repo| ... }
121
+ #
122
+ # List repositories for the specified organisation.
123
+ #
124
+ # @example
125
+ # github = Github.new
126
+ # github.repos.list org: 'org-name'
127
+ # github.repos.list org: 'org-name', { |repo| ... }
128
+ #
129
+ # @api public
130
+ def list(*args)
131
+ arguments(args) do
132
+ permit %w[ user org type sort direction since ]
133
+ end
134
+ params = arguments.params
135
+
136
+ response = if (user_name = params.delete('user') || user)
137
+ get_request("/users/#{user_name}/repos", params)
138
+ elsif (org_name = params.delete('org') || org)
139
+ get_request("/orgs/#{org_name}/repos", params)
140
+ elsif args.map(&:to_s).include?('every')
141
+ get_request('/repositories', params)
142
+ else
143
+ # For authenticated user
144
+ get_request('/user/repos', params)
145
+ end
146
+ return response unless block_given?
147
+ response.each { |el| yield el }
148
+ end
149
+ alias :all :list
150
+
151
+ # Get a repository
152
+ #
153
+ # @example
154
+ # github = Github.new
155
+ # github.repos.get 'user-name', 'repo-name'
156
+ # github.repos.get user: 'user-name', repo: 'repo-name'
157
+ # github.repos(user: 'user-name', repo: 'repo-name').get
158
+ #
159
+ def get(*args)
160
+ arguments(args, required: [:user, :repo])
161
+
162
+ get_request("/repos/#{arguments.user}/#{arguments.repo}", arguments.params)
163
+ end
164
+ alias :find :get
165
+
166
+ # Create a new repository for the autheticated user.
167
+ #
168
+ # @param [Hash] params
169
+ # @option params [String] :name
170
+ # Required string
171
+ # @option params [String] :description
172
+ # Optional string
173
+ # @option params [String] :homepage
174
+ # Optional string
175
+ # @option params [Boolean] :private
176
+ # Optional boolean - true to create a private repository,
177
+ # false to create a public one.
178
+ # @option params [Boolean] :has_issues
179
+ # Optional boolean - true to enable issues for this repository,
180
+ # false to disable them
181
+ # @option params [Boolean] :has_wiki
182
+ # Optional boolean - true to enable the wiki for this repository,
183
+ # false to disable it. Default is true
184
+ # @option params [Boolean] :has_downloads
185
+ # Optional boolean - true to enable downloads for this repository
186
+ # @option params [String] :org
187
+ # Optional string - The organisation in which this
188
+ # repository will be created
189
+ # @option params [Numeric] :team_id
190
+ # Optional number - The id of the team that will be granted
191
+ # access to this repository. This is only valid when creating
192
+ # a repo in an organization
193
+ # @option params [Boolean] :auto_init
194
+ # Optional boolean - true to create an initial commit with
195
+ # empty README. Default is false.
196
+ # @option params [String] :gitignore_template
197
+ # Optional string - Desired language or platform .gitignore
198
+ # template to apply. Use the name of the template without
199
+ # the extension. For example, “Haskell” Ignored if
200
+ # auto_init parameter is not provided.
201
+ #
202
+ # @example
203
+ # github = Github.new
204
+ # github.repos.create "name": 'repo-name'
205
+ # "description": "This is your first repo",
206
+ # "homepage": "https://github.com",
207
+ # "private": false,
208
+ # "has_issues": true,
209
+ # "has_wiki": true,
210
+ # "has_downloads": true
211
+ #
212
+ # Create a new repository in this organisation. The authenticated user
213
+ # must be a member of this organisation
214
+ #
215
+ # @example
216
+ # github = Github.new oauth_token: '...'
217
+ # github.repos.create name: 'repo-name', org: 'organisation-name'
218
+ #
219
+ # @example
220
+ def create(*args)
221
+ arguments(args) do
222
+ permit VALID_REPO_OPTIONS + %w[ org ]
223
+ assert_required %w[ name ]
224
+ end
225
+ params = arguments.params
226
+
227
+ # Requires authenticated user
228
+ if (org = params.delete('org') || org)
229
+ post_request("/orgs/#{org}/repos", params.merge_default(DEFAULT_REPO_OPTIONS))
230
+ else
231
+ post_request('/user/repos', params.merge_default(DEFAULT_REPO_OPTIONS))
232
+ end
233
+ end
234
+
235
+ # Delete a repository
236
+ #
237
+ # Deleting a repository requires admin access.
238
+ # If OAuth is used, the delete_repo scope is required.
239
+ #
240
+ # @example
241
+ # github = Github.new oauth_token: '...'
242
+ # github.repos.delete 'user-name', 'repo-name'
243
+ #
244
+ # @api public
245
+ def delete(*args)
246
+ arguments(args, required: [:user, :repo])
247
+
248
+ delete_request("/repos/#{arguments.user}/#{arguments.repo}", arguments.params)
249
+ end
250
+ alias :remove :delete
251
+
252
+ # List contributors
253
+ #
254
+ # @param [Hash] params
255
+ # @option params [Boolean] :anon
256
+ # Optional flag. Set to 1 or true to include anonymous contributors.
257
+ #
258
+ # @examples
259
+ # github = Github.new
260
+ # github.repos.contributors 'user-name','repo-name'
261
+ # github.repos.contributors 'user-name','repo-name' { |cont| ... }
262
+ #
263
+ # @api public
264
+ def contributors(*args)
265
+ arguments(args, required: [:user, :repo]) do
266
+ permit %w[ anon ]
267
+ end
268
+ params = arguments.params
269
+
270
+ response = get_request("/repos/#{arguments.user}/#{arguments.repo}/contributors", arguments.params)
271
+ return response unless block_given?
272
+ response.each { |el| yield el }
273
+ end
274
+ alias :list_contributors :contributors
275
+ alias :contribs :contributors
276
+
277
+ # Edit a repository
278
+ #
279
+ # @param [Hash] params
280
+ # @option params [String] :name
281
+ # Required string
282
+ # @option params [String] :description
283
+ # Optional string
284
+ # @option params [String] :homepage
285
+ # Optional string
286
+ # @option params [Boolean] :private
287
+ # Optional boolean, false to create public repos, false to create a private one
288
+ # @option params [Boolean] :has_issues
289
+ # Optional boolean - true to enable issues for this repository,
290
+ # false to disable them
291
+ # @option params [Boolean] :has_wiki
292
+ # Optional boolean - true to enable the wiki for this repository,
293
+ # false to disable it. Default is true
294
+ # @option params [Boolean] :has_downloads
295
+ # Optional boolean - true to enable downloads for this repository
296
+ # @option params [String] :default_branch
297
+ # Optional string - Update the default branch for this repository.
298
+ #
299
+ # @example
300
+ # github = Github.new
301
+ # github.repos.edit 'user-name', 'repo-name',
302
+ # name: 'hello-world',
303
+ # description: 'This is your first repo',
304
+ # homepage: "https://github.com",
305
+ # public: true, has_issues: true
306
+ #
307
+ def edit(*args)
308
+ arguments(args, required: [:user, :repo]) do
309
+ permit VALID_REPO_OPTIONS
310
+ assert_required %w[ name ]
311
+ end
312
+
313
+ patch_request("/repos/#{arguments.user}/#{arguments.repo}", arguments.params.merge_default(DEFAULT_REPO_OPTIONS))
314
+ end
315
+
316
+ # Delete a repository
317
+ #
318
+ # Deleting a repository requires admin access.
319
+ # If OAuth is used, the delete_repo scope is required.
320
+ #
321
+ # @example
322
+ # github = Github.new oauth_token: '...'
323
+ # github.repos.delete 'user-name', 'repo-name'
324
+ #
325
+ # @api public
326
+ def delete(*args)
327
+ arguments(args, required: [:user, :repo])
328
+ params = arguments.params
329
+
330
+ delete_request("/repos/#{arguments.user}/#{arguments.repo}", arguments.params)
331
+ end
332
+ alias :remove :delete
333
+
334
+ # List branches
335
+ #
336
+ # @example
337
+ # github = Github.new
338
+ # github.repos.branches 'user-name', 'repo-name'
339
+ # github.repos(user: 'user-name', repo: 'repo-name').branches
340
+ #
341
+ # @example
342
+ # repos = Github::Repos.new
343
+ # repos.branches 'user-name', 'repo-name'
344
+ #
345
+ # @api public
346
+ def branches(*args)
347
+ arguments(args, required: [:user, :repo])
348
+
349
+ response = get_request("/repos/#{arguments.user}/#{arguments.repo}/branches", arguments.params)
350
+ return response unless block_given?
351
+ response.each { |el| yield el }
352
+ end
353
+ alias :list_branches :branches
354
+
355
+ # Get branch
356
+ #
357
+ # @example
358
+ # github = Github.new
359
+ # github.repos.branch 'user-name', 'repo-name', 'branch-name'
360
+ # github.repos.branch user: 'user-name', repo: 'repo-name', branch: 'branch-name'
361
+ # github.repos(user: 'user-name', repo: 'repo-name', branch: 'branch-name').branch
362
+ # @api public
363
+ def branch(*args)
364
+ arguments(args, required: [:user, :repo, :branch])
365
+
366
+ get_request("/repos/#{arguments.user}/#{arguments.repo}/branches/#{arguments.branch}", arguments.params)
367
+ end
368
+
369
+ # List contributors
370
+ #
371
+ # @param [Hash] params
372
+ # @option params [Boolean] :anon
373
+ # Optional flag. Set to 1 or true to include anonymous contributors.
374
+ #
375
+ # @example
376
+ # github = Github.new
377
+ # github.repos.contributors 'user-name','repo-name'
378
+ # github.repos.contributors 'user-name','repo-name' { |cont| ... }
379
+ #
380
+ # @api public
381
+ def contributors(*args)
382
+ arguments(args, required: [:user, :repo]) do
383
+ permit ['anon']
384
+ end
385
+
386
+ response = get_request("/repos/#{arguments.user}/#{arguments.repo}/contributors", arguments.params)
387
+ return response unless block_given?
388
+ response.each { |el| yield el }
389
+ end
390
+ alias :list_contributors :contributors
391
+ alias :contribs :contributors
392
+
393
+ # List languages
394
+ #
395
+ # @examples
396
+ # github = Github.new
397
+ # github.repos.languages 'user-name', 'repo-name'
398
+ # github.repos.languages 'user-name', 'repo-name' { |lang| ... }
399
+ #
400
+ # @api public
401
+ def languages(*args)
402
+ arguments(args, required: [:user, :repo])
403
+
404
+ response = get_request("/repos/#{arguments.user}/#{arguments.repo}/languages", arguments.params)
405
+ return response unless block_given?
406
+ response.each { |el| yield el }
407
+ end
408
+ alias :list_languages :languages
409
+
410
+ # List tags
411
+ #
412
+ # @example
413
+ # github = Github.new
414
+ # github.repos.tags 'user-name', 'repo-name'
415
+ # github.repos.tags 'user-name', 'repo-name' { |tag| ... }
416
+ #
417
+ # @api public
418
+ def tags(*args)
419
+ arguments(args, required: [:user, :repo])
420
+
421
+ response = get_request("/repos/#{arguments.user}/#{arguments.repo}/tags", arguments.params)
422
+ return response unless block_given?
423
+ response.each { |el| yield el }
424
+ end
425
+ alias :list_tags :tags
426
+ alias :repo_tags :tags
427
+ alias :repository_tags :tags
428
+
429
+ # List teams
430
+ #
431
+ # @example
432
+ # github = Github.new
433
+ # github.repos.teams 'user-name', 'repo-name'
434
+ # github.repos.teams 'user-name', 'repo-name' { |team| ... }
435
+ #
436
+ # @example
437
+ # github.repos(user: 'user-name, repo: 'repo-name').teams
438
+ #
439
+ # @api public
440
+ def teams(*args)
441
+ arguments(args, required: [:user, :repo])
442
+
443
+ response = get_request("/repos/#{arguments.user}/#{arguments.repo}/teams", arguments.params)
444
+ return response unless block_given?
445
+ response.each { |el| yield el }
446
+ end
447
+ alias :list_teams :teams
448
+ alias :repo_teams :teams
449
+ alias :repository_teams :teams
450
+ end # Client::Repos
451
+ end # Github