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,5 +1,9 @@
1
1
  module Octokit
2
2
  class Client
3
+
4
+ # Methods for the Authorizations API
5
+ #
6
+ # @see http://developer.github.com/v3/oauth/#oauth-authorizations-api
3
7
  module Authorizations
4
8
 
5
9
  # List a users authorizations
@@ -51,8 +55,7 @@ module Octokit
51
55
  def create_authorization(options={})
52
56
  # Techincally we can omit scopes as GitHub has a default, however the
53
57
  # API will reject us if we send a POST request with an empty body.
54
- options = {:scopes => ""}.merge(options)
55
- post('authorizations', options)
58
+ post 'authorizations', options
56
59
  end
57
60
 
58
61
  # Update an authorization for the authenticated user.
@@ -74,10 +77,7 @@ module Octokit
74
77
  # client = Octokit::Client.new(:login => 'ctshryock', :password => 'secret')
75
78
  # client.update_authorization(999999, {:add_scopes => ["gist", "repo"], :note => "Why not Zoidberg possibly?"})
76
79
  def update_authorization(number, options={})
77
- # Techincally we can omit scopes as GitHub has a default, however the
78
- # API will reject us if we send a POST request with an empty body.
79
- options = {:scopes => ""}.merge(options)
80
- patch("authorizations/#{number}", options)
80
+ patch "authorizations/#{number}", options
81
81
  end
82
82
 
83
83
  # Delete an authorization for the authenticated user.
@@ -93,7 +93,7 @@ module Octokit
93
93
  # client = Octokit::Client.new(:login => 'ctshryock', :password => 'secret')
94
94
  # client.delete_authorization(999999)
95
95
  def delete_authorization(number, option={})
96
- boolean_from_response(:delete, "authorizations/#{number}")
96
+ boolean_from_response :delete, "authorizations/#{number}"
97
97
  end
98
98
 
99
99
  # Check scopes for a token
@@ -101,14 +101,40 @@ module Octokit
101
101
  # @param token [String] GitHub OAuth token
102
102
  # @return [Array<String>] OAuth scopes
103
103
  # @see http://developer.github.com/v3/oauth/#scopes
104
- def scopes(token=nil)
105
- request(:get, "user", :access_token => token).
106
- headers[:x_oauth_scopes].
104
+ def scopes(token = @access_token)
105
+ raise ArgumentError.new("Access token required") if token.nil?
106
+
107
+ agent.call(:get, "user", :headers => {"Authorization" => "token #{token}" }).
108
+ headers['X-OAuth-Scopes'].
109
+ to_s.
107
110
  split(',').
108
111
  map(&:strip).
109
112
  sort
110
113
  end
111
114
 
112
115
  end
116
+
117
+ # Get the URL to authorize a user for an application via the web flow
118
+ #
119
+ # @param app_id [String] Client Id we received when our application was registered with GitHub.
120
+ # @param app_secret [String] Client Secret we received when our application was registered with GitHub.
121
+ # @option options [String] :redirect_uri The url to redirect to after authorizing.
122
+ # @option options [String] :scope The scopes to request from the user.
123
+ # @option options [String] :state A random string to protect against CSRF.
124
+ # @return [String] The url to redirect the user to authorize.
125
+ # @see Octokit::Client
126
+ # @see http://developer.github.com/v3/oauth/#web-application-flow
127
+ # @example
128
+ # @client.authorize_url('xxxx', 'yyyy')
129
+ def authorize_url(app_id, app_secret, options = {})
130
+ authorize_url = options.delete(:endpoint) || Octokit.web_endpoint
131
+ authorize_url += "login/oauth/authorize?client_id=" + app_id + "&client_secret=" + app_secret
132
+
133
+ options.each do |key, value|
134
+ authorize_url += "&" + key.to_s + "=" + value
135
+ end
136
+
137
+ authorize_url
138
+ end
113
139
  end
114
140
  end
@@ -0,0 +1,96 @@
1
+ module Octokit
2
+ class Client
3
+
4
+ # Methods for the Commit Comments API
5
+ #
6
+ # @see http://developer.github.com/v3/repos/comments/
7
+ module CommitComments
8
+
9
+ # List all commit comments
10
+ #
11
+ # @param repo [String, Hash, Repository] A GitHub repository
12
+ # @return [Array] List of commit comments
13
+ # @see http://developer.github.com/v3/repos/comments/
14
+ def list_commit_comments(repo, options={})
15
+ get "repos/#{Repository.new(repo)}/comments", options
16
+ end
17
+
18
+ # List comments for a single commit
19
+ #
20
+ # @param repo [String, Hash, Repository] A GitHub repository
21
+ # @param sha [String] The SHA of the commit whose comments will be fetched
22
+ # @return [Array] List of commit comments
23
+ # @see http://developer.github.com/v3/repos/comments/
24
+ def commit_comments(repo, sha, options={})
25
+ get "repos/#{Repository.new(repo)}/commits/#{sha}/comments", options
26
+ end
27
+
28
+ # Get a single commit comment
29
+ #
30
+ # @param repo [String, Hash, Repository] A GitHub repository
31
+ # @param id [String] The ID of the comment to fetch
32
+ # @return [Sawyer::Resource] Commit comment
33
+ # @see http://developer.github.com/v3/repos/comments/
34
+ def commit_comment(repo, id, options={})
35
+ get "repos/#{Repository.new(repo)}/comments/#{id}", options
36
+ end
37
+
38
+ # Create a commit comment
39
+ #
40
+ # @param repo [String, Hash, Repository] A GitHub repository
41
+ # @param sha [String] Sha of the commit to comment on
42
+ # @param body [String] Message
43
+ # @param path [String] Relative path of file to comment on
44
+ # @param line [Integer] Line number in the file to comment on
45
+ # @param position [Integer] Line index in the diff to comment on
46
+ # @return [Sawyer::Resource] Commit comment
47
+ # @see http://developer.github.com/v3/repos/comments/
48
+ # @example Create a commit comment
49
+ # commit = Octokit.create_commit_comment("octocat/Hello-World", "827efc6d56897b048c772eb4087f854f46256132", "My comment message", "README.md", 10, 1)
50
+ # commit.commit_id # => "827efc6d56897b048c772eb4087f854f46256132"
51
+ # commit.body # => "My comment message"
52
+ # commit.path # => "README.md"
53
+ # commit.line # => 10
54
+ # commit.position # => 1
55
+ def create_commit_comment(repo, sha, body, path=nil, line=nil, position=nil, options={})
56
+ params = {
57
+ :body => body,
58
+ :commit_id => sha,
59
+ :path => path,
60
+ :line => line,
61
+ :position => position
62
+ }
63
+ post "repos/#{Repository.new(repo)}/commits/#{sha}/comments", options.merge(params)
64
+ end
65
+
66
+ # Update a commit comment
67
+ #
68
+ # @param repo [String, Hash, Repository] A GitHub repository
69
+ # @param id [String] The ID of the comment to update
70
+ # @param body [String] Message
71
+ # @return [Sawyer::Resource] Updated commit comment
72
+ # @see http://developer.github.com/v3/repos/comments/
73
+ # @example Update a commit comment
74
+ # commit = Octokit.update_commit_comment("octocat/Hello-World", "860296", "Updated commit comment")
75
+ # commit.id # => 860296
76
+ # commit.body # => "Updated commit comment"
77
+ def update_commit_comment(repo, id, body, options={})
78
+ params = {
79
+ :body => body
80
+ }
81
+ patch "repos/#{Repository.new(repo)}/comments/#{id}", options.merge(params)
82
+ end
83
+
84
+ # Delete a commit comment
85
+ #
86
+ # @param repo [String, Hash, Repository] A GitHub repository
87
+ # @param id [String] The ID of the comment to delete
88
+ # @return [Boolean] Success
89
+ # @see http://developer.github.com/v3/repos/comments/
90
+ def delete_commit_comment(repo, id, options={})
91
+ boolean_from_response :delete, "repos/#{Repository.new(repo)}/comments/#{id}", options
92
+ end
93
+
94
+ end
95
+ end
96
+ end
@@ -2,31 +2,156 @@ require 'date'
2
2
 
3
3
  module Octokit
4
4
  class Client
5
+
6
+ # Methods for the Commits API
7
+ #
8
+ # @see http://developer.github.com/v3/repos/commits/
5
9
  module Commits
6
10
 
7
11
  # List commits
8
12
  #
9
- # Optionally pass <tt>path => "path/to/file.rb"</tt> in <tt>options</tt> to
10
- # only return commits containing the given file path.
11
- #
12
- # @param repo [String, Hash, Repository] A GitHub repository
13
- # @param sha_or_branch [String] Commit SHA or branch name from which to start the list
14
- # @return [Array] An array of hashes representing commits
13
+ # @overload commits(repo, sha_or_branch, options = {})
14
+ # @deprecated
15
+ # @param repo [String, Hash, Repository] A GitHub repository
16
+ # @param sha_or_branch [String] A commit SHA or branch name
17
+ # @param options [String] :sha Commit SHA or branch name from which to start the list
18
+ # @overload commits(repo, options = {})
19
+ # @param repo [String, Hash, Repository] A GitHub repository
20
+ # @param options [String] :sha Commit SHA or branch name from which to start the list
21
+ # @return [Array<Sawyer::Resource>] An array of hashes representing commits
15
22
  # @see http://developer.github.com/v3/repos/commits/
16
- def commits(repo, sha_or_branch="master", options={})
17
- params = { :sha => sha_or_branch, :per_page => 35 }
18
- get("repos/#{Repository.new(repo)}/commits", params.merge(options))
23
+ def commits(*args)
24
+ arguments = Octokit::RepoArguments.new(args)
25
+ sha_or_branch = arguments.pop
26
+ if sha_or_branch
27
+ arguments.options[:sha] = sha_or_branch
28
+ end
29
+ paginate "repos/#{Repository.new(arguments.repo)}/commits", arguments.options
19
30
  end
20
31
  alias :list_commits :commits
21
32
 
33
+ # Get commits after a specified date
34
+
35
+ # @overload commits_since(repo, date, options = {})
36
+ # @param repo [String, Hash, Repository] A GitHub repository
37
+ # @param date [String] Date on which we want to compare
38
+ # @param options [String] :sha Commit SHA or branch name from which to start the list
39
+ # @overload commits_since(repo, date, sha_or_branch, options = {})
40
+ # @deprecated
41
+ # @param repo [String, Hash, Repository] A GitHub repository
42
+ # @param date [String] Date on which we want to compare
43
+ # @param sha_or_branch [String] A commit SHA or branch name
44
+ # @param options [String] :sha Commit SHA or branch name from which to start the list
45
+ # @return [Array<Sawyer::Resource>] An array of hashes representing commits
46
+ # @see http://developer.github.com/v3/repos/commits/
47
+ # @example
48
+ # Octokit.commits_since('pengwynn/octokit', '2012-10-01')
49
+ def commits_since(*args)
50
+ arguments = Octokit::RepoArguments.new(args)
51
+ date = parse_date(arguments.shift)
52
+ params = arguments.options
53
+ end_date = date + 1
54
+ params.merge!(:since => iso8601(date))
55
+ sha_or_branch = arguments.pop
56
+ if sha_or_branch
57
+ params[:sha] = sha_or_branch
58
+ end
59
+ commits(arguments.repo, params)
60
+ end
61
+
62
+ # Get commits before a specified date
63
+ #
64
+ # @overload commits_before(repo, date, options = {})
65
+ # @param repo [String, Hash, Repository] A GitHub repository
66
+ # @param date [String] Date on which we want to compare
67
+ # @overload commits_before(repo, date, sha_or_branch, options = {})
68
+ # @deprecated
69
+ # @param repo [String, Hash, Repository] A GitHub repository
70
+ # @param date [String] Date on which we want to compare
71
+ # @param sha_or_branch [String] Commit SHA or branch name from which to start the list
72
+ # @return [Array<Sawyer::Resource>] An array of hashes representing commits
73
+ # @see http://developer.github.com/v3/repos/commits/
74
+ # @example
75
+ # Octokit.commits_before('pengwynn/octokit', '2012-10-01')
76
+ def commits_before(*args)
77
+ arguments = Octokit::RepoArguments.new(args)
78
+ date = parse_date(arguments.shift)
79
+ params = arguments.options
80
+ end_date = date + 1
81
+ params.merge!(:until => iso8601(date))
82
+ sha_or_branch = arguments.pop
83
+ if sha_or_branch
84
+ params[:sha] = sha_or_branch
85
+ end
86
+ commits(arguments.repo, params)
87
+ end
88
+
89
+ # Get commits on a specified date
90
+ #
91
+ # @overload commits_on(repo, date, options = {})
92
+ # @param repo [String, Hash, Repository] A GitHub repository
93
+ # @param date [String] Date on which we want to compare
94
+ # @overload commits_on(repo, date, sha_or_branch, options = {})
95
+ # @deprecated
96
+ # @param repo [String, Hash, Repository] A GitHub repository
97
+ # @param date [String] Date on which we want to compare
98
+ # @param sha_or_branch [String] Commit SHA or branch name from which to start the list
99
+ # @return [Array<Sawyer::Resource>] An array of hashes representing commits
100
+ # @see http://developer.github.com/v3/repos/commits/
101
+ # @example
102
+ # Octokit.commits_on('pengwynn/octokit', '2012-10-01')
103
+ def commits_on(*args)
104
+ arguments = Octokit::RepoArguments.new(args)
105
+ date = parse_date(arguments.shift)
106
+ params = arguments.options
107
+ end_date = date + 1
108
+ params.merge!(:since => iso8601(date), :until => iso8601(end_date))
109
+ sha_or_branch = arguments.pop
110
+ if sha_or_branch
111
+ params[:sha] = sha_or_branch
112
+ end
113
+ commits(arguments.repo, params)
114
+ end
115
+
116
+ # Get commits made between two nominated dates
117
+ #
118
+ # @overload commits_between(repo, start_date, end_date, options = {})
119
+ # @param repo [String, Hash, Repository] A GitHub repository
120
+ # @param start_date [String] Start Date on which we want to compare
121
+ # @param end_date [String] End Date on which we want to compare
122
+ # @overload commits_between(repo, start_date, end_date, sha_or_branch, options = {})
123
+ # @deprecated
124
+ # @param repo [String, Hash, Repository] A GitHub repository
125
+ # @param start_date [String] Start Date on which we want to compare
126
+ # @param end_date [String] End Date on which we want to compare
127
+ # @param sha_or_branch [String] Commit SHA or branch name from which to start the list
128
+ # @return [Array<Sawyer::Resource>] An array of hashes representing commits
129
+ # @see http://developer.github.com/v3/repos/commits/
130
+ # @example
131
+ # Octokit.commits_on('pengwynn/octokit', '2012-10-01', '2012-11-01')
132
+ def commits_between(*args)
133
+ arguments = Octokit::RepoArguments.new(args)
134
+ date = parse_date(arguments.shift)
135
+ end_date = parse_date(arguments.shift)
136
+ raise ArgumentError, "Start date #{date} does not precede #{end_date}" if date > end_date
137
+
138
+ params = arguments.options
139
+ params.merge!(:since => iso8601(date), :until => iso8601(end_date))
140
+ sha_or_branch = arguments.pop
141
+ if sha_or_branch
142
+ params[:sha] = sha_or_branch
143
+ end
144
+ commits(arguments.repo, params)
145
+ end
146
+
22
147
  # Get a single commit
23
148
  #
24
149
  # @param repo [String, Hash, Repository] A GitHub repository
25
150
  # @param sha [String] The SHA of the commit to fetch
26
- # @return [Hashie::Mash] A hash representing the commit
151
+ # @return [Sawyer::Resource] A hash representing the commit
27
152
  # @see http://developer.github.com/v3/repos/commits/
28
153
  def commit(repo, sha, options={})
29
- get("repos/#{Repository.new(repo)}/commits/#{sha}", options)
154
+ get "repos/#{Repository.new(repo)}/commits/#{sha}", options
30
155
  end
31
156
 
32
157
  # Create a commit
@@ -40,7 +165,7 @@ module Octokit
40
165
  # @param message [String] The commit message
41
166
  # @param tree [String] The SHA of the tree object the new commit will point to
42
167
  # @param parents [String, Array] One SHA (for a normal commit) or an array of SHAs (for a merge) of the new commit's parent commits. If ommitted or empty, a root commit will be created
43
- # @return [Hashie::Mash] A hash representing the new commit
168
+ # @return [Sawyer::Resource] A hash representing the new commit
44
169
  # @see http://developer.github.com/v3/git/commits/
45
170
  # @example Create a commit
46
171
  # commit = Octokit.create_commit("octocat/Hello-World", "My commit message", "827efc6d56897b048c772eb4087f854f46256132", "7d1b31e74ee336d15cbd21741bc88a537ed063a0")
@@ -51,7 +176,7 @@ module Octokit
51
176
  def create_commit(repo, message, tree, parents=nil, options={})
52
177
  params = { :message => message, :tree => tree }
53
178
  params[:parents] = [parents].flatten if parents
54
- post("repos/#{Repository.new(repo)}/git/commits", options.merge(params))
179
+ post "repos/#{Repository.new(repo)}/git/commits", options.merge(params)
55
180
  end
56
181
 
57
182
  # List all commit comments
@@ -60,7 +185,7 @@ module Octokit
60
185
  # @return [Array] An array of hashes representing comments
61
186
  # @see http://developer.github.com/v3/repos/comments/
62
187
  def list_commit_comments(repo, options={})
63
- get("repos/#{Repository.new(repo)}/comments", options)
188
+ get "repos/#{Repository.new(repo)}/comments", options
64
189
  end
65
190
 
66
191
  # List comments for a single commit
@@ -70,17 +195,17 @@ module Octokit
70
195
  # @return [Array] An array of hashes representing comments
71
196
  # @see http://developer.github.com/v3/repos/comments/
72
197
  def commit_comments(repo, sha, options={})
73
- get("repos/#{Repository.new(repo)}/commits/#{sha}/comments", options)
198
+ get "repos/#{Repository.new(repo)}/commits/#{sha}/comments", options
74
199
  end
75
200
 
76
201
  # Get a single commit comment
77
202
  #
78
203
  # @param repo [String, Hash, Repository] A GitHub repository
79
204
  # @param id [String] The ID of the comment to fetch
80
- # @return [Hashie::Mash] A hash representing the comment
205
+ # @return [Sawyer::Resource] A hash representing the comment
81
206
  # @see http://developer.github.com/v3/repos/comments/
82
207
  def commit_comment(repo, id, options={})
83
- get("repos/#{Repository.new(repo)}/comments/#{id}", options)
208
+ get "repos/#{Repository.new(repo)}/comments/#{id}", options
84
209
  end
85
210
 
86
211
  # Create a commit comment
@@ -91,7 +216,7 @@ module Octokit
91
216
  # @param path [String] Relative path of file to comment on
92
217
  # @param line [Integer] Line number in the file to comment on
93
218
  # @param position [Integer] Line index in the diff to comment on
94
- # @return [Hashie::Mash] A hash representing the new commit comment
219
+ # @return [Sawyer::Resource] A hash representing the new commit comment
95
220
  # @see http://developer.github.com/v3/repos/comments/
96
221
  # @example Create a commit comment
97
222
  # commit = Octokit.create_commit_comment("octocat/Hello-World", "827efc6d56897b048c772eb4087f854f46256132", "My comment message", "README.md", 10, 1)
@@ -108,7 +233,7 @@ module Octokit
108
233
  :line => line,
109
234
  :position => position
110
235
  }
111
- post("repos/#{Repository.new(repo)}/commits/#{sha}/comments", options.merge(params))
236
+ post "repos/#{Repository.new(repo)}/commits/#{sha}/comments", options.merge(params)
112
237
  end
113
238
 
114
239
  # Update a commit comment
@@ -116,7 +241,7 @@ module Octokit
116
241
  # @param repo [String, Hash, Repository] A GitHub repository
117
242
  # @param id [String] The ID of the comment to update
118
243
  # @param body [String] Message
119
- # @return [Hashie::Mash] A hash representing the updated commit comment
244
+ # @return [Sawyer::Resource] A hash representing the updated commit comment
120
245
  # @see http://developer.github.com/v3/repos/comments/
121
246
  # @example Update a commit comment
122
247
  # commit = Octokit.update_commit_comment("octocat/Hello-World", "860296", "Updated commit comment")
@@ -126,7 +251,7 @@ module Octokit
126
251
  params = {
127
252
  :body => body
128
253
  }
129
- patch("repos/#{Repository.new(repo)}/comments/#{id}", options.merge(params))
254
+ patch "repos/#{Repository.new(repo)}/comments/#{id}", options.merge(params)
130
255
  end
131
256
 
132
257
  # Delete a commit comment
@@ -136,7 +261,7 @@ module Octokit
136
261
  # @return [nil] nil
137
262
  # @see http://developer.github.com/v3/repos/comments/
138
263
  def delete_commit_comment(repo, id, options={})
139
- boolean_from_response(:delete, "repos/#{Repository.new(repo)}/comments/#{id}", options)
264
+ boolean_from_response :delete, "repos/#{Repository.new(repo)}/comments/#{id}", options
140
265
  end
141
266
 
142
267
  # Compare two commits
@@ -144,10 +269,10 @@ module Octokit
144
269
  # @param repo [String, Hash, Repository] A GitHub repository
145
270
  # @param start [String] The sha of the starting commit
146
271
  # @param endd [String] The sha of the ending commit
147
- # @return [Hashie::Mash] A hash representing the comparison
272
+ # @return [Sawyer::Resource] A hash representing the comparison
148
273
  # @see http://developer.github.com/v3/repos/commits/
149
274
  def compare(repo, start, endd, options={})
150
- get("repos/#{Repository.new(repo)}/compare/#{start}...#{endd}", options)
275
+ get "repos/#{Repository.new(repo)}/compare/#{start}...#{endd}", options
151
276
  end
152
277
 
153
278
  # Merge a branch or sha
@@ -156,81 +281,14 @@ module Octokit
156
281
  # @param base [String] The name of the base branch to merge into
157
282
  # @param head [String] The branch or SHA1 to merge
158
283
  # @option options [String] :commit_message The commit message for the merge
159
- # @return [Hashie::Mash] A hash representing the comparison
284
+ # @return [Sawyer::Resource] A hash representing the comparison
160
285
  # @see http://developer.github.com/v3/repos/merging/
161
286
  def merge(repo, base, head, options={})
162
287
  params = {
163
288
  :base => base,
164
289
  :head => head
165
290
  }.merge(options)
166
- post("repos/#{Repository.new(repo)}/merges", params)
167
- end
168
-
169
- # Get commits based on time windows
170
-
171
- # Get commits after a specified date
172
- #
173
- # @param repo [String, Hash, Repository] A GitHub repository
174
- # @param date [String] Date on which we want to compare
175
- # @param sha_or_branch [String] Commit SHA or branch name from which to start the list
176
- # @return [Array] An array of hashes representing commits
177
- # @see http://developer.github.com/v3/repos/commits/
178
- # @example
179
- # Octokit.commits_since('pengwynn/octokit', '2012-10-01')
180
- def commits_since(repo, date, sha_or_branch="master", options={})
181
- params = {:since => iso8601(parse_date(date))}
182
- commits(repo, sha_or_branch, params.merge(options))
183
- end
184
-
185
- # Get commits before a specified date
186
- #
187
- # @param repo [String, Hash, Repository] A GitHub repository
188
- # @param date [String] Date on which we want to compare
189
- # @param sha_or_branch [String] Commit SHA or branch name from which to start the list
190
- # @return [Array] An array of hashes representing commits
191
- # @see http://developer.github.com/v3/repos/commits/
192
- # @example
193
- # Octokit.commits_before('pengwynn/octokit', '2012-10-01')
194
- def commits_before(repo, date, sha_or_branch="master", options={})
195
- params = {:until => iso8601(parse_date(date))}
196
- commits(repo, sha_or_branch, params.merge(options))
197
- end
198
-
199
- # Get commits on a specified date
200
- #
201
- # @param repo [String, Hash, Repository] A GitHub repository
202
- # @param date [String] Date on which we want to compare
203
- # @param sha_or_branch [String] Commit SHA or branch name from which to start the list
204
- # @return [Array] An array of hashes representing commits
205
- # @see http://developer.github.com/v3/repos/commits/
206
- # @example
207
- # Octokit.commits_on('pengwynn/octokit', '2012-10-01')
208
- def commits_on(repo, date, sha_or_branch="master", options={})
209
- start_date = parse_date(date)
210
- end_date = start_date + 1
211
- params = { :since => iso8601(start_date), :until => iso8601(end_date) }
212
- commits(repo, sha_or_branch, params.merge(options))
213
- end
214
-
215
- # Get commits made between two nominated dates
216
- #
217
- # @param repo [String, Hash, Repository] A GitHub repository
218
- # @param start_date [String] Start Date on which we want to compare
219
- # @param end_date [String] End Date on which we want to compare
220
- # @param sha_or_branch [String] Commit SHA or branch name from which to start the list
221
- # @return [Array] An array of hashes representing commits
222
- # @see http://developer.github.com/v3/repos/commits/
223
- # @example
224
- # Octokit.commits_on('pengwynn/octokit', '2012-10-01', '2012-11-01')
225
- def commits_between(repo, start_date, end_date, sha_or_branch="master", options={})
226
- _start_date = parse_date(start_date)
227
- _end_date = parse_date(end_date)
228
- if _end_date < _start_date
229
- raise ArgumentError, "Start date #{start_date} does not precede #{end_date}"
230
- end
231
- params = {:since => iso8601(_start_date),
232
- :until => iso8601(_end_date) }
233
- commits(repo, sha_or_branch, params.merge(options))
291
+ post "repos/#{Repository.new(repo)}/merges", params
234
292
  end
235
293
 
236
294
  protected
@@ -249,7 +307,7 @@ module Octokit
249
307
  # @param date [String] String representation of a date
250
308
  # @return [DateTime]
251
309
  def parse_date(date)
252
- date = DateTime.parse(date)
310
+ date = DateTime.parse(date.to_s)
253
311
  rescue ArgumentError
254
312
  raise ArgumentError, "#{date} is not a valid date"
255
313
  end