octokit 1.25.0 → 2.0.0.pre

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 (502) hide show
  1. data/Rakefile +10 -7
  2. data/lib/octokit.rb +22 -15
  3. data/lib/octokit/arguments.rb +14 -0
  4. data/lib/octokit/authentication.rb +48 -25
  5. data/lib/octokit/client.rb +245 -44
  6. data/lib/octokit/client/authorizations.rb +36 -10
  7. data/lib/octokit/client/commit_comments.rb +96 -0
  8. data/lib/octokit/client/commits.rb +152 -94
  9. data/lib/octokit/client/contents.rb +32 -24
  10. data/lib/octokit/client/downloads.rb +11 -7
  11. data/lib/octokit/client/emojis.rb +3 -1
  12. data/lib/octokit/client/events.rb +62 -18
  13. data/lib/octokit/client/gists.rb +27 -26
  14. data/lib/octokit/client/gitignore.rb +7 -3
  15. data/lib/octokit/client/issues.rb +43 -71
  16. data/lib/octokit/client/labels.rb +24 -20
  17. data/lib/octokit/client/legacy_search.rb +78 -0
  18. data/lib/octokit/client/markdown.rb +6 -1
  19. data/lib/octokit/client/meta.rb +21 -0
  20. data/lib/octokit/client/milestones.rb +13 -9
  21. data/lib/octokit/client/notifications.rb +24 -64
  22. data/lib/octokit/client/objects.rb +17 -12
  23. data/lib/octokit/client/organizations.rb +43 -52
  24. data/lib/octokit/client/pub_sub_hubbub.rb +68 -8
  25. data/lib/octokit/client/{pulls.rb → pull_requests.rb} +65 -41
  26. data/lib/octokit/client/rate_limit.rb +42 -8
  27. data/lib/octokit/client/refs.rb +16 -10
  28. data/lib/octokit/client/repositories.rb +73 -124
  29. data/lib/octokit/client/say.rb +7 -1
  30. data/lib/octokit/client/service_status.rb +39 -0
  31. data/lib/octokit/client/stats.rb +12 -6
  32. data/lib/octokit/client/statuses.rb +8 -29
  33. data/lib/octokit/client/users.rb +56 -75
  34. data/lib/octokit/configurable.rb +117 -0
  35. data/lib/octokit/default.rb +140 -0
  36. data/lib/octokit/error.rb +6 -5
  37. data/lib/octokit/gist.rb +11 -0
  38. data/lib/octokit/rate_limit.rb +22 -0
  39. data/lib/octokit/repo_arguments.rb +19 -0
  40. data/lib/octokit/repository.rb +11 -4
  41. data/lib/octokit/response/raise_error.rb +35 -0
  42. data/lib/octokit/version.rb +5 -1
  43. data/octokit.gemspec +4 -9
  44. data/spec/cassettes/Octokit_Client/_get/handles_query_params.json +1 -0
  45. data/spec/cassettes/Octokit_Client/_head/handles_query_params.json +1 -0
  46. data/spec/cassettes/Octokit_Client/_last_response/caches_the_last_agent_response.json +1 -0
  47. data/spec/cassettes/Octokit_Client/authentication/when_token_authenticated/fetches_and_memoizes_login.json +1 -0
  48. data/spec/cassettes/Octokit_Client/auto_pagination/fetches_all_the_pages.json +1 -0
  49. data/spec/cassettes/Octokit_Client/error_handling/raises_on_404.json +1 -0
  50. data/spec/cassettes/Octokit_Client_Authorizations/_authorization/returns_a_single_authorization.json +1 -0
  51. data/spec/cassettes/Octokit_Client_Authorizations/_authorizations/lists_existing_authorizations.json +1 -0
  52. data/spec/cassettes/Octokit_Client_Authorizations/_create_authorization/creates_a_new_authorization_with_options.json +1 -0
  53. data/spec/cassettes/Octokit_Client_Authorizations/_create_authorization/creates_an_API_authorization.json +1 -0
  54. data/spec/cassettes/Octokit_Client_Authorizations/_scopes/checks_the_scopes_on_a_one-off_token.json +1 -0
  55. data/spec/cassettes/Octokit_Client_Authorizations/_scopes/checks_the_scopes_on_the_current_token.json +1 -0
  56. data/spec/cassettes/Octokit_Client_Authorizations/_update_authorization/updates_and_existing_authorization.json +1 -0
  57. data/spec/cassettes/Octokit_Client_CommitComments/_commit_comment/returns_a_single_commit_comment.json +1 -0
  58. data/spec/cassettes/Octokit_Client_CommitComments/_commit_comments/returns_a_list_of_comments_for_a_specific_commit.json +1 -0
  59. data/spec/cassettes/Octokit_Client_CommitComments/_create_commit_comment/creates_a_commit_comment.json +1 -0
  60. data/spec/cassettes/Octokit_Client_CommitComments/_delete_commit_comment/deletes_a_commit_comment.json +1 -0
  61. data/spec/cassettes/Octokit_Client_CommitComments/_list_commit_comments/returns_a_list_of_all_commit_comments.json +1 -0
  62. data/spec/cassettes/Octokit_Client_CommitComments/_update_commit_comment/updates_a_commit_comment.json +1 -0
  63. data/spec/cassettes/Octokit_Client_Commits/_commit/returns_a_commit.json +1 -0
  64. data/spec/cassettes/Octokit_Client_Commits/_commits/handles_branch_or_sha_argument.json +1 -0
  65. data/spec/cassettes/Octokit_Client_Commits/_commits/handles_the_sha_option.json +1 -0
  66. data/spec/cassettes/Octokit_Client_Commits/_commits/returns_all_commits.json +1 -0
  67. data/spec/cassettes/Octokit_Client_Commits/_commits_before/handles_branch_or_sha_argument.json +1 -0
  68. data/spec/cassettes/Octokit_Client_Commits/_commits_before/handles_the_sha_option.json +1 -0
  69. data/spec/cassettes/Octokit_Client_Commits/_commits_before/returns_all_commits_until_the_specified_date.json +1 -0
  70. data/spec/cassettes/Octokit_Client_Commits/_commits_between/handles_branch_or_sha_argument.json +1 -0
  71. data/spec/cassettes/Octokit_Client_Commits/_commits_between/handles_the_sha_option.json +1 -0
  72. data/spec/cassettes/Octokit_Client_Commits/_commits_between/returns_all_commits_until_the_specified_date.json +1 -0
  73. data/spec/cassettes/Octokit_Client_Commits/_commits_on/handles_branch_or_sha_argument.json +1 -0
  74. data/spec/cassettes/Octokit_Client_Commits/_commits_on/handles_the_sha_option.json +1 -0
  75. data/spec/cassettes/Octokit_Client_Commits/_commits_on/returns_all_commits_on_the_specified_date.json +1 -0
  76. data/spec/cassettes/Octokit_Client_Commits/_commits_since/handles_branch_or_sha_argument.json +1 -0
  77. data/spec/cassettes/Octokit_Client_Commits/_commits_since/handles_the_sha_option.json +1 -0
  78. data/spec/cassettes/Octokit_Client_Commits/_commits_since/returns_all_commits_since_the_specified_date.json +1 -0
  79. data/spec/cassettes/Octokit_Client_Commits/_compare/returns_a_comparison.json +1 -0
  80. data/spec/cassettes/Octokit_Client_Commits/_create_commit/creates_a_commit.json +1 -0
  81. data/spec/cassettes/Octokit_Client_Commits/_merge/merges_a_branch_into_another.json +1 -0
  82. data/spec/cassettes/Octokit_Client_Contents/_archive_link/returns_the_headers_of_the_request.json +1 -0
  83. data/spec/cassettes/Octokit_Client_Contents/_contents/returns_the_contents_of_a_file.json +1 -0
  84. data/spec/cassettes/Octokit_Client_Contents/_create_contents/creates_contents_from_File_object.json +1 -0
  85. data/spec/cassettes/Octokit_Client_Contents/_create_contents/creates_contents_from_file_path.json +1 -0
  86. data/spec/cassettes/Octokit_Client_Contents/_create_contents/creates_repository_contents_at_a_path.json +1 -0
  87. data/spec/cassettes/Octokit_Client_Contents/_delete_contents/deletes_repository_contents_at_a_path.json +1 -0
  88. data/spec/cassettes/Octokit_Client_Contents/_readme/returns_the_default_readme.json +1 -0
  89. data/spec/cassettes/Octokit_Client_Contents/_update_contents/updates_repository_contents_at_a_path.json +1 -0
  90. data/spec/cassettes/Octokit_Client_Downloads/_download/gets_a_single_download.json +1 -0
  91. data/spec/cassettes/Octokit_Client_Downloads/_downloads/lists_available_downloads.json +1 -0
  92. data/spec/cassettes/Octokit_Client_Downloads/methods_that_require_a_download/_create_download/creates_a_download_resource.json +1 -0
  93. data/spec/cassettes/Octokit_Client_Downloads/methods_that_require_a_download/_create_download/posts_to_an_S3_url.json +1 -0
  94. data/spec/cassettes/Octokit_Client_Downloads/methods_that_require_a_download/_delete_download/deletes_a_download.json +1 -0
  95. data/spec/cassettes/Octokit_Client_Emojis/_emojis/returns_all_github_emojis.json +1 -0
  96. data/spec/cassettes/Octokit_Client_Events/_issue_event/lists_issue_events_for_a_repository.json +1 -0
  97. data/spec/cassettes/Octokit_Client_Events/_issue_events/lists_issue_events_for_a_repository.json +1 -0
  98. data/spec/cassettes/Octokit_Client_Events/_organization_events/returns_all_events_for_an_organization.json +1 -0
  99. data/spec/cassettes/Octokit_Client_Events/_organization_public_events/returns_an_organization_s_public_events.json +1 -0
  100. data/spec/cassettes/Octokit_Client_Events/_public_events/returns_all_public_events.json +1 -0
  101. data/spec/cassettes/Octokit_Client_Events/_received_events/returns_all_user_received_events.json +1 -0
  102. data/spec/cassettes/Octokit_Client_Events/_received_public_events/returns_public_user_received_events.json +1 -0
  103. data/spec/cassettes/Octokit_Client_Events/_repo_issue_events/lists_issue_events_for_a_repository.json +1 -0
  104. data/spec/cassettes/Octokit_Client_Events/_repository_events/returns_events_for_a_repository.json +1 -0
  105. data/spec/cassettes/Octokit_Client_Events/_repository_network_events/returns_events_for_a_repository_s_network.json +1 -0
  106. data/spec/cassettes/Octokit_Client_Events/_user_events/returns_all_user_events.json +1 -0
  107. data/spec/cassettes/Octokit_Client_Events/_user_public_events/returns_public_events_performed_by_a_user.json +1 -0
  108. data/spec/cassettes/Octokit_Client_Gists/unauthenticated/_gist/returns_the_gist_by_ID.json +1 -0
  109. data/spec/cassettes/Octokit_Client_Gists/unauthenticated/_gists/with_username_passed/returns_a_list_of_gists.json +1 -0
  110. data/spec/cassettes/Octokit_Client_Gists/unauthenticated/_gists/without_a_username_passed/returns_a_list_of_gists.json +1 -0
  111. data/spec/cassettes/Octokit_Client_Gists/unauthenticated/_public_gists/returns_public_gists.json +1 -0
  112. data/spec/cassettes/Octokit_Client_Gists/when_authenticated/_create_gist/creates_a_new_gist.json +1 -0
  113. data/spec/cassettes/Octokit_Client_Gists/when_authenticated/_create_gist_comment/creates_a_gist_comment.json +1 -0
  114. data/spec/cassettes/Octokit_Client_Gists/when_authenticated/_delete_gist/deletes_an_existing_gist.json +1 -0
  115. data/spec/cassettes/Octokit_Client_Gists/when_authenticated/_delete_gist_comment/deletes_a_gist_comment.json +1 -0
  116. data/spec/cassettes/Octokit_Client_Gists/when_authenticated/_edit_gist/edit_an_existing_gist.json +1 -0
  117. data/spec/cassettes/Octokit_Client_Gists/when_authenticated/_fork_gist/forks_an_existing_gist.json +1 -0
  118. data/spec/cassettes/Octokit_Client_Gists/when_authenticated/_gist_comment/returns_a_gist_comment.json +1 -0
  119. data/spec/cassettes/Octokit_Client_Gists/when_authenticated/_gist_comments/returns_the_list_of_gist_comments.json +1 -0
  120. data/spec/cassettes/Octokit_Client_Gists/when_authenticated/_gist_starred_/is_not_starred.json +1 -0
  121. data/spec/cassettes/Octokit_Client_Gists/when_authenticated/_gist_starred_/is_starred.json +1 -0
  122. data/spec/cassettes/Octokit_Client_Gists/when_authenticated/_gists/returns_a_list_of_gists.json +1 -0
  123. data/spec/cassettes/Octokit_Client_Gists/when_authenticated/_star_gist/stars_an_existing_gist.json +1 -0
  124. data/spec/cassettes/Octokit_Client_Gists/when_authenticated/_starred_gists/returns_the_user_s_starred_gists.json +1 -0
  125. data/spec/cassettes/Octokit_Client_Gists/when_authenticated/_unstar_gist/unstars_an_existing_gist.json +1 -0
  126. data/spec/cassettes/Octokit_Client_Gists/when_authenticated/_update_gist_comment/updates_a_gist_comment.json +1 -0
  127. data/spec/cassettes/Octokit_Client_Gitignore/_gitignore_template/returns_the_ruby_gitignore_template.json +1 -0
  128. data/spec/cassettes/Octokit_Client_Gitignore/_gitignore_templates/returns_all_gitignore_templates.json +1 -0
  129. data/spec/cassettes/Octokit_Client_Issues/_create_issue/creates_an_issue.json +1 -0
  130. data/spec/cassettes/Octokit_Client_Issues/_create_issue/creates_an_issue_with_delimited_labels.json +1 -0
  131. data/spec/cassettes/Octokit_Client_Issues/_create_issue/creates_an_issue_with_labels_array.json +1 -0
  132. data/spec/cassettes/Octokit_Client_Issues/_issue_comment/returns_a_single_comment_for_an_issue.json +1 -0
  133. data/spec/cassettes/Octokit_Client_Issues/_issue_comments/returns_comments_for_an_issue.json +1 -0
  134. data/spec/cassettes/Octokit_Client_Issues/_list_issues/returns_dashboard_issues_for_the_authenticated_user.json +1 -0
  135. data/spec/cassettes/Octokit_Client_Issues/_list_issues/returns_issues_for_a_repository.json +1 -0
  136. data/spec/cassettes/Octokit_Client_Issues/_org_issues/returns_issues_for_the_organization_for_the_authenticated_user.json +1 -0
  137. data/spec/cassettes/Octokit_Client_Issues/_repository_issues_comments/returns_comments_for_all_issues_in_a_repository.json +1 -0
  138. data/spec/cassettes/Octokit_Client_Issues/_user_issues/returns_issues_for_the_authenticated_user_for_owned_and_member_repos.json +1 -0
  139. data/spec/cassettes/Octokit_Client_Issues/methods_requiring_a_new_issue/_add_comment/adds_a_comment.json +1 -0
  140. data/spec/cassettes/Octokit_Client_Issues/methods_requiring_a_new_issue/_close_issue/closes_an_issue.json +1 -0
  141. data/spec/cassettes/Octokit_Client_Issues/methods_requiring_a_new_issue/_issue/returns_a_full_issue.json +1 -0
  142. data/spec/cassettes/Octokit_Client_Issues/methods_requiring_a_new_issue/_issue/returns_an_issue.json +1 -0
  143. data/spec/cassettes/Octokit_Client_Issues/methods_requiring_a_new_issue/_reopen_issue/reopens_an_issue.json +1 -0
  144. data/spec/cassettes/Octokit_Client_Issues/methods_requiring_a_new_issue/_update_issue/updates_an_issue.json +1 -0
  145. data/spec/cassettes/Octokit_Client_Issues/methods_requiring_a_new_issue/methods_requiring_a_new_issue_comment/_delete_comment/deletes_an_existing_comment.json +1 -0
  146. data/spec/cassettes/Octokit_Client_Issues/methods_requiring_a_new_issue/methods_requiring_a_new_issue_comment/_update_comment/updates_an_existing_comment.json +1 -0
  147. data/spec/cassettes/Octokit_Client_Labels/_add_label/adds_a_label_with_a_color.json +1 -0
  148. data/spec/cassettes/Octokit_Client_Labels/_add_label/adds_a_label_with_default_color.json +1 -0
  149. data/spec/cassettes/Octokit_Client_Labels/_delete_label_/deletes_a_label_from_the_repository.json +1 -0
  150. data/spec/cassettes/Octokit_Client_Labels/_label/returns_a_single_label.json +1 -0
  151. data/spec/cassettes/Octokit_Client_Labels/_labels/returns_labels.json +1 -0
  152. data/spec/cassettes/Octokit_Client_Labels/_lables_for_milestone/returns_all_labels_for_a_repository.json +1 -0
  153. data/spec/cassettes/Octokit_Client_Labels/methods_requiring_a_new_issue/_add_labels_to_an_issue/adds_labels_to_a_given_issue.json +1 -0
  154. data/spec/cassettes/Octokit_Client_Labels/methods_requiring_a_new_issue/_labels_for_issue/returns_all_labels_for_a_given_issue.json +1 -0
  155. data/spec/cassettes/Octokit_Client_Labels/methods_requiring_a_new_issue/_remove_all_labels/removes_all_labels_from_the_specified_issue.json +1 -0
  156. data/spec/cassettes/Octokit_Client_Labels/methods_requiring_a_new_issue/_remove_label/removes_a_label_from_the_specified_issue.json +1 -0
  157. data/spec/cassettes/Octokit_Client_Labels/methods_requiring_a_new_issue/_replace_all_labels/replaces_all_labels_for_an_issue.json +1 -0
  158. data/spec/cassettes/Octokit_Client_Labels/methods_requiring_a_new_label/_update_label/updates_a_label_with_a_new_color.json +1 -0
  159. data/spec/cassettes/Octokit_Client_LegacySearch/_legacy_search_issues/returns_matching_issues.json +1 -0
  160. data/spec/cassettes/Octokit_Client_LegacySearch/_legacy_search_repos/returns_matching_repositories.json +1 -0
  161. data/spec/cassettes/Octokit_Client_LegacySearch/_legacy_search_users/returns_matching_username.json +1 -0
  162. data/spec/cassettes/Octokit_Client_Markdown/_markdown/renders_markdown.json +1 -0
  163. data/spec/cassettes/Octokit_Client_Meta/_github_meta/returns_meta_information_about_github.json +1 -0
  164. data/spec/cassettes/Octokit_Client_Milestones/_list_milestones/lists_milestones_belonging_to_repository.json +1 -0
  165. data/spec/cassettes/Octokit_Client_Milestones/methods_that_need_a_milestone/_create_milestone/creates_a_milestone.json +1 -0
  166. data/spec/cassettes/Octokit_Client_Milestones/methods_that_need_a_milestone/_delete_milestone/deletes_a_milestone_from_a_repository.json +1 -0
  167. data/spec/cassettes/Octokit_Client_Milestones/methods_that_need_a_milestone/_milestone/gets_a_single_milestone_belonging_to_repository.json +1 -0
  168. data/spec/cassettes/Octokit_Client_Milestones/methods_that_need_a_milestone/_update_milestone/updates_a_milestone.json +1 -0
  169. data/spec/cassettes/Octokit_Client_Notifications/_mark_notifications_as_read/returns_true_when_notifications_are_marked_as_read.json +1 -0
  170. data/spec/cassettes/Octokit_Client_Notifications/_mark_repository_notifications_as_read/returns_true_when_notifications_for_a_repo_are_marked_as_read.json +1 -0
  171. data/spec/cassettes/Octokit_Client_Notifications/_notifications/lists_the_notifications_for_the_current_user.json +1 -0
  172. data/spec/cassettes/Octokit_Client_Notifications/_repository_notifications/lists_all_notifications_for_a_repository.json +1 -0
  173. data/spec/cassettes/Octokit_Client_Notifications/methods_that_need_a_thread_context/_delete_thread_subscription/returns_true_with_successful_thread_deletion.json +1 -0
  174. data/spec/cassettes/Octokit_Client_Notifications/methods_that_need_a_thread_context/_mark_thread_as_read/marks_a_thread_as_read.json +1 -0
  175. data/spec/cassettes/Octokit_Client_Notifications/methods_that_need_a_thread_context/_thread_notifications/returns_notifications_for_a_specific_thread.json +1 -0
  176. data/spec/cassettes/Octokit_Client_Notifications/methods_that_need_a_thread_context/_thread_subscription/returns_a_thread_subscription.json +1 -0
  177. data/spec/cassettes/Octokit_Client_Notifications/methods_that_need_a_thread_context/_update_thread_subscription/updates_a_thread_subscription.json +1 -0
  178. data/spec/cassettes/Octokit_Client_Objects/_blob/returns_a_blob.json +1 -0
  179. data/spec/cassettes/Octokit_Client_Objects/_create_blob/creates_a_blob.json +1 -0
  180. data/spec/cassettes/Octokit_Client_Objects/_create_tag/creates_a_tag.json +1 -0
  181. data/spec/cassettes/Octokit_Client_Objects/_create_tree/creates_a_tree.json +1 -0
  182. data/spec/cassettes/Octokit_Client_Objects/_tag/returns_a_tag.json +1 -0
  183. data/spec/cassettes/Octokit_Client_Objects/_tree/gets_a_tree.json +1 -0
  184. data/spec/cassettes/Octokit_Client_Objects/_tree/gets_a_tree_recursively.json +1 -0
  185. data/spec/cassettes/Octokit_Client_Organizations/_organization/returns_an_organization.json +1 -0
  186. data/spec/cassettes/Octokit_Client_Organizations/_organization_member_/checks_organization_membership.json +1 -0
  187. data/spec/cassettes/Octokit_Client_Organizations/_organization_members/returns_all_public_members_of_an_organization.json +1 -0
  188. data/spec/cassettes/Octokit_Client_Organizations/_organization_public_member_/checks_publicized_org_membership.json +1 -0
  189. data/spec/cassettes/Octokit_Client_Organizations/_organization_repositories/returns_all_public_repositories_for_an_organization.json +1 -0
  190. data/spec/cassettes/Octokit_Client_Organizations/_organization_teams/returns_all_teams_for_an_organization.json +1 -0
  191. data/spec/cassettes/Octokit_Client_Organizations/_organizations/returns_all_organizations_for_a_user.json +1 -0
  192. data/spec/cassettes/Octokit_Client_Organizations/_organizations/returns_all_organizations_for_the_authenticated_user.json +1 -0
  193. data/spec/cassettes/Octokit_Client_Organizations/_update_organization/updates_an_organization.json +1 -0
  194. data/spec/cassettes/Octokit_Client_Organizations/methods_that_require_a_new_team/_add_team_member/adds_a_team_member.json +1 -0
  195. data/spec/cassettes/Octokit_Client_Organizations/methods_that_require_a_new_team/_add_team_repository/adds_a_team_repository.json +1 -0
  196. data/spec/cassettes/Octokit_Client_Organizations/methods_that_require_a_new_team/_create_team/creates_a_team.json +1 -0
  197. data/spec/cassettes/Octokit_Client_Organizations/methods_that_require_a_new_team/_delete_team/deletes_a_team.json +1 -0
  198. data/spec/cassettes/Octokit_Client_Organizations/methods_that_require_a_new_team/_publicize_membership/publicizes_membership.json +1 -0
  199. data/spec/cassettes/Octokit_Client_Organizations/methods_that_require_a_new_team/_remove_team_member/removes_a_team_member.json +1 -0
  200. data/spec/cassettes/Octokit_Client_Organizations/methods_that_require_a_new_team/_remove_team_repository/removes_a_team_repository.json +1 -0
  201. data/spec/cassettes/Octokit_Client_Organizations/methods_that_require_a_new_team/_team/returns_a_team.json +1 -0
  202. data/spec/cassettes/Octokit_Client_Organizations/methods_that_require_a_new_team/_team_member_/checks_if_a_user_is_member_of_a_team.json +1 -0
  203. data/spec/cassettes/Octokit_Client_Organizations/methods_that_require_a_new_team/_team_members/returns_team_members.json +1 -0
  204. data/spec/cassettes/Octokit_Client_Organizations/methods_that_require_a_new_team/_team_repositories/returns_team_repositories.json +1 -0
  205. data/spec/cassettes/Octokit_Client_Organizations/methods_that_require_a_new_team/_unpublicize_membership/unpublicizes_membership.json +1 -0
  206. data/spec/cassettes/Octokit_Client_Organizations/methods_that_require_a_new_team/_update_team/updates_a_team.json +1 -0
  207. data/spec/cassettes/Octokit_Client_PubSubHubbub/_subscribe/raises_an_error_when_topic_is_not_recognized.json +1 -0
  208. data/spec/cassettes/Octokit_Client_PubSubHubbub/_subscribe/subscribes_to_pull_events.json +1 -0
  209. data/spec/cassettes/Octokit_Client_PubSubHubbub/_subscribe_service_hook/subscribes_to_pull_events_on_specified_topic.json +1 -0
  210. data/spec/cassettes/Octokit_Client_PubSubHubbub/_unsubscribe/unsubscribes_from_pull_events.json +1 -0
  211. data/spec/cassettes/Octokit_Client_PubSubHubbub/unsubscribe_service_hook/unsubscribes_to_stop_receiving_events_on_specified_topic.json +1 -0
  212. data/spec/cassettes/Octokit_Client_PullRequests/_create_pull_request_for_issue/creates_a_pull_request_and_attach_it_to_an_existing_issue.json +1 -0
  213. data/spec/cassettes/Octokit_Client_PullRequests/_pull_request_comment/returns_a_comment_on_a_pull_request.json +1 -0
  214. data/spec/cassettes/Octokit_Client_PullRequests/_pull_request_comments/returns_the_comments_for_a_pull_request.json +1 -0
  215. data/spec/cassettes/Octokit_Client_PullRequests/_pull_request_commits/returns_the_commits_for_a_pull_request.json +1 -0
  216. data/spec/cassettes/Octokit_Client_PullRequests/_pull_request_files/lists_files_for_a_pull_request.json +1 -0
  217. data/spec/cassettes/Octokit_Client_PullRequests/_pull_requests/returns_all_pull_requests.json +1 -0
  218. data/spec/cassettes/Octokit_Client_PullRequests/_pull_requests_comments/returns_all_comments_on_all_pull_requests.json +1 -0
  219. data/spec/cassettes/Octokit_Client_PullRequests/methods_that_require_a_new_pull/_close_pull_request/closes_a_pull_request.json +1 -0
  220. data/spec/cassettes/Octokit_Client_PullRequests/methods_that_require_a_new_pull/_create_pull_request/creates_a_pull_request.json +1 -0
  221. data/spec/cassettes/Octokit_Client_PullRequests/methods_that_require_a_new_pull/_merge_pull_request/merges_the_pull_request.json +1 -0
  222. data/spec/cassettes/Octokit_Client_PullRequests/methods_that_require_a_new_pull/_pull_merged_/returns_whether_the_pull_request_has_been_merged.json +1 -0
  223. data/spec/cassettes/Octokit_Client_PullRequests/methods_that_require_a_new_pull/_pull_request/returns_a_pull_request.json +1 -0
  224. data/spec/cassettes/Octokit_Client_PullRequests/methods_that_require_a_new_pull/_update_pull_request/updates_a_pull_request.json +1 -0
  225. data/spec/cassettes/Octokit_Client_PullRequests/methods_that_require_a_new_pull/methods_requiring_a_pull_request_comment/_create_pull_request_comment/creates_a_new_comment_on_a_pull_request.json +1 -0
  226. data/spec/cassettes/Octokit_Client_PullRequests/methods_that_require_a_new_pull/methods_requiring_a_pull_request_comment/_create_pull_request_comment_reply/creates_a_new_reply_to_a_pull_request_comment.json +1 -0
  227. data/spec/cassettes/Octokit_Client_PullRequests/methods_that_require_a_new_pull/methods_requiring_a_pull_request_comment/_delete_pull_request_comment/deletes_a_pull_request_comment.json +1 -0
  228. data/spec/cassettes/Octokit_Client_PullRequests/methods_that_require_a_new_pull/methods_requiring_a_pull_request_comment/_update_pull_request_comment/updates_a_pull_request_comment.json +1 -0
  229. data/spec/cassettes/Octokit_Client_Refs/_ref/returns_a_tags_ref.json +1 -0
  230. data/spec/cassettes/Octokit_Client_Refs/_refs/returns_all_refs.json +1 -0
  231. data/spec/cassettes/Octokit_Client_Refs/_refs/returns_all_tag_refs.json +1 -0
  232. data/spec/cassettes/Octokit_Client_Refs/methods_that_require_a_ref/_create_ref/creates_a_ref.json +1 -0
  233. data/spec/cassettes/Octokit_Client_Refs/methods_that_require_a_ref/_delete_ref/deletes_an_existing_ref.json +1 -0
  234. data/spec/cassettes/Octokit_Client_Refs/methods_that_require_a_ref/_update_ref/updates_a_ref.json +1 -0
  235. data/spec/cassettes/Octokit_Client_Repositories/_all_repositories/returns_all_repositories_on_github.json +1 -0
  236. data/spec/cassettes/Octokit_Client_Repositories/_assignees/lists_all_the_available_assignees_owner_collaborators_.json +1 -0
  237. data/spec/cassettes/Octokit_Client_Repositories/_branches/returns_a_repository_s_branches.json +1 -0
  238. data/spec/cassettes/Octokit_Client_Repositories/_branches/returns_a_single_branch.json +1 -0
  239. data/spec/cassettes/Octokit_Client_Repositories/_check_assignee/checks_to_see_if_a_particular_user_is_an_assignee_for_a_repository.json +1 -0
  240. data/spec/cassettes/Octokit_Client_Repositories/_collaborators/returns_a_repository_s_collaborators.json +1 -0
  241. data/spec/cassettes/Octokit_Client_Repositories/_contributors/returns_repository_contributors.json +1 -0
  242. data/spec/cassettes/Octokit_Client_Repositories/_contributors/returns_repository_contributors_excluding_anonymous.json +1 -0
  243. data/spec/cassettes/Octokit_Client_Repositories/_create_repository/creates_a_repository_for_an_organization.json +1 -0
  244. data/spec/cassettes/Octokit_Client_Repositories/_delete_subscription/returns_true_when_repo_subscription_deleted.json +1 -0
  245. data/spec/cassettes/Octokit_Client_Repositories/_fork/forks_a_repository.json +1 -0
  246. data/spec/cassettes/Octokit_Client_Repositories/_languages/returns_a_repository_s_languages.json +1 -0
  247. data/spec/cassettes/Octokit_Client_Repositories/_network/returns_a_repository_s_network.json +1 -0
  248. data/spec/cassettes/Octokit_Client_Repositories/_repositories/returns_a_user_s_repositories.json +1 -0
  249. data/spec/cassettes/Octokit_Client_Repositories/_repositories/returns_authenticated_user_s_repositories.json +1 -0
  250. data/spec/cassettes/Octokit_Client_Repositories/_repository/returns_the_matching_repository.json +1 -0
  251. data/spec/cassettes/Octokit_Client_Repositories/_repository_/returns_false_if_the_repository_doesn_t_exist.json +1 -0
  252. data/spec/cassettes/Octokit_Client_Repositories/_repository_/returns_true_if_the_repository_exists.json +1 -0
  253. data/spec/cassettes/Octokit_Client_Repositories/_star/stars_a_repository.json +1 -0
  254. data/spec/cassettes/Octokit_Client_Repositories/_stargazers/returns_all_repository_stargazers.json +1 -0
  255. data/spec/cassettes/Octokit_Client_Repositories/_subscribers/lists_all_the_users_watching_the_repository.json +1 -0
  256. data/spec/cassettes/Octokit_Client_Repositories/_subscription/returns_a_repository_subscription.json +1 -0
  257. data/spec/cassettes/Octokit_Client_Repositories/_tags/returns_a_repository_s_tags.json +1 -0
  258. data/spec/cassettes/Octokit_Client_Repositories/_unstar/unstars_a_repository.json +1 -0
  259. data/spec/cassettes/Octokit_Client_Repositories/_unwatch/unwatches_a_repository.json +1 -0
  260. data/spec/cassettes/Octokit_Client_Repositories/_update_subscription/updates_a_repository_subscription.json +1 -0
  261. data/spec/cassettes/Octokit_Client_Repositories/_watch/watches_a_repository.json +1 -0
  262. data/spec/cassettes/Octokit_Client_Repositories/_watchers/returns_all_repository_watchers.json +1 -0
  263. data/spec/cassettes/Octokit_Client_Repositories/methods_that_require_a_new_repo/_add_collaborator/adds_a_repository_collaborators.json +1 -0
  264. data/spec/cassettes/Octokit_Client_Repositories/methods_that_require_a_new_repo/_create_repository/creates_a_repository.json +1 -0
  265. data/spec/cassettes/Octokit_Client_Repositories/methods_that_require_a_new_repo/_delete_repository/deletes_a_repository.json +1 -0
  266. data/spec/cassettes/Octokit_Client_Repositories/methods_that_require_a_new_repo/_deploy_keys/returns_a_repository_s_deploy_keys.json +1 -0
  267. data/spec/cassettes/Octokit_Client_Repositories/methods_that_require_a_new_repo/_hooks/returns_a_repository_s_hooks.json +1 -0
  268. data/spec/cassettes/Octokit_Client_Repositories/methods_that_require_a_new_repo/_remove_collaborator/removes_a_repository_collaborators.json +1 -0
  269. data/spec/cassettes/Octokit_Client_Repositories/methods_that_require_a_new_repo/_repository_teams/returns_all_repository_teams.json +1 -0
  270. data/spec/cassettes/Octokit_Client_Repositories/methods_that_require_a_new_repo/_update_repository/updates_the_matching_repository.json +1 -0
  271. data/spec/cassettes/Octokit_Client_Repositories/methods_that_require_a_new_repo/methods_requiring_an_existing_deploy_key/_add_deploy_key/adds_a_repository_deploy_keys.json +1 -0
  272. data/spec/cassettes/Octokit_Client_Repositories/methods_that_require_a_new_repo/methods_that_need_an_existing_hook/_create_hook/creates_a_hook.json +1 -0
  273. data/spec/cassettes/Octokit_Client_Repositories/methods_that_require_a_new_repo/methods_that_need_an_existing_hook/_edit_hook/edits_a_hook.json +1 -0
  274. data/spec/cassettes/Octokit_Client_Repositories/methods_that_require_a_new_repo/methods_that_need_an_existing_hook/_hook/returns_a_repository_s_single_hook.json +1 -0
  275. data/spec/cassettes/Octokit_Client_Repositories/methods_that_require_a_new_repo/methods_that_need_an_existing_hook/_remove_hook/removes_a_hook.json +1 -0
  276. data/spec/cassettes/Octokit_Client_Repositories/methods_that_require_a_new_repo/methods_that_need_an_existing_hook/_test_hook/tests_a_hook.json +1 -0
  277. data/spec/cassettes/Octokit_Client_Say/_say/returns_an_ASCII_octocat.json +1 -0
  278. data/spec/cassettes/Octokit_Client_Say/_say/returns_an_ASCII_octocat_with_custom_text.json +1 -0
  279. data/spec/cassettes/Octokit_Client_ServiceStatus/_github_status/returns_the_current_system_status.json +1 -0
  280. data/spec/cassettes/Octokit_Client_ServiceStatus/_github_status/returns_the_most_recent_status_messages.json +1 -0
  281. data/spec/cassettes/Octokit_Client_ServiceStatus/_github_status_last_message/returns_the_last_human_message.json +1 -0
  282. data/spec/cassettes/Octokit_Client_Stats/_code_frequency_stats/returns_the_code_frequency_stats.json +1 -0
  283. data/spec/cassettes/Octokit_Client_Stats/_commit_activity_stats/returns_the_commit_activity_stats.json +1 -0
  284. data/spec/cassettes/Octokit_Client_Stats/_contributors_stats/returns_contributors_and_their_contribution_stats.json +1 -0
  285. data/spec/cassettes/Octokit_Client_Stats/_participation_stats/returns_the_owner_and_contributor_participation_stats.json +1 -0
  286. data/spec/cassettes/Octokit_Client_Stats/_punch_card_stats/returns_commit_count_by_hour_punch_card_stats.json +1 -0
  287. data/spec/cassettes/Octokit_Client_Statuses/_create_status/creates_status.json +1 -0
  288. data/spec/cassettes/Octokit_Client_Statuses/_statuses/lists_commit_statuses.json +1 -0
  289. data/spec/cassettes/Octokit_Client_Users/_add_email/adds_an_email_address.json +1 -0
  290. data/spec/cassettes/Octokit_Client_Users/_all_users/returns_all_GitHub_users.json +1 -0
  291. data/spec/cassettes/Octokit_Client_Users/_emails/returns_email_addresses.json +1 -0
  292. data/spec/cassettes/Octokit_Client_Users/_follow/follows_a_user.json +1 -0
  293. data/spec/cassettes/Octokit_Client_Users/_followers/returns_followers_for_a_user.json +1 -0
  294. data/spec/cassettes/Octokit_Client_Users/_followers/returns_the_authenticated_user_s_followers.json +1 -0
  295. data/spec/cassettes/Octokit_Client_Users/_following/returns_following_for_a_user.json +1 -0
  296. data/spec/cassettes/Octokit_Client_Users/_following/returns_the_authenticated_user_s_following.json +1 -0
  297. data/spec/cassettes/Octokit_Client_Users/_follows_/checks_if_the_authenticated_user_follows_another.json +1 -0
  298. data/spec/cassettes/Octokit_Client_Users/_keys/returns_public_keys_for_the_authenticated_user.json +1 -0
  299. data/spec/cassettes/Octokit_Client_Users/_remove_email/removes_an_email_address.json +1 -0
  300. data/spec/cassettes/Octokit_Client_Users/_starred/returns_starred_repositories_for_a_user.json +1 -0
  301. data/spec/cassettes/Octokit_Client_Users/_starred/returns_starred_repositories_for_the_authenticated_user.json +1 -0
  302. data/spec/cassettes/Octokit_Client_Users/_starred_/checks_if_the_authenticated_user_has_starred_a_repository.json +1 -0
  303. data/spec/cassettes/Octokit_Client_Users/_subscriptions/returns_the_repositories_a_user_watches_for_notifications.json +1 -0
  304. data/spec/cassettes/Octokit_Client_Users/_subscriptions/returns_the_repositories_the_authenticated_user_watches_for_notifications.json +1 -0
  305. data/spec/cassettes/Octokit_Client_Users/_unfollow/unfollows_a_user.json +1 -0
  306. data/spec/cassettes/Octokit_Client_Users/_update_user/updates_a_user_profile.json +1 -0
  307. data/spec/cassettes/Octokit_Client_Users/_user/returns_a_user.json +1 -0
  308. data/spec/cassettes/Octokit_Client_Users/_user/returns_the_authenticated_user.json +1 -0
  309. data/spec/cassettes/Octokit_Client_Users/_user_keys/returns_public_keys_for_another_user.json +1 -0
  310. data/spec/cassettes/Octokit_Client_Users/_validate_credentials/validates_username_and_password.json +1 -0
  311. data/spec/cassettes/Octokit_Client_Users/methods_requiring_an_existing_public_key/_add_key/adds_a_public_key.json +1 -0
  312. data/spec/cassettes/Octokit_Client_Users/methods_requiring_an_existing_public_key/_key/returns_a_public_key.json +1 -0
  313. data/spec/cassettes/Octokit_Client_Users/methods_requiring_an_existing_public_key/_remove_key/removes_a_public_key.json +1 -0
  314. data/spec/cassettes/Octokit_Client_Users/methods_requiring_an_existing_public_key/_update_key/updates_a_public_key.json +1 -0
  315. data/spec/cassettes/delete_authorization.json +1 -0
  316. data/spec/cassettes/rate_limit.json +1 -0
  317. data/spec/cassettes/root.json +1 -0
  318. data/spec/fixtures/user.json +29 -18
  319. data/spec/fixtures/{user_token.json → web_flow_token.json} +0 -0
  320. data/spec/helper.rb +49 -22
  321. data/spec/octokit/client/authorizations_spec.rb +69 -80
  322. data/spec/octokit/client/commit_comments_spec.rb +62 -0
  323. data/spec/octokit/client/commits_spec.rb +93 -226
  324. data/spec/octokit/client/contents_spec.rb +64 -119
  325. data/spec/octokit/client/downloads_spec.rb +34 -38
  326. data/spec/octokit/client/emojis_spec.rb +5 -11
  327. data/spec/octokit/client/events_spec.rb +67 -51
  328. data/spec/octokit/client/gists_spec.rb +148 -142
  329. data/spec/octokit/client/gitignore_spec.rb +11 -14
  330. data/spec/octokit/client/issues_spec.rb +129 -161
  331. data/spec/octokit/client/labels_spec.rb +81 -114
  332. data/spec/octokit/client/legacy_search_spec.rb +42 -0
  333. data/spec/octokit/client/markdown_spec.rb +9 -12
  334. data/spec/octokit/client/meta_spec.rb +14 -0
  335. data/spec/octokit/client/milestones_spec.rb +40 -48
  336. data/spec/octokit/client/notifications_spec.rb +57 -113
  337. data/spec/octokit/client/objects_spec.rb +36 -74
  338. data/spec/octokit/client/organizations_spec.rb +140 -262
  339. data/spec/octokit/client/pub_sub_hubbub_spec.rb +58 -49
  340. data/spec/octokit/client/pull_requests_spec.rb +186 -0
  341. data/spec/octokit/client/rate_limit_spec.rb +40 -0
  342. data/spec/octokit/client/refs_spec.rb +47 -56
  343. data/spec/octokit/client/repositories_spec.rb +301 -438
  344. data/spec/octokit/client/say_spec.rb +8 -22
  345. data/spec/octokit/client/service_status_spec.rb +37 -0
  346. data/spec/octokit/client/stats_spec.rb +82 -32
  347. data/spec/octokit/client/statuses_spec.rb +11 -51
  348. data/spec/octokit/client/users_spec.rb +144 -348
  349. data/spec/octokit/client_spec.rb +345 -195
  350. data/spec/octokit/rate_limit_spec.rb +25 -0
  351. data/spec/octokit_spec.rb +31 -15
  352. metadata +585 -387
  353. data/lib/faraday/response/raise_octokit_error.rb +0 -25
  354. data/lib/octokit/client/github.rb +0 -19
  355. data/lib/octokit/client/pub_sub_hubbub/service_hooks.rb +0 -37
  356. data/lib/octokit/configuration.rb +0 -77
  357. data/lib/octokit/connection.rb +0 -53
  358. data/lib/octokit/request.rb +0 -110
  359. data/spec/faraday/response_spec.rb +0 -63
  360. data/spec/fixtures/all_repositories.json +0 -122
  361. data/spec/fixtures/all_users.json +0 -34
  362. data/spec/fixtures/authorization.json +0 -16
  363. data/spec/fixtures/authorizations.json +0 -66
  364. data/spec/fixtures/blob.json +0 -7
  365. data/spec/fixtures/blob_create.json +0 -3
  366. data/spec/fixtures/branches.json +0 -16
  367. data/spec/fixtures/code_frequency_stats.json +0 -897
  368. data/spec/fixtures/collaborators.json +0 -62
  369. data/spec/fixtures/comment.json +0 -14
  370. data/spec/fixtures/comments.json +0 -44
  371. data/spec/fixtures/commit.json +0 -50
  372. data/spec/fixtures/commit_activity_stats.json +0 -678
  373. data/spec/fixtures/commit_comment.json +0 -19
  374. data/spec/fixtures/commit_comment_create.json +0 -19
  375. data/spec/fixtures/commit_comment_update.json +0 -19
  376. data/spec/fixtures/commit_comments.json +0 -78
  377. data/spec/fixtures/commit_create.json +0 -25
  378. data/spec/fixtures/commits.json +0 -1414
  379. data/spec/fixtures/compare.json +0 -98
  380. data/spec/fixtures/contents.json +0 -14
  381. data/spec/fixtures/contributor_stats.json +0 -2196
  382. data/spec/fixtures/contributors.json +0 -891
  383. data/spec/fixtures/create_content.json +0 -44
  384. data/spec/fixtures/delete_content.json +0 -30
  385. data/spec/fixtures/download.json +0 -11
  386. data/spec/fixtures/download_create.json +0 -21
  387. data/spec/fixtures/downloads.json +0 -35
  388. data/spec/fixtures/emails.json +0 -4
  389. data/spec/fixtures/emojis.json +0 -500
  390. data/spec/fixtures/followers.json +0 -212
  391. data/spec/fixtures/following.json +0 -209
  392. data/spec/fixtures/forks.json +0 -872
  393. data/spec/fixtures/gist.json +0 -51
  394. data/spec/fixtures/gist_comment.json +0 -19
  395. data/spec/fixtures/gist_comment_create.json +0 -19
  396. data/spec/fixtures/gist_comment_update.json +0 -19
  397. data/spec/fixtures/gist_comments.json +0 -40
  398. data/spec/fixtures/gists.json +0 -548
  399. data/spec/fixtures/github_meta.json +0 -9
  400. data/spec/fixtures/github_status.json +0 -4
  401. data/spec/fixtures/github_status_last_message.json +0 -5
  402. data/spec/fixtures/github_status_messages.json +0 -12
  403. data/spec/fixtures/gitignore_template_ruby.json +0 -4
  404. data/spec/fixtures/gitignore_templates.json +0 -78
  405. data/spec/fixtures/hook.json +0 -18
  406. data/spec/fixtures/hooks.json +0 -70
  407. data/spec/fixtures/issue.json +0 -35
  408. data/spec/fixtures/issue_closed.json +0 -35
  409. data/spec/fixtures/issue_event.json +0 -42
  410. data/spec/fixtures/issue_events.json +0 -72
  411. data/spec/fixtures/issue_full.json +0 -38
  412. data/spec/fixtures/issues.json +0 -1562
  413. data/spec/fixtures/label.json +0 -5
  414. data/spec/fixtures/labels.json +0 -17
  415. data/spec/fixtures/languages.json +0 -5
  416. data/spec/fixtures/legacy/issues.json +0 -49
  417. data/spec/fixtures/legacy/repositories.json +0 -173
  418. data/spec/fixtures/legacy/users.json +0 -24
  419. data/spec/fixtures/list_commit_comments.json +0 -572
  420. data/spec/fixtures/markdown_gfm +0 -1
  421. data/spec/fixtures/merge.json +0 -47
  422. data/spec/fixtures/milestone.json +0 -11
  423. data/spec/fixtures/milestones.json +0 -28
  424. data/spec/fixtures/not_found.json +0 -3
  425. data/spec/fixtures/notification_thread.json +0 -32
  426. data/spec/fixtures/notifications.json +0 -32
  427. data/spec/fixtures/org_issues.json +0 -710
  428. data/spec/fixtures/organization-repositories.json +0 -4292
  429. data/spec/fixtures/organization-repository.json +0 -42
  430. data/spec/fixtures/organization.json +0 -18
  431. data/spec/fixtures/organization_events.json +0 -61
  432. data/spec/fixtures/organization_members.json +0 -576
  433. data/spec/fixtures/organization_public_events.json +0 -61
  434. data/spec/fixtures/organization_team_members.json +0 -16
  435. data/spec/fixtures/organization_team_repos.json +0 -62
  436. data/spec/fixtures/organizations.json +0 -44
  437. data/spec/fixtures/participation_stats.json +0 -110
  438. data/spec/fixtures/public_events.json +0 -1104
  439. data/spec/fixtures/public_gists.json +0 -968
  440. data/spec/fixtures/public_key.json +0 -5
  441. data/spec/fixtures/public_key_update.json +0 -5
  442. data/spec/fixtures/public_keys.json +0 -7
  443. data/spec/fixtures/pull_created.json +0 -138
  444. data/spec/fixtures/pull_request.json +0 -138
  445. data/spec/fixtures/pull_request_comment.json +0 -35
  446. data/spec/fixtures/pull_request_comment_create.json +0 -35
  447. data/spec/fixtures/pull_request_comment_reply.json +0 -35
  448. data/spec/fixtures/pull_request_comment_update.json +0 -35
  449. data/spec/fixtures/pull_request_comments.json +0 -35
  450. data/spec/fixtures/pull_request_commits.json +0 -45
  451. data/spec/fixtures/pull_request_files.json +0 -35
  452. data/spec/fixtures/pull_request_merged.json +0 -5
  453. data/spec/fixtures/pull_requests.json +0 -187
  454. data/spec/fixtures/pull_requests_comments.json +0 -82
  455. data/spec/fixtures/pull_update.json +0 -138
  456. data/spec/fixtures/punch_card_stats.json +0 -842
  457. data/spec/fixtures/readme.json +0 -14
  458. data/spec/fixtures/ref.json +0 -9
  459. data/spec/fixtures/ref_create.json +0 -29
  460. data/spec/fixtures/ref_update.json +0 -11
  461. data/spec/fixtures/refs.json +0 -38
  462. data/spec/fixtures/refs_tags.json +0 -29
  463. data/spec/fixtures/repo_assignees.json +0 -30
  464. data/spec/fixtures/repo_events.json +0 -1652
  465. data/spec/fixtures/repo_issues_events.json +0 -128
  466. data/spec/fixtures/repositories.json +0 -872
  467. data/spec/fixtures/repository.json +0 -34
  468. data/spec/fixtures/repository_issues_comments.json +0 -52
  469. data/spec/fixtures/repository_network_events.json +0 -155
  470. data/spec/fixtures/repository_notifications.json +0 -32
  471. data/spec/fixtures/say.txt +0 -22
  472. data/spec/fixtures/say_custom.txt +0 -22
  473. data/spec/fixtures/stargazers.json +0 -212
  474. data/spec/fixtures/starred.json +0 -1114
  475. data/spec/fixtures/starred_gists.json +0 -30
  476. data/spec/fixtures/status.json +0 -16
  477. data/spec/fixtures/statuses.json +0 -34
  478. data/spec/fixtures/subscribers.json +0 -9
  479. data/spec/fixtures/subscription.json +0 -8
  480. data/spec/fixtures/subscription_update.json +0 -8
  481. data/spec/fixtures/subscriptions.json +0 -39
  482. data/spec/fixtures/tag.json +0 -16
  483. data/spec/fixtures/tag_create.json +0 -16
  484. data/spec/fixtures/tags.json +0 -173
  485. data/spec/fixtures/team.json +0 -8
  486. data/spec/fixtures/teams.json +0 -12
  487. data/spec/fixtures/thread_subscription.json +0 -8
  488. data/spec/fixtures/thread_subscription_update.json +0 -8
  489. data/spec/fixtures/tree.json +0 -112
  490. data/spec/fixtures/tree_create.json +0 -14
  491. data/spec/fixtures/update_content.json +0 -44
  492. data/spec/fixtures/user_events.json +0 -101
  493. data/spec/fixtures/user_issues.json +0 -710
  494. data/spec/fixtures/user_performed_public_events.json +0 -78
  495. data/spec/fixtures/user_public_events.json +0 -78
  496. data/spec/fixtures/validation_failed.json +0 -11
  497. data/spec/fixtures/watched.json +0 -1022
  498. data/spec/fixtures/watchers.json +0 -182
  499. data/spec/octokit/client/github_spec.rb +0 -19
  500. data/spec/octokit/client/issue_events_spec.rb +0 -30
  501. data/spec/octokit/client/pub_sub_hubbub/service_hooks_spec.rb +0 -48
  502. data/spec/octokit/client/pulls_spec.rb +0 -210
@@ -1,11 +1,17 @@
1
1
  module Octokit
2
2
  class Client
3
+
4
+ # Methods for the unpublished Octocat API
3
5
  module Say
4
6
 
7
+ # Return a nifty ASCII Octocat with GitHub wisdom
8
+ # or your own
9
+ #
10
+ # @return [String]
5
11
  def say(text=nil)
6
12
  options = {}
7
13
  options[:s] = text if text
8
- get "/octocat", options
14
+ get "octocat", options
9
15
  end
10
16
  alias :octocat :say
11
17
 
@@ -0,0 +1,39 @@
1
+ module Octokit
2
+ class Client
3
+
4
+ # Methods for the GitHub Status API
5
+ #
6
+ # @see https://status.github.com/api
7
+ module ServiceStatus
8
+
9
+ # Root for status API
10
+ # @private
11
+ STATUS_ROOT = 'https://status.github.com/api.json'
12
+
13
+ # Returns the current system status
14
+ #
15
+ # @return [Sawyer::Resource] GitHub status
16
+ # @see https://status.github.com/api#api-current-status
17
+ def github_status
18
+ get(STATUS_ROOT).rels[:status].get.data
19
+ end
20
+
21
+ # Returns the last human communication, status, and timestamp.
22
+ #
23
+ # @return [Sawyer::Resource] GitHub status last message
24
+ # @see https://status.github.com/api#api-last-message
25
+ def github_status_last_message
26
+ get(STATUS_ROOT).rels[:last_message].get.data
27
+ end
28
+
29
+ # Returns the most recent human communications with status and timestamp.
30
+ #
31
+ # @return [Array<Sawyer::Resource>] GitHub status messages
32
+ # @see https://status.github.com/api#api-recent-messages
33
+ def github_status_messages
34
+ get(STATUS_ROOT).rels[:messages].get.data
35
+ end
36
+
37
+ end
38
+ end
39
+ end
@@ -1,11 +1,15 @@
1
1
  module Octokit
2
2
  class Client
3
+
4
+ # Methods for the Repository Statistics API
5
+ #
6
+ # @see http://developer.github.com/v3/repos/statistics/
3
7
  module Stats
4
8
 
5
9
  # Get contributors list with additions, deletions, and commit counts
6
10
  #
7
11
  # @param repo [String, Hash, Repository] A GitHub repository
8
- # @return [Array<Hashie::Mash>] Array of contributor stats
12
+ # @return [Array<Sawyer::Resource>] Array of contributor stats
9
13
  # @see http://developer.github.com/v3/repos/statistics/#get-contributors-list-with-additions-deletions-and-commit-counts
10
14
  # @example Get contributor stats for octokit
11
15
  # @client.contributors_stats('pengwynn/octokit')
@@ -17,7 +21,7 @@ module Octokit
17
21
  # Get the last year of commit activity data
18
22
  #
19
23
  # @param repo [String, Hash, Repository] A GitHub repository
20
- # @return [Array<Hashie::Mash>] The last year of commit activity grouped by
24
+ # @return [Array<Sawyer::Resource>] The last year of commit activity grouped by
21
25
  # week. The days array is a group of commits per day, starting on Sunday.
22
26
  # @see http://developer.github.com/v3/repos/statistics/#get-the-last-year-of-commit-activity-data
23
27
  # @example Get commit activity for octokit
@@ -29,7 +33,7 @@ module Octokit
29
33
  # Get the number of additions and deletions per week
30
34
  #
31
35
  # @param repo [String, Hash, Repository] A GitHub repository
32
- # @return [Array<Hashie::Mash>] Weekly aggregate of the number of additions
36
+ # @return [Array<Sawyer::Resource>] Weekly aggregate of the number of additions
33
37
  # and deletions pushed to a repository.
34
38
  # @see http://developer.github.com/v3/repos/statistics/#get-the-number-of-additions-and-deletions-per-week
35
39
  # @example Get code frequency stats for octokit
@@ -41,7 +45,7 @@ module Octokit
41
45
  # Get the weekly commit count for the repo owner and everyone else
42
46
  #
43
47
  # @param repo [String, Hash, Repository] A GitHub repository
44
- # @return [Hashie::Mash] Total commit counts for the owner and total commit
48
+ # @return [Sawyer::Resource] Total commit counts for the owner and total commit
45
49
  # counts in all. all is everyone combined, including the owner in the last
46
50
  # 52 weeks. If you’d like to get the commit counts for non-owners, you can
47
51
  # subtract all from owner.
@@ -71,9 +75,11 @@ module Octokit
71
75
  #
72
76
  # @param repo [String, Hash, Repository] A GitHub repository
73
77
  # @param metric [String] The metrics you are looking for
74
- # @return [Array<Hashie::Mash>] Magical unicorn stats
78
+ # @return [Array<Sawyer::Resource>] Magical unicorn stats
75
79
  def get_stats(repo, metric)
76
- get("repos/#{Repository.new repo}/stats/#{metric}")
80
+ data = get("repos/#{Repository.new repo}/stats/#{metric}")
81
+
82
+ last_response.status == 202 ? nil : data
77
83
  end
78
84
 
79
85
  end
@@ -1,15 +1,19 @@
1
1
  module Octokit
2
2
  class Client
3
+
4
+ # Methods for the Commit Statuses API
5
+ #
6
+ # @see http://developer.github.com/v3/repos/statuses/
3
7
  module Statuses
4
8
 
5
9
  # List all statuses for a given commit
6
10
  #
7
11
  # @param repo [String, Repository, Hash] A GitHub repository
8
12
  # @param sha [String] The SHA1 for the commit
9
- # @return [Array] A list of statuses
13
+ # @return [Array<Sawyer::Resource>] A list of statuses
10
14
  # @see http://developer.github.com/v3/repos/status
11
15
  def statuses(repo, sha, options={})
12
- get("repos/#{Repository.new(repo)}/statuses/#{sha}", options)
16
+ get "repos/#{Repository.new(repo)}/statuses/#{sha}", options
13
17
  end
14
18
  alias :list_statuses :statuses
15
19
 
@@ -18,37 +22,12 @@ module Octokit
18
22
  # @param repo [String, Repository, Hash] A GitHub repository
19
23
  # @param sha [String] The SHA1 for the commit
20
24
  # @param state [String] The state: pending, success, failure, error
21
- # @return [Hash] A status
25
+ # @return [Sawyer::Resource] A status
22
26
  # @see http://developer.github.com/v3/repos/status
23
27
  def create_status(repo, sha, state, options={})
24
28
  options.merge!(:state => state)
25
- post("repos/#{Repository.new(repo)}/statuses/#{sha}", options)
26
- end
27
-
28
- # Returns the current system status
29
- #
30
- # @return [Hash] GitHub status
31
- # @see https://status.github.com/api#api-current-status
32
- def github_status
33
- get('status.json', {:endpoint => Octokit.status_api_endpoint})
29
+ post "repos/#{Repository.new(repo)}/statuses/#{sha}", options
34
30
  end
35
-
36
- # Returns the last human communication, status, and timestamp.
37
- #
38
- # @return [Hash] GitHub status last message
39
- # @see https://status.github.com/api#api-last-message
40
- def github_status_last_message
41
- get('last-message.json', {:endpoint => Octokit.status_api_endpoint})
42
- end
43
-
44
- # Returns the most recent human communications with status and timestamp.
45
- #
46
- # @return [Array<Hash>] GitHub status messages
47
- # @see https://status.github.com/api#api-recent-messages
48
- def github_status_messages
49
- get('messages.json', {:endpoint => Octokit.status_api_endpoint})
50
- end
51
-
52
31
  end
53
32
  end
54
33
  end
@@ -1,17 +1,10 @@
1
1
  module Octokit
2
2
  class Client
3
- module Users
4
3
 
5
- # Search for user.
6
- #
7
- # @param search [String] User to search for.
8
- # @return [Array<Hashie::Mash>] Array of hashes representing users.
9
- # @see http://developer.github.com/v3/search/#search-users
10
- # @example
11
- # Octokit.search_users('pengwynn')
12
- def search_users(search, options={})
13
- get("legacy/user/search/#{search}", options)['users']
14
- end
4
+ # Methods for the Users API
5
+ #
6
+ # @see http://developer.github.com/v3/users/
7
+ module Users
15
8
 
16
9
  # List all GitHub users
17
10
  #
@@ -24,7 +17,7 @@ module Octokit
24
17
  #
25
18
  # @see http://developer.github.com/v3/users/#get-all-users
26
19
  #
27
- # @return [Array] List of GitHub users.
20
+ # @return [Array<Sawyer::Resource>] List of GitHub users.
28
21
  def all_users(options={})
29
22
  get "users", options
30
23
  end
@@ -32,7 +25,7 @@ module Octokit
32
25
  # Get a single user
33
26
  #
34
27
  # @param user [String] A GitHub user name.
35
- # @return [Hashie::Mash]
28
+ # @return [Sawyer::Resource]
36
29
  # @see http://developer.github.com/v3/users/#get-a-single-user
37
30
  # @example
38
31
  # Octokit.user("sferik")
@@ -49,14 +42,17 @@ module Octokit
49
42
  # @param code [String] Authorization code generated by GitHub.
50
43
  # @param app_id [String] Client Id we received when our application was registered with GitHub.
51
44
  # @param app_secret [String] Client Secret we received when our application was registered with GitHub.
52
- # @return [Hashie::Mash] Hash holding the access token.
53
- # @see Octokit::Client
45
+ # @return [Sawyer::Resource] Hash holding the access token.
54
46
  # @see http://developer.github.com/v3/oauth/#web-application-flow
55
47
  # @example
56
48
  # @client.access_token('aaaa', 'xxxx', 'yyyy', {:accept => 'application/json'})
57
- def access_token(code, app_id, app_secret, options = {})
58
- post("login/oauth/access_token", options.merge({:endpoint => Octokit.web_endpoint, :code => code,
59
- :client_id => app_id, :client_secret => app_secret}))
49
+ def exchange_code_for_token(code, app_id = client_id, app_secret = client_secret, options = {})
50
+ options.merge!({
51
+ :code => code,
52
+ :client_id => app_id,
53
+ :client_secret => app_secret
54
+ })
55
+ post "#{web_endpoint}login/oauth/access_token", options
60
56
  end
61
57
 
62
58
  # Validate user username and password
@@ -81,42 +77,45 @@ module Octokit
81
77
  # @option options [String] :location
82
78
  # @option options [Boolean] :hireable
83
79
  # @option options [String] :bio
84
- # @return [Hashie::Mash]
80
+ # @return [Sawyer::Resource]
85
81
  # @example
86
82
  # Octokit.user(:name => "Erik Michaels-Ober", :email => "sferik@gmail.com", :company => "Code for America", :location => "San Francisco", :hireable => false)
87
83
  def update_user(options)
88
- patch("user", options)
84
+ patch "user", options
89
85
  end
90
86
 
91
87
  # Get a user's followers.
92
88
  #
93
89
  # @param user [String] Username of the user whose list of followers you are getting.
94
- # @return [Array<Hashie::Mash>] Array of hashes representing users followers.
90
+ # @return [Array<Sawyer::Resource>] Array of hashes representing users followers.
95
91
  # @see http://developer.github.com/v3/users/followers/#list-followers-of-a-user
96
92
  # @example
97
93
  # Octokit.followers('pengwynn')
98
94
  def followers(user=login, options={})
99
- get("users/#{user}/followers", options)
95
+ get "users/#{user}/followers", options
100
96
  end
101
97
 
102
98
  # Get list of users a user is following.
103
99
  #
104
100
  # @param user [String] Username of the user who you are getting the list of the people they follow.
105
- # @return [Array<Hashie::Mash>] Array of hashes representing users a user is following.
101
+ # @return [Array<Sawyer::Resource>] Array of hashes representing users a user is following.
106
102
  # @see http://developer.github.com/v3/users/followers/#list-users-following-another-user
107
103
  # @example
108
104
  # Octokit.following('pengwynn')
109
105
  def following(user=login, options={})
110
- get("users/#{user}/following", options)
106
+ get "users/#{user}/following", options
111
107
  end
112
108
 
113
109
  # Check if you are following a user.
114
110
  #
115
111
  # Requries an authenticated client.
116
112
  #
117
- # @param user [String] Username of the user that you want to check if you are following.
118
- # @return [Boolean] True if you are following the user, false otherwise.
119
- # @see Octokit::Client
113
+ # @overload follows?(target)
114
+ # @param target [String] Username of the user that you want to check if you are following.
115
+ # @overload follows?(user, target)
116
+ # @param user [String] Username of first user
117
+ # @param target [String] Username of the target user
118
+ # @return [Boolean] True following target user, false otherwise.
120
119
  # @see http://developer.github.com/v3/users/followers/#check-if-you-are-following-a-user
121
120
  # @example
122
121
  # @client.follows?('pengwynn')
@@ -125,7 +124,7 @@ module Octokit
125
124
  user = args.first
126
125
  user ||= login
127
126
  return if user.nil?
128
- boolean_from_response(:get, "user/following/#{target}")
127
+ boolean_from_response :get, "user/following/#{target}"
129
128
  end
130
129
 
131
130
  # Follow a user.
@@ -134,12 +133,11 @@ module Octokit
134
133
  #
135
134
  # @param user [String] Username of the user to follow.
136
135
  # @return [Boolean] True if follow was successful, false otherwise.
137
- # @see Octokit::Client
138
136
  # @see http://developer.github.com/v3/users/followers/#follow-a-user
139
137
  # @example
140
138
  # @client.follow('holman')
141
139
  def follow(user, options={})
142
- boolean_from_response(:put, "user/following/#{user}", options)
140
+ boolean_from_response :put, "user/following/#{user}", options
143
141
  end
144
142
 
145
143
  # Unfollow a user.
@@ -148,12 +146,11 @@ module Octokit
148
146
  #
149
147
  # @param user [String] Username of the user to unfollow.
150
148
  # @return [Boolean] True if unfollow was successful, false otherwise.
151
- # @see Octokit::Client
152
149
  # @see http://developer.github.com/v3/users/followers/#unfollow-a-user
153
150
  # @example
154
151
  # @client.unfollow('holman')
155
152
  def unfollow(user, options={})
156
- boolean_from_response(:delete, "user/following/#{user}", options)
153
+ boolean_from_response :delete, "user/following/#{user}", options
157
154
  end
158
155
 
159
156
  # Get list of repos starred by a user.
@@ -162,12 +159,13 @@ module Octokit
162
159
  # @param options [Hash] Optional options
163
160
  # @option options [String] :sort (created) Sort: <tt>created</tt> or <tt>updated</tt>.
164
161
  # @option options [String] :direction (desc) Direction: <tt>asc</tt> or <tt>desc</tt>.
165
- # @return [Array<Hashie::Mash>] Array of hashes representing repositories starred by user.
162
+ # @return [Array<Sawyer::Resource>] Array of hashes representing repositories starred by user.
166
163
  # @see http://developer.github.com/v3/repos/starring/#list-repositories-being-starred
167
164
  # @example
168
165
  # Octokit.starred('pengwynn')
169
166
  def starred(user=login, options={})
170
- get("users/#{user}/starred", options)
167
+ path = user_authenticated? ? "user/starred" : "users/#{user}/starred"
168
+ paginate path, options
171
169
  end
172
170
 
173
171
  # Check if you are starring a repo.
@@ -177,26 +175,11 @@ module Octokit
177
175
  # @param user [String] Username of repository owner.
178
176
  # @param repo [String] Name of the repository.
179
177
  # @return [Boolean] True if you are following the repo, false otherwise.
180
- # @see Octokit::Client
181
178
  # @see http://developer.github.com/v3/repos/starring/#check-if-you-are-starring-a-repository
182
179
  # @example
183
180
  # @client.starred?('pengwynn', 'octokit')
184
181
  def starred?(user, repo, options={})
185
- boolean_from_response(:get, "user/starred/#{user}/#{repo}", options)
186
- end
187
-
188
- # Get list of repos watched by a user.
189
- #
190
- # Legacy, using github.beta media type. Use `Users#starred` instead.
191
- #
192
- # @param user [String] Username of the user to get the list of repositories they are watching.
193
- # @return [Array<Hashie::Mash>] Array of hashes representing repositories watched by user.
194
- # @see Users#starred
195
- # @see http://developer.github.com/v3/repos/starring/#list-stargazers
196
- # @example
197
- # Octokit.watched('pengwynn')
198
- def watched(user=login, options={})
199
- get("users/#{user}/watched", options)
182
+ boolean_from_response :get, "user/starred/#{user}/#{repo}", options
200
183
  end
201
184
 
202
185
  # Get a public key.
@@ -208,7 +191,7 @@ module Octokit
208
191
  # Requires authenticated client.
209
192
  #
210
193
  # @param key_id [Integer] Key to retreive.
211
- # @return [Hashie::Mash] Hash representing the key.
194
+ # @return [Sawyer::Resource] Hash representing the key.
212
195
  # @see http://developer.github.com/v3/users/keys/#get-a-single-public-key
213
196
  # @example
214
197
  # @client.key(1)
@@ -223,33 +206,32 @@ module Octokit
223
206
  # public_key['key']
224
207
  # # => "ssh-rsa AAA..."
225
208
  def key(key_id, options={})
226
- get("user/keys/#{key_id}", options)
209
+ get "user/keys/#{key_id}", options
227
210
  end
228
211
 
229
212
  # Get list of public keys for user.
230
213
  #
231
214
  # Requires authenticated client.
232
215
  #
233
- # @return [Array<Hashie::Mash>] Array of hashes representing public keys.
234
- # @see Octokit::Client
216
+ # @return [Array<Sawyer::Resource>] Array of hashes representing public keys.
235
217
  # @see http://developer.github.com/v3/users/keys/#list-your-public-keys
236
218
  # @example
237
219
  # @client.keys
238
220
  def keys(options={})
239
- get("user/keys", options)
221
+ paginate "user/keys", options
240
222
  end
241
223
 
242
224
  # Get list of public keys for user.
243
225
  #
244
226
  # Requires authenticated client.
245
227
  #
246
- # @return [Array<Hashie::Mash>] Array of hashes representing public keys.
247
- # @see Octokit::Client
228
+ # @return [Array<Sawyer::Resource>] Array of hashes representing public keys.
248
229
  # @see http://developer.github.com/v3/users/keys/#list-public-keys-for-a-user
249
230
  # @example
250
231
  # @client.user_keys('pengwynn'
251
232
  def user_keys(user, options={})
252
- get("users/#{user}/keys", options)
233
+ # TODO: Roll this into .keys
234
+ paginate "users/#{user}/keys", options
253
235
  end
254
236
 
255
237
  # Add public key to user account.
@@ -258,13 +240,12 @@ module Octokit
258
240
  #
259
241
  # @param title [String] Title to give reference to the public key.
260
242
  # @param key [String] Public key.
261
- # @return [Hashie::Mash] Hash representing the newly added public key.
262
- # @see Octokit::Client
243
+ # @return [Sawyer::Resource] Hash representing the newly added public key.
263
244
  # @see http://developer.github.com/v3/users/keys/#create-a-public-key
264
245
  # @example
265
246
  # @client.add_key('Personal projects key', 'ssh-rsa AAA...')
266
247
  def add_key(title, key, options={})
267
- post("user/keys", options.merge({:title => title, :key => key}))
248
+ post "user/keys", options.merge({:title => title, :key => key})
268
249
  end
269
250
 
270
251
  # Update a public key
@@ -275,12 +256,12 @@ module Octokit
275
256
  # @param options [Hash] Hash containing attributes to update.
276
257
  # @option options [String] :title
277
258
  # @option options [String] :key
278
- # @return [Hashie::Mash] Hash representing the updated public key.
259
+ # @return [Sawyer::Resource] Hash representing the updated public key.
279
260
  # @see http://developer.github.com/v3/users/keys/#update-a-public-key
280
261
  # @example
281
262
  # @client.update_key(1, :title => 'new title', :key => "ssh-rsa BBB")
282
263
  def update_key(key_id, options={})
283
- patch("/user/keys/#{key_id}", options)
264
+ patch "user/keys/#{key_id}", options
284
265
  end
285
266
 
286
267
  # Remove a public key from user account.
@@ -289,12 +270,11 @@ module Octokit
289
270
  #
290
271
  # @param id [String] Id of the public key to remove.
291
272
  # @return [Boolean] True if removal was successful, false otherwise.
292
- # @see Octokit::Client
293
273
  # @see http://developer.github.com/v3/users/keys/#delete-a-public-key
294
274
  # @example
295
275
  # @client.remove_key(1)
296
276
  def remove_key(id, options={})
297
- boolean_from_response(:delete, "user/keys/#{id}", options)
277
+ boolean_from_response :delete, "user/keys/#{id}", options
298
278
  end
299
279
 
300
280
  # List email addresses for a user.
@@ -302,12 +282,11 @@ module Octokit
302
282
  # Requires authenticated client.
303
283
  #
304
284
  # @return [Array<String>] Array of email addresses.
305
- # @see Octokit::Client
306
285
  # @see http://developer.github.com/v3/users/emails/#list-email-addresses-for-a-user
307
286
  # @example
308
287
  # @client.emails
309
288
  def emails(options={})
310
- get("user/emails", options)
289
+ paginate "user/emails", options
311
290
  end
312
291
 
313
292
  # Add email address to user.
@@ -316,12 +295,12 @@ module Octokit
316
295
  #
317
296
  # @param email [String] Email address to add to the user.
318
297
  # @return [Array<String>] Array of all email addresses of the user.
319
- # @see Octokit::Client
320
298
  # @see http://developer.github.com/v3/users/emails/#add-email-addresses
321
299
  # @example
322
300
  # @client.add_email('new_email@user.com')
323
301
  def add_email(email, options={})
324
- post("user/emails", options.merge({:email => email}))
302
+ email = Array(email)
303
+ post "user/emails", email
325
304
  end
326
305
 
327
306
  # Remove email from user.
@@ -329,28 +308,30 @@ module Octokit
329
308
  # Requires authenticated client.
330
309
  #
331
310
  # @param email [String] Email address to remove.
332
- # @return [Boolean] True if removal was successful, false otherwise.
333
- # @see Octokit::Client
311
+ # @return [Array<String>] Array of all email addresses of the user.
334
312
  # @see http://developer.github.com/v3/users/emails/#delete-email-addresses
335
313
  # @example
336
314
  # @client.remove_email('old_email@user.com')
337
- def remove_email(email, options={})
338
- boolean_from_response(:delete, "user/emails", options.merge({:email => email}))
315
+ def remove_email(email)
316
+ email = Array(email)
317
+ boolean_from_response :delete, "user/emails", email
339
318
  end
340
319
 
341
320
  # List repositories being watched by a user.
342
321
  #
343
322
  # @param user [String] User's GitHub username.
344
323
  #
345
- # @return [Array<Hashie::Mashie>] Array of repositories.
324
+ # @return [Array<Sawyer::Resource>] Array of repositories.
346
325
  #
347
326
  # @see http://developer.github.com/v3/activity/watching/#list-repositories-being-watched
348
327
  #
349
328
  # @example
350
329
  # @client.subscriptions("pengwynn")
351
330
  def subscriptions(user=login, options={})
352
- get("users/#{user}/subscriptions", options)
331
+ path = user_authenticated? ? "user/subscriptions" : "users/#{user}/subscriptions"
332
+ paginate path, options
353
333
  end
334
+ alias :watched :subscriptions
354
335
 
355
336
  end
356
337
  end