github_api 0.11.3 → 0.12.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +33 -16
- data/Rakefile +3 -3
- data/features/activity/events.feature +7 -7
- data/features/activity/notifications.feature +1 -1
- data/features/activity/starring.feature +2 -2
- data/features/activity/watching.feature +26 -2
- data/features/arguments_parsing.feature +3 -3
- data/features/auto_pagination.feature +7 -7
- data/features/cassettes/activity/events/issue.json +1 -0
- data/features/cassettes/activity/events/network.json +1 -0
- data/features/cassettes/activity/events/org.json +1 -0
- data/features/cassettes/activity/events/performed.json +1 -0
- data/features/cassettes/activity/events/public.json +1 -0
- data/features/cassettes/activity/events/received.json +1 -0
- data/features/cassettes/activity/events/repo.json +1 -0
- data/features/cassettes/activity/notifications/list_user.json +1 -0
- data/features/cassettes/activity/starring/list.json +1 -0
- data/features/cassettes/activity/starring/star.json +1 -0
- data/features/cassettes/activity/starring/starred.json +1 -0
- data/features/cassettes/activity/starring/starring.json +1 -0
- data/features/cassettes/activity/starring/unstar.json +1 -0
- data/features/cassettes/activity/watching/create.json +1 -0
- data/features/cassettes/activity/watching/delete.json +1 -0
- data/features/cassettes/activity/watching/list.json +1 -0
- data/features/cassettes/activity/watching/subscribed.json +1 -0
- data/features/cassettes/activity/watching/unwatch.json +1 -0
- data/features/cassettes/activity/watching/watch.json +1 -0
- data/features/cassettes/activity/watching/watched.json +1 -0
- data/features/cassettes/activity/watching/watching.json +1 -0
- data/features/cassettes/arguments/orgs/get.json +1 -0
- data/features/cassettes/arguments/pulls/get.json +1 -0
- data/features/cassettes/arguments/repo_commits/get.json +1 -0
- data/features/cassettes/auto_pagination/repos/get.json +1 -0
- data/features/cassettes/auto_pagination/repos/global_list.json +1 -0
- data/features/cassettes/auto_pagination/repos/list.json +1 -0
- data/features/cassettes/emojis/list.json +1 -0
- data/features/cassettes/errors/repos/create.json +1 -0
- data/features/cassettes/gists/comments/all.json +1 -0
- data/features/cassettes/gists/comments/first.json +1 -0
- data/features/cassettes/gists/fork.json +1 -0
- data/features/cassettes/gists/gist.json +1 -0
- data/features/cassettes/gists/gists/commits.json +1 -0
- data/features/cassettes/gists/gists/forks.json +1 -0
- data/features/cassettes/gists/gists/public_all.json +1 -0
- data/features/cassettes/gists/gists/starred.json +1 -0
- data/features/cassettes/gists/gists/user_all.json +1 -0
- data/features/cassettes/gists/star.json +1 -0
- data/features/cassettes/gists/starred.json +1 -0
- data/features/cassettes/gists/unstar.json +1 -0
- data/features/cassettes/git_data/commits/get.json +1 -0
- data/features/cassettes/git_data/references/all.json +1 -0
- data/features/cassettes/git_data/references/all_tags.json +1 -0
- data/features/cassettes/git_data/references/one.json +1 -0
- data/features/cassettes/gitignore/get.json +1 -0
- data/features/cassettes/gitignore/get_raw.json +1 -0
- data/features/cassettes/gitignore/list.json +1 -0
- data/features/cassettes/issues/assignees/ckeck.json +1 -0
- data/features/cassettes/issues/assignees/ckeck_not.json +1 -0
- data/features/cassettes/issues/assignees/list.json +1 -0
- data/features/cassettes/issues/comments/create.json +1 -0
- data/features/cassettes/issues/comments/delete.json +1 -0
- data/features/cassettes/issues/comments/edit.json +1 -0
- data/features/cassettes/issues/comments/get.json +1 -0
- data/features/cassettes/issues/comments/list_issue.json +1 -0
- data/features/cassettes/issues/comments/list_repo.json +1 -0
- data/features/cassettes/issues/create.json +1 -0
- data/features/cassettes/issues/edit.json +1 -0
- data/features/cassettes/issues/events/get.json +1 -0
- data/features/cassettes/issues/events/list_issue.json +1 -0
- data/features/cassettes/issues/events/list_repo.json +1 -0
- data/features/cassettes/issues/get.json +1 -0
- data/features/cassettes/issues/labels/add.json +1 -0
- data/features/cassettes/issues/labels/create.json +1 -0
- data/features/cassettes/issues/labels/delete.json +1 -0
- data/features/cassettes/issues/labels/get.json +1 -0
- data/features/cassettes/issues/labels/list_issue.json +1 -0
- data/features/cassettes/issues/labels/list_milestone.json +1 -0
- data/features/cassettes/issues/labels/list_repo.json +1 -0
- data/features/cassettes/issues/labels/remove_all.json +1 -0
- data/features/cassettes/issues/labels/remove_one.json +1 -0
- data/features/cassettes/issues/labels/replace.json +1 -0
- data/features/cassettes/issues/labels/update.json +1 -0
- data/features/cassettes/issues/list/repo.json +1 -0
- data/features/cassettes/issues/list/user.json +1 -0
- data/features/cassettes/issues/milestones/create.json +1 -0
- data/features/cassettes/issues/milestones/delete.json +1 -0
- data/features/cassettes/issues/milestones/get.json +1 -0
- data/features/cassettes/issues/milestones/list.json +1 -0
- data/features/cassettes/issues/milestones/update.json +1 -0
- data/features/cassettes/markdown/render.json +1 -0
- data/features/cassettes/markdown/render_raw.json +1 -0
- data/features/cassettes/media/get_default.json +1 -0
- data/features/cassettes/media/get_full_json.json +1 -0
- data/features/cassettes/media/get_html_json.json +1 -0
- data/features/cassettes/media/get_raw_json.json +1 -0
- data/features/cassettes/media/get_text_json.json +1 -0
- data/features/cassettes/meta/get.json +1 -0
- data/features/cassettes/orgs/get.json +1 -0
- data/features/cassettes/orgs/list/oauth_user.json +1 -0
- data/features/cassettes/orgs/list/user.json +1 -0
- data/features/cassettes/orgs/members/list.json +1 -0
- data/features/cassettes/orgs/members/list_public.json +1 -0
- data/features/cassettes/orgs/members/member_false.json +1 -0
- data/features/cassettes/orgs/members/member_public_false.json +1 -0
- data/features/cassettes/orgs/members/member_public_true.json +1 -0
- data/features/cassettes/pagination/issues/list/first.json +1 -0
- data/features/cassettes/pagination/issues/list/last.json +1 -0
- data/features/cassettes/pagination/issues/list/lastest.json +1 -0
- data/features/cassettes/pagination/issues/list/next.json +1 -0
- data/features/cassettes/pagination/issues/list/prev.json +1 -0
- data/features/cassettes/pagination/repos/commits/list.json +1 -0
- data/features/cassettes/pagination/repos/commits/next.json +1 -0
- data/features/cassettes/pagination/repos/commits/sha.json +1 -0
- data/features/cassettes/pagination/repos/commits/sha/next.json +1 -0
- data/features/cassettes/pagination/repos/diff.json +1 -0
- data/features/cassettes/pagination/repos/diff/next.json +1 -0
- data/features/cassettes/pagination/repos/list.json +1 -0
- data/features/cassettes/pagination/repos/list/next.json +1 -0
- data/features/cassettes/pagination/repos/per_page/each_page.json +1 -0
- data/features/cassettes/pagination/repos/per_page/first.json +1 -0
- data/features/cassettes/pull_requests/comments/list_pull.json +1 -0
- data/features/cassettes/pull_requests/comments/list_repo.json +1 -0
- data/features/cassettes/pull_requests/create.json +1 -0
- data/features/cassettes/pull_requests/get.json +1 -0
- data/features/cassettes/pull_requests/list.json +1 -0
- data/features/cassettes/pull_requests/merge.json +1 -0
- data/features/cassettes/pull_requests/merged.json +1 -0
- data/features/cassettes/ratelimit/get.json +1 -0
- data/features/cassettes/ratelimit/get_remaining.json +1 -0
- data/features/cassettes/ratelimit/get_reset.json +1 -0
- data/features/cassettes/repos/assets/delete.json +1 -0
- data/features/cassettes/repos/assets/edit.json +1 -0
- data/features/cassettes/repos/assets/get.json +1 -0
- data/features/cassettes/repos/assets/list.json +1 -0
- data/features/cassettes/repos/assets/upload.json +1 -0
- data/features/cassettes/repos/branch.json +1 -0
- data/features/cassettes/repos/branch_mutation_one.json +1 -0
- data/features/cassettes/repos/branch_mutation_two.json +1 -0
- data/features/cassettes/repos/branches.json +1 -0
- data/features/cassettes/repos/comments/list.json +1 -0
- data/features/cassettes/repos/commits/compare.json +1 -0
- data/features/cassettes/repos/commits/get.json +1 -0
- data/features/cassettes/repos/commits/list.json +1 -0
- data/features/cassettes/repos/contents/archive.json +1 -0
- data/features/cassettes/repos/contents/create.json +1 -0
- data/features/cassettes/repos/contents/delete.json +1 -0
- data/features/cassettes/repos/contents/get.json +1 -0
- data/features/cassettes/repos/contents/readme.json +1 -0
- data/features/cassettes/repos/contents/update.json +1 -0
- data/features/cassettes/repos/create.json +1 -0
- data/features/cassettes/repos/deployments/create.json +1 -0
- data/features/cassettes/repos/deployments/create_status.json +1 -0
- data/features/cassettes/repos/deployments/list.json +1 -0
- data/features/cassettes/repos/deployments/list_statuses.json +1 -0
- data/features/cassettes/repos/forks/list.json +1 -0
- data/features/cassettes/repos/forks/list_sort.json +1 -0
- data/features/cassettes/repos/get.json +1 -0
- data/features/cassettes/repos/languages.json +1 -0
- data/features/cassettes/repos/list.json +1 -0
- data/features/cassettes/repos/list_org.json +1 -0
- data/features/cassettes/repos/list_org_instance.json +1 -0
- data/features/cassettes/repos/list_repos.json +1 -0
- data/features/cassettes/repos/pages/get.json +1 -0
- data/features/cassettes/repos/pages/list_builds.json +1 -0
- data/features/cassettes/repos/releases/create.json +1 -0
- data/features/cassettes/repos/releases/delete.json +1 -0
- data/features/cassettes/repos/releases/edit.json +1 -0
- data/features/cassettes/repos/releases/get.json +1 -0
- data/features/cassettes/repos/releases/list.json +1 -0
- data/features/cassettes/repos/stats/commits.json +1 -0
- data/features/cassettes/repos/stats/contribs.json +1 -0
- data/features/cassettes/repos/stats/frequency.json +1 -0
- data/features/cassettes/repos/stats/participation.json +1 -0
- data/features/cassettes/repos/stats/punch.json +1 -0
- data/features/cassettes/repos/statuses/list.json +1 -0
- data/features/cassettes/repos/statuses/list_combined.json +1 -0
- data/features/cassettes/repos/tags.json +1 -0
- data/features/cassettes/say/custom.json +1 -0
- data/features/cassettes/say/random.json +1 -0
- data/features/cassettes/search/code.json +1 -0
- data/features/cassettes/search/code_query.json +1 -0
- data/features/cassettes/search/code_unicode.json +1 -0
- data/features/cassettes/search/issues.json +1 -0
- data/features/cassettes/search/legacy/email.json +1 -0
- data/features/cassettes/search/legacy/issues.json +1 -0
- data/features/cassettes/search/legacy/repos.json +1 -0
- data/features/cassettes/search/legacy/users.json +1 -0
- data/features/cassettes/search/legacy/users_keyword.json +1 -0
- data/features/cassettes/search/repos.json +1 -0
- data/features/cassettes/search/users.json +1 -0
- data/features/cassettes/search/users_keyword.json +1 -0
- data/features/cassettes/users/all.json +1 -0
- data/features/cassettes/users/emails/add.json +1 -0
- data/features/cassettes/users/emails/all.json +1 -0
- data/features/cassettes/users/emails/delete.json +1 -0
- data/features/cassettes/users/followers/follow.json +1 -0
- data/features/cassettes/users/followers/following.json +1 -0
- data/features/cassettes/users/followers/following_.json +1 -0
- data/features/cassettes/users/followers/following_another.json +1 -0
- data/features/cassettes/users/followers/list.json +1 -0
- data/features/cassettes/users/followers/unfollow.json +1 -0
- data/features/cassettes/users/get/oauth.json +1 -0
- data/features/cassettes/users/get/user.json +1 -0
- data/features/cassettes/users/keys/create.json +1 -0
- data/features/cassettes/users/keys/delete.json +1 -0
- data/features/cassettes/users/keys/user.json +1 -0
- data/features/cassettes/users/keys/user_all.json +1 -0
- data/features/cassettes/users/keys/user_all.yml +1 -1
- data/features/emojis.feature +1 -1
- data/features/error_codes.feature +1 -1
- data/features/gists.feature +24 -6
- data/features/gists/comments.feature +11 -11
- data/features/git_data/commmits.feature +1 -1
- data/features/git_data/references.feature +7 -7
- data/features/github_api.feature +13 -13
- data/features/gitignore.feature +2 -2
- data/features/issues.feature +1 -1
- data/features/issues/assignees.feature +1 -1
- data/features/issues/comments.feature +12 -12
- data/features/issues/events.feature +4 -4
- data/features/issues/labels.feature +9 -9
- data/features/issues/milestones.feature +7 -7
- data/features/markdown.feature +10 -10
- data/features/media_type.feature +1 -1
- data/features/meta.feature +1 -1
- data/features/orgs.feature +1 -1
- data/features/orgs/members.feature +8 -8
- data/features/pagination.feature +34 -34
- data/features/pull_requests.feature +36 -1
- data/features/pull_requests/comments.feature +4 -4
- data/features/rate_limit.feature +7 -1
- data/features/repos.feature +20 -6
- data/features/repos/assets.feature +2 -2
- data/features/repos/comments.feature +14 -0
- data/features/repos/commits.feature +35 -0
- data/features/repos/contents.feature +11 -11
- data/features/repos/deployments.feature +50 -0
- data/features/repos/forks.feature +2 -2
- data/features/repos/pages.feature +1 -1
- data/features/repos/releases.feature +3 -3
- data/features/repos/statistics.feature +14 -14
- data/features/repos/statuses.feature +14 -1
- data/features/say.feature +43 -43
- data/features/search.feature +3 -3
- data/features/search/legacy.feature +1 -1
- data/features/step_definitions/common_steps.rb +12 -1
- data/features/support/vcr.rb +6 -1
- data/features/users.feature +1 -1
- data/features/users/emails.feature +4 -4
- data/features/users/followers.feature +63 -0
- data/features/users/keys.feature +22 -1
- data/lib/github_api.rb +30 -25
- data/lib/github_api/api.rb +227 -24
- data/lib/github_api/api/actions.rb +5 -7
- data/lib/github_api/api/arguments.rb +248 -0
- data/lib/github_api/api/config.rb +107 -0
- data/lib/github_api/api/config/property.rb +30 -0
- data/lib/github_api/api/config/property_set.rb +118 -0
- data/lib/github_api/api/factory.rb +33 -0
- data/lib/github_api/client.rb +40 -56
- data/lib/github_api/client/activity.rb +25 -0
- data/lib/github_api/client/activity/events.rb +216 -0
- data/lib/github_api/client/activity/notifications.rb +184 -0
- data/lib/github_api/client/activity/starring.rb +128 -0
- data/lib/github_api/client/activity/watching.rb +174 -0
- data/lib/github_api/client/authorizations.rb +143 -0
- data/lib/github_api/client/authorizations/app.rb +98 -0
- data/lib/github_api/client/emojis.rb +17 -0
- data/lib/github_api/client/gists.rb +259 -0
- data/lib/github_api/client/gists/comments.rb +100 -0
- data/lib/github_api/client/git_data.rb +29 -0
- data/lib/github_api/client/git_data/blobs.rb +50 -0
- data/lib/github_api/client/git_data/commits.rb +99 -0
- data/lib/github_api/client/git_data/references.rb +146 -0
- data/lib/github_api/client/git_data/tags.rb +94 -0
- data/lib/github_api/client/git_data/trees.rb +111 -0
- data/lib/github_api/client/gitignore.rb +55 -0
- data/lib/github_api/client/issues.rb +246 -0
- data/lib/github_api/client/issues/assignees.rb +42 -0
- data/lib/github_api/client/issues/comments.rb +144 -0
- data/lib/github_api/client/issues/events.rb +48 -0
- data/lib/github_api/client/issues/labels.rb +187 -0
- data/lib/github_api/client/issues/milestones.rb +144 -0
- data/lib/github_api/client/markdown.rb +60 -0
- data/lib/github_api/client/meta.rb +17 -0
- data/lib/github_api/client/orgs.rb +98 -0
- data/lib/github_api/client/orgs/members.rb +125 -0
- data/lib/github_api/client/orgs/teams.rb +291 -0
- data/lib/github_api/client/pull_requests.rb +205 -0
- data/lib/github_api/client/pull_requests/comments.rb +165 -0
- data/lib/github_api/client/repos.rb +451 -0
- data/lib/github_api/client/repos/collaborators.rb +83 -0
- data/lib/github_api/client/repos/comments.rb +124 -0
- data/lib/github_api/client/repos/commits.rb +78 -0
- data/lib/github_api/client/repos/contents.rb +240 -0
- data/lib/github_api/client/repos/deployments.rb +135 -0
- data/lib/github_api/client/repos/downloads.rb +60 -0
- data/lib/github_api/client/repos/forks.rb +46 -0
- data/lib/github_api/client/repos/hooks.rb +212 -0
- data/lib/github_api/client/repos/keys.rb +81 -0
- data/lib/github_api/client/repos/merging.rb +45 -0
- data/lib/github_api/client/repos/pages.rb +46 -0
- data/lib/github_api/client/repos/pub_sub_hubbub.rb +133 -0
- data/lib/github_api/client/repos/releases.rb +153 -0
- data/lib/github_api/client/repos/releases/assets.rb +134 -0
- data/lib/github_api/client/repos/statistics.rb +87 -0
- data/lib/github_api/client/repos/statuses.rb +89 -0
- data/lib/github_api/client/say.rb +23 -0
- data/lib/github_api/client/scopes.rb +18 -0
- data/lib/github_api/client/search.rb +130 -0
- data/lib/github_api/client/search/legacy.rb +109 -0
- data/lib/github_api/client/users.rb +115 -0
- data/lib/github_api/client/users/emails.rb +62 -0
- data/lib/github_api/client/users/followers.rb +113 -0
- data/lib/github_api/client/users/keys.rb +102 -0
- data/lib/github_api/configuration.rb +25 -95
- data/lib/github_api/connection.rb +13 -15
- data/lib/github_api/normalizer.rb +1 -3
- data/lib/github_api/rate_limit.rb +6 -0
- data/lib/github_api/request.rb +49 -37
- data/lib/github_api/request/basic_auth.rb +1 -1
- data/lib/github_api/request/jsonize.rb +7 -5
- data/lib/github_api/request/oauth2.rb +1 -1
- data/lib/github_api/request/verbs.rb +60 -0
- data/lib/github_api/version.rb +2 -2
- data/spec/fixtures/auths/check.json +36 -0
- data/spec/fixtures/repos/deployment.json +31 -0
- data/spec/fixtures/repos/deployment_status.json +33 -0
- data/spec/fixtures/repos/deployment_statuses.json +68 -0
- data/spec/fixtures/repos/deployments.json +33 -0
- data/spec/github/api/arguments/dsl_spec.rb +10 -0
- data/spec/github/api/arguments/parse_spec.rb +88 -0
- data/spec/github/api/callbacks_spec.rb +59 -0
- data/spec/github/api/namespace_spec.rb +41 -0
- data/spec/github/api/property_spec.rb +100 -0
- data/spec/github/api/set_spec.rb +2 -3
- data/spec/github/api_factory_spec.rb +4 -4
- data/spec/github/api_spec.rb +2 -3
- data/spec/github/client/activity/events/issue_spec.rb +51 -0
- data/spec/github/client/activity/events/network_spec.rb +49 -0
- data/spec/github/client/activity/events/org_spec.rb +50 -0
- data/spec/github/client/activity/events/performed_spec.rb +73 -0
- data/spec/github/client/activity/events/public_spec.rb +44 -0
- data/spec/github/client/activity/events/received_spec.rb +72 -0
- data/spec/github/client/activity/events/repository_spec.rb +53 -0
- data/spec/github/client/activity/events/user_org_spec.rb +53 -0
- data/spec/github/client/activity/notifications/create_spec.rb +44 -0
- data/spec/github/client/activity/notifications/delete_spec.rb +41 -0
- data/spec/github/client/activity/notifications/get_spec.rb +58 -0
- data/spec/github/client/activity/notifications/list_spec.rb +75 -0
- data/spec/github/client/activity/notifications/mark_spec.rb +74 -0
- data/spec/github/client/activity/notifications/subscribed_spec.rb +48 -0
- data/spec/github/client/activity/starring/list_spec.rb +53 -0
- data/spec/github/client/activity/starring/star_spec.rb +36 -0
- data/spec/github/client/activity/starring/starred_spec.rb +53 -0
- data/spec/github/client/activity/starring/starring_spec.rb +38 -0
- data/spec/github/client/activity/starring/unstar_spec.rb +37 -0
- data/spec/github/client/activity/watching/list_spec.rb +47 -0
- data/spec/github/client/activity/watching/unwatch_spec.rb +37 -0
- data/spec/github/client/activity/watching/watch_spec.rb +37 -0
- data/spec/github/client/activity/watching/watched_spec.rb +53 -0
- data/spec/github/client/activity/watching/watching_spec.rb +39 -0
- data/spec/github/client/authorizations/app/check_spec.rb +68 -0
- data/spec/github/client/authorizations/app/create_spec.rb +44 -0
- data/spec/github/client/authorizations/app/delete_spec.rb +59 -0
- data/spec/github/client/authorizations/create_spec.rb +49 -0
- data/spec/github/client/authorizations/delete_spec.rb +38 -0
- data/spec/github/client/authorizations/get_spec.rb +48 -0
- data/spec/github/client/authorizations/list_spec.rb +54 -0
- data/spec/github/client/authorizations/update_spec.rb +49 -0
- data/spec/github/client/gists/comments/create_spec.rb +51 -0
- data/spec/github/client/gists/comments/delete_spec.rb +32 -0
- data/spec/github/client/gists/comments/edit_spec.rb +52 -0
- data/spec/github/client/gists/comments/get_spec.rb +48 -0
- data/spec/github/client/gists/comments/list_spec.rb +51 -0
- data/spec/github/client/gists/comments_spec.rb +11 -0
- data/spec/github/client/gists/create_spec.rb +64 -0
- data/spec/github/client/gists/delete_spec.rb +31 -0
- data/spec/github/client/gists/edit_spec.rb +60 -0
- data/spec/github/client/gists/fork_spec.rb +41 -0
- data/spec/github/client/gists/get_spec.rb +47 -0
- data/spec/github/client/gists/is_starred_spec.rb +44 -0
- data/spec/github/client/gists/list_spec.rb +78 -0
- data/spec/github/client/gists/star_spec.rb +30 -0
- data/spec/github/client/gists/starred_spec.rb +44 -0
- data/spec/github/client/gists/unstar_spec.rb +30 -0
- data/spec/github/client/git_data/blobs/create_spec.rb +64 -0
- data/spec/github/client/git_data/blobs/get_spec.rb +49 -0
- data/spec/github/client/git_data/blobs_spec.rb +9 -0
- data/spec/github/client/git_data/commits/create_spec.rb +77 -0
- data/spec/github/client/git_data/commits/get_spec.rb +50 -0
- data/spec/github/client/git_data/commits_spec.rb +9 -0
- data/spec/github/client/git_data/references/create_spec.rb +67 -0
- data/spec/github/client/git_data/references/delete_spec.rb +39 -0
- data/spec/github/client/git_data/references/get_spec.rb +56 -0
- data/spec/github/client/git_data/references/list_spec.rb +111 -0
- data/spec/github/client/git_data/references/update_spec.rb +62 -0
- data/spec/github/client/git_data/references_spec.rb +11 -0
- data/spec/github/client/git_data/tags/create_spec.rb +63 -0
- data/spec/github/client/git_data/tags/get_spec.rb +48 -0
- data/spec/github/client/git_data/tags_spec.rb +9 -0
- data/spec/github/client/git_data/trees/create_spec.rb +68 -0
- data/spec/github/client/git_data/trees/get_spec.rb +69 -0
- data/spec/github/client/git_data/trees_spec.rb +9 -0
- data/spec/github/client/gitignore/get_spec.rb +53 -0
- data/spec/github/client/gitignore/list_spec.rb +41 -0
- data/spec/github/client/issues/assignees/check_spec.rb +46 -0
- data/spec/github/client/issues/assignees/list_spec.rb +47 -0
- data/spec/github/client/issues/assignees_spec.rb +5 -0
- data/spec/github/client/issues/comments/create_spec.rb +49 -0
- data/spec/github/client/issues/comments/delete_spec.rb +35 -0
- data/spec/github/client/issues/comments/edit_spec.rb +49 -0
- data/spec/github/client/issues/comments/get_spec.rb +48 -0
- data/spec/github/client/issues/comments/list_spec.rb +78 -0
- data/spec/github/client/issues/comments_spec.rb +9 -0
- data/spec/github/client/issues/create_spec.rb +60 -0
- data/spec/github/client/issues/edit_spec.rb +61 -0
- data/spec/github/client/issues/events/get_spec.rb +50 -0
- data/spec/github/client/issues/events/list_spec.rb +85 -0
- data/spec/github/client/issues/events_spec.rb +7 -0
- data/spec/github/client/issues/get_spec.rb +48 -0
- data/spec/github/client/issues/labels/add_spec.rb +50 -0
- data/spec/github/client/issues/labels/create_spec.rb +59 -0
- data/spec/github/client/issues/labels/delete_spec.rb +38 -0
- data/spec/github/client/issues/labels/get_spec.rb +47 -0
- data/spec/github/client/issues/labels/list_spec.rb +102 -0
- data/spec/github/client/issues/labels/remove_spec.rb +57 -0
- data/spec/github/client/issues/labels/replace_spec.rb +48 -0
- data/spec/github/client/issues/labels/update_spec.rb +60 -0
- data/spec/github/client/issues/labels_spec.rb +9 -0
- data/spec/github/client/issues/list_spec.rb +100 -0
- data/spec/github/client/issues/milestones/create_spec.rb +56 -0
- data/spec/github/client/issues/milestones/delete_spec.rb +41 -0
- data/spec/github/client/issues/milestones/get_spec.rb +51 -0
- data/spec/github/client/issues/milestones/list_spec.rb +52 -0
- data/spec/github/client/issues/milestones/update_spec.rb +56 -0
- data/spec/github/client/issues/milestones_spec.rb +11 -0
- data/spec/github/client/orgs/edit_spec.rb +53 -0
- data/spec/github/client/orgs/get_spec.rb +43 -0
- data/spec/github/client/orgs/list_spec.rb +62 -0
- data/spec/github/client/orgs/members/conceal_spec.rb +36 -0
- data/spec/github/client/orgs/members/delete_spec.rb +34 -0
- data/spec/github/client/orgs/members/list_spec.rb +82 -0
- data/spec/github/client/orgs/members/member_spec.rb +66 -0
- data/spec/github/client/orgs/members/publicize_spec.rb +36 -0
- data/spec/github/client/orgs/members_spec.rb +5 -0
- data/spec/github/client/orgs/teams/add_member_spec.rb +40 -0
- data/spec/github/client/orgs/teams/add_repo_spec.rb +39 -0
- data/spec/github/client/orgs/teams/create_spec.rb +58 -0
- data/spec/github/client/orgs/teams/delete_spec.rb +35 -0
- data/spec/github/client/orgs/teams/edit_spec.rb +57 -0
- data/spec/github/client/orgs/teams/get_spec.rb +44 -0
- data/spec/github/client/orgs/teams/list_members_spec.rb +49 -0
- data/spec/github/client/orgs/teams/list_repos_spec.rb +49 -0
- data/spec/github/client/orgs/teams/list_spec.rb +72 -0
- data/spec/github/client/orgs/teams/remove_member_spec.rb +39 -0
- data/spec/github/client/orgs/teams/remove_repo_spec.rb +39 -0
- data/spec/github/client/orgs/teams/team_member_spec.rb +41 -0
- data/spec/github/client/orgs/teams/team_repo_spec.rb +42 -0
- data/spec/github/client/orgs/teams_spec.rb +7 -0
- data/spec/github/client/pull_requests/comments/create_spec.rb +58 -0
- data/spec/github/client/pull_requests/comments/delete_spec.rb +35 -0
- data/spec/github/client/pull_requests/comments/edit_spec.rb +50 -0
- data/spec/github/client/pull_requests/comments/get_spec.rb +51 -0
- data/spec/github/client/pull_requests/comments/list_spec.rb +76 -0
- data/spec/github/client/pull_requests/comments_spec.rb +11 -0
- data/spec/github/client/pull_requests/commits_spec.rb +50 -0
- data/spec/github/client/pull_requests/create_spec.rb +55 -0
- data/spec/github/client/pull_requests/files_spec.rb +50 -0
- data/spec/github/client/pull_requests/get_spec.rb +48 -0
- data/spec/github/client/pull_requests/list_spec.rb +53 -0
- data/spec/github/client/pull_requests/merge_spec.rb +44 -0
- data/spec/github/client/pull_requests/merged_spec.rb +38 -0
- data/spec/github/client/pull_requests/update_spec.rb +55 -0
- data/spec/github/client/repos/assets/delete_spec.rb +39 -0
- data/spec/github/client/repos/assets/edit_spec.rb +40 -0
- data/spec/github/client/repos/assets/get_spec.rb +44 -0
- data/spec/github/client/repos/assets/list_spec.rb +54 -0
- data/spec/github/client/repos/assets/upload_spec.rb +43 -0
- data/spec/github/client/repos/branch_spec.rb +41 -0
- data/spec/github/client/repos/branches_spec.rb +53 -0
- data/spec/github/client/repos/collaborators/add_spec.rb +38 -0
- data/spec/github/client/repos/collaborators/get_spec.rb +49 -0
- data/spec/github/client/repos/collaborators/list_spec.rb +54 -0
- data/spec/github/client/repos/collaborators/remove_spec.rb +38 -0
- data/spec/github/client/repos/collaborators_spec.rb +7 -0
- data/spec/github/client/repos/comments/create_spec.rb +59 -0
- data/spec/github/client/repos/comments/delete_spec.rb +42 -0
- data/spec/github/client/repos/comments/get_spec.rb +51 -0
- data/spec/github/client/repos/comments/list_spec.rb +94 -0
- data/spec/github/client/repos/comments/update_spec.rb +47 -0
- data/spec/github/client/repos/commits/compare_spec.rb +36 -0
- data/spec/github/client/repos/commits/get_spec.rb +49 -0
- data/spec/github/client/repos/commits/list_spec.rb +51 -0
- data/spec/github/client/repos/contents/archive_spec.rb +38 -0
- data/spec/github/client/repos/contents/create_spec.rb +41 -0
- data/spec/github/client/repos/contents/delete_spec.rb +55 -0
- data/spec/github/client/repos/contents/get_spec.rb +35 -0
- data/spec/github/client/repos/contents/readme_spec.rb +30 -0
- data/spec/github/client/repos/contributors_spec.rb +58 -0
- data/spec/github/client/repos/create_spec.rb +77 -0
- data/spec/github/client/repos/delete_spec.rb +37 -0
- data/spec/github/client/repos/deployments/create_spec.rb +54 -0
- data/spec/github/client/repos/deployments/create_status_spec.rb +54 -0
- data/spec/github/client/repos/deployments/list_spec.rb +51 -0
- data/spec/github/client/repos/deployments/statuses_spec.rb +49 -0
- data/spec/github/client/repos/downloads/delete_spec.rb +44 -0
- data/spec/github/client/repos/downloads/get_spec.rb +52 -0
- data/spec/github/client/repos/downloads/list_spec.rb +54 -0
- data/spec/github/client/repos/downloads_spec.rb +13 -0
- data/spec/github/client/repos/edit_spec.rb +59 -0
- data/spec/github/client/repos/forks/create_spec.rb +44 -0
- data/spec/github/client/repos/forks/list_spec.rb +53 -0
- data/spec/github/client/repos/get_spec.rb +50 -0
- data/spec/github/client/repos/hooks/create_spec.rb +67 -0
- data/spec/github/client/repos/hooks/delete_spec.rb +39 -0
- data/spec/github/client/repos/hooks/edit_spec.rb +76 -0
- data/spec/github/client/repos/hooks/get_spec.rb +48 -0
- data/spec/github/client/repos/hooks/list_spec.rb +53 -0
- data/spec/github/client/repos/hooks/ping_spec.rb +39 -0
- data/spec/github/client/repos/hooks/test_spec.rb +39 -0
- data/spec/github/client/repos/hooks_spec.rb +13 -0
- data/spec/github/client/repos/keys/create_spec.rb +49 -0
- data/spec/github/client/repos/keys/delete_spec.rb +39 -0
- data/spec/github/client/repos/keys/get_spec.rb +44 -0
- data/spec/github/client/repos/keys/list_spec.rb +53 -0
- data/spec/github/client/repos/keys_spec.rb +9 -0
- data/spec/github/client/repos/languages_spec.rb +61 -0
- data/spec/github/client/repos/list_spec.rb +120 -0
- data/spec/github/client/repos/merging/merge_spec.rb +59 -0
- data/spec/github/client/repos/pub_sub_hubbub/subscribe_service_spec.rb +26 -0
- data/spec/github/client/repos/pub_sub_hubbub/subscribe_spec.rb +46 -0
- data/spec/github/client/repos/pub_sub_hubbub/unsubscribe_service_spec.rb +20 -0
- data/spec/github/client/repos/pub_sub_hubbub/unsubscribe_spec.rb +58 -0
- data/spec/github/client/repos/releases/create_spec.rb +43 -0
- data/spec/github/client/repos/releases/delete_spec.rb +39 -0
- data/spec/github/client/repos/releases/edit_spec.rb +39 -0
- data/spec/github/client/repos/releases/get_spec.rb +44 -0
- data/spec/github/client/repos/releases/list_spec.rb +53 -0
- data/spec/github/client/repos/statistics/code_frequency_spec.rb +25 -0
- data/spec/github/client/repos/statistics/commit_activity_spec.rb +29 -0
- data/spec/github/client/repos/statistics/contributors_spec.rb +29 -0
- data/spec/github/client/repos/statistics/participation_spec.rb +25 -0
- data/spec/github/client/repos/statistics/punch_card_spec.rb +25 -0
- data/spec/github/client/repos/statuses/create_spec.rb +56 -0
- data/spec/github/client/repos/statuses/list_spec.rb +53 -0
- data/spec/github/client/repos/statuses_spec.rb +11 -0
- data/spec/github/client/repos/tags_spec.rb +59 -0
- data/spec/github/client/repos/teams_spec.rb +59 -0
- data/spec/github/client/scopes/list_spec.rb +33 -0
- data/spec/github/client/search/code_spec.rb +38 -0
- data/spec/github/client/search/issues_spec.rb +38 -0
- data/spec/github/client/search/legacy/email_spec.rb +34 -0
- data/spec/github/client/search/legacy/issues_spec.rb +39 -0
- data/spec/github/client/search/legacy/repos_spec.rb +36 -0
- data/spec/github/client/search/legacy/users_spec.rb +36 -0
- data/spec/github/client/search/repos_spec.rb +38 -0
- data/spec/github/client/search/users_spec.rb +38 -0
- data/spec/github/client/users/emails/add_spec.rb +33 -0
- data/spec/github/client/users/emails/delete_spec.rb +33 -0
- data/spec/github/client/users/emails/list_spec.rb +52 -0
- data/spec/github/client/users/followers/follow_spec.rb +33 -0
- data/spec/github/client/users/followers/following_spec.rb +65 -0
- data/spec/github/client/users/followers/is_following_spec.rb +41 -0
- data/spec/github/client/users/followers/list_spec.rb +62 -0
- data/spec/github/client/users/followers/unfollow_spec.rb +33 -0
- data/spec/github/client/users/get_spec.rb +61 -0
- data/spec/github/client/users/keys/create_spec.rb +51 -0
- data/spec/github/client/users/keys/delete_spec.rb +37 -0
- data/spec/github/client/users/keys/get_spec.rb +50 -0
- data/spec/github/client/users/keys/list_spec.rb +77 -0
- data/spec/github/client/users/keys/update_spec.rb +56 -0
- data/spec/github/client/users/list_spec.rb +45 -0
- data/spec/github/client/users/update_spec.rb +56 -0
- data/spec/github/client_spec.rb +14 -38
- data/spec/github/configuration_spec.rb +22 -27
- data/spec/github/paged_request_spec.rb +1 -1
- data/spec/github/pagination/iterator/number_spec.rb +1 -1
- data/spec/github/pagination/iterator/sha_spec.rb +1 -1
- data/spec/github/request/jsonize_spec.rb +7 -8
- data/spec/github/request/request_spec.rb +3 -1
- data/spec/github/request_spec.rb +11 -5
- data/spec/github/validations/format_spec.rb +1 -1
- data/spec/github_spec.rb +1 -4
- data/spec/integration/activity_spec.rb +5 -5
- data/spec/integration/arguments_spec.rb +11 -17
- data/spec/integration/authorizations_spec.rb +1 -1
- data/spec/integration/gists_spec.rb +2 -2
- data/spec/integration/git_data_spec.rb +6 -6
- data/spec/integration/issues_spec.rb +6 -6
- data/spec/integration/options_spec.rb +7 -6
- data/spec/integration/orgs_spec.rb +6 -4
- data/spec/integration/pull_requests_spec.rb +2 -2
- data/spec/integration/repos_spec.rb +14 -14
- data/spec/integration/search_spec.rb +2 -2
- data/spec/integration/users_spec.rb +4 -4
- data/spec/spec_helper.rb +11 -12
- metadata +544 -602
- data/features/cassettes/activity/events/issue.yml +0 -192
- data/features/cassettes/activity/events/network.yml +0 -134
- data/features/cassettes/activity/events/org.yml +0 -325
- data/features/cassettes/activity/events/performed.yml +0 -362
- data/features/cassettes/activity/events/public.yml +0 -284
- data/features/cassettes/activity/events/received.yml +0 -422
- data/features/cassettes/activity/events/repo.yml +0 -134
- data/features/cassettes/activity/events/user_org.yml +0 -48
- data/features/cassettes/activity/notifications/list_user.yml +0 -54
- data/features/cassettes/activity/starring/list.yml +0 -98
- data/features/cassettes/activity/starring/star.yml +0 -48
- data/features/cassettes/activity/starring/starred.yml +0 -195
- data/features/cassettes/activity/starring/starring.yml +0 -56
- data/features/cassettes/activity/starring/unstar.yml +0 -46
- data/features/cassettes/activity/watching/list.yml +0 -76
- data/features/cassettes/activity/watching/unwatch.yml +0 -46
- data/features/cassettes/activity/watching/watch.yml +0 -48
- data/features/cassettes/activity/watching/watched.yml +0 -166
- data/features/cassettes/activity/watching/watching.yml +0 -56
- data/features/cassettes/arguments/orgs/get.yml +0 -69
- data/features/cassettes/arguments/pulls/get.yml +0 -112
- data/features/cassettes/arguments/repo_commits/get.yml +0 -89
- data/features/cassettes/auto_pagination/repos/get.yml +0 -86
- data/features/cassettes/auto_pagination/repos/global_list.yml +0 -1157
- data/features/cassettes/auto_pagination/repos/list.yml +0 -1235
- data/features/cassettes/emojis/list.yml +0 -258
- data/features/cassettes/errors/repos/create.yml +0 -88
- data/features/cassettes/gists/comments/all.yml +0 -161
- data/features/cassettes/gists/comments/first.yml +0 -86
- data/features/cassettes/gists/fork.yml +0 -78
- data/features/cassettes/gists/gist.yml +0 -105
- data/features/cassettes/gists/gists/public_all.yml +0 -253
- data/features/cassettes/gists/gists/starred.yml +0 -75
- data/features/cassettes/gists/gists/user_all.yml +0 -143
- data/features/cassettes/gists/star.yml +0 -71
- data/features/cassettes/gists/starred.yml +0 -75
- data/features/cassettes/gists/unstar.yml +0 -67
- data/features/cassettes/git_data/commits/get.yml +0 -69
- data/features/cassettes/git_data/references/all.yml +0 -410
- data/features/cassettes/git_data/references/all_tags.yml +0 -172
- data/features/cassettes/git_data/references/one.yml +0 -128
- data/features/cassettes/gitignore/get.yml +0 -60
- data/features/cassettes/gitignore/get_raw.yml +0 -224
- data/features/cassettes/gitignore/list.yml +0 -67
- data/features/cassettes/issues/assignees/ckeck.yml +0 -46
- data/features/cassettes/issues/assignees/ckeck_not.yml +0 -105
- data/features/cassettes/issues/assignees/list.yml +0 -64
- data/features/cassettes/issues/comments/create.yml +0 -55
- data/features/cassettes/issues/comments/delete.yml +0 -46
- data/features/cassettes/issues/comments/edit.yml +0 -53
- data/features/cassettes/issues/comments/get.yml +0 -71
- data/features/cassettes/issues/comments/list_issue.yml +0 -82
- data/features/cassettes/issues/comments/list_repo.yml +0 -266
- data/features/cassettes/issues/create.yml +0 -46
- data/features/cassettes/issues/edit.yml +0 -44
- data/features/cassettes/issues/events/get.yml +0 -139
- data/features/cassettes/issues/events/list_issue.yml +0 -71
- data/features/cassettes/issues/events/list_repo.yml +0 -222
- data/features/cassettes/issues/get.yml +0 -62
- data/features/cassettes/issues/labels/add.yml +0 -52
- data/features/cassettes/issues/labels/create.yml +0 -54
- data/features/cassettes/issues/labels/delete.yml +0 -46
- data/features/cassettes/issues/labels/get.yml +0 -63
- data/features/cassettes/issues/labels/list_issue.yml +0 -64
- data/features/cassettes/issues/labels/list_milestone.yml +0 -65
- data/features/cassettes/issues/labels/list_repo.yml +0 -65
- data/features/cassettes/issues/labels/remove_all.yml +0 -46
- data/features/cassettes/issues/labels/remove_one.yml +0 -46
- data/features/cassettes/issues/labels/replace.yml +0 -52
- data/features/cassettes/issues/labels/update.yml +0 -52
- data/features/cassettes/issues/list/repo.yml +0 -251
- data/features/cassettes/issues/list/user.yml +0 -44
- data/features/cassettes/issues/milestones/create.yml +0 -55
- data/features/cassettes/issues/milestones/delete.yml +0 -46
- data/features/cassettes/issues/milestones/get.yml +0 -175
- data/features/cassettes/issues/milestones/list.yml +0 -54
- data/features/cassettes/issues/milestones/update.yml +0 -53
- data/features/cassettes/markdown/render.yml +0 -46
- data/features/cassettes/markdown/render_raw.yml +0 -46
- data/features/cassettes/media/get_default.yml +0 -84
- data/features/cassettes/media/get_full_json.yml +0 -83
- data/features/cassettes/media/get_html_json.yml +0 -81
- data/features/cassettes/media/get_raw_json.yml +0 -80
- data/features/cassettes/media/get_text_json.yml +0 -80
- data/features/cassettes/meta/get.yml +0 -59
- data/features/cassettes/orgs/get.yml +0 -85
- data/features/cassettes/orgs/list/oauth_user.yml +0 -75
- data/features/cassettes/orgs/list/user.yml +0 -134
- data/features/cassettes/orgs/members/list.yml +0 -139
- data/features/cassettes/orgs/members/list_public.yml +0 -140
- data/features/cassettes/orgs/members/member_false.yml +0 -52
- data/features/cassettes/orgs/members/member_public_false.yml +0 -55
- data/features/cassettes/orgs/members/member_public_true.yml +0 -48
- data/features/cassettes/pagination/issues/list/first.yml +0 -432
- data/features/cassettes/pagination/issues/list/last.yml +0 -297
- data/features/cassettes/pagination/issues/list/next.yml +0 -377
- data/features/cassettes/pagination/issues/list/prev.yml +0 -386
- data/features/cassettes/pagination/repos/commits/list.yml +0 -224
- data/features/cassettes/pagination/repos/commits/next.yml +0 -225
- data/features/cassettes/pagination/repos/commits/sha.yml +0 -181
- data/features/cassettes/pagination/repos/commits/sha/next.yml +0 -205
- data/features/cassettes/pagination/repos/diff.yml +0 -174
- data/features/cassettes/pagination/repos/diff/next.yml +0 -147
- data/features/cassettes/pagination/repos/list.yml +0 -212
- data/features/cassettes/pagination/repos/list/next.yml +0 -184
- data/features/cassettes/pagination/repos/per_page/each_page.yml +0 -497
- data/features/cassettes/pagination/repos/per_page/first.yml +0 -173
- data/features/cassettes/pull_requests/comments/get.yml +0 -159
- data/features/cassettes/pull_requests/comments/list_pull.yml +0 -54
- data/features/cassettes/pull_requests/comments/list_repo.yml +0 -54
- data/features/cassettes/pull_requests/get.yml +0 -120
- data/features/cassettes/pull_requests/list.yml +0 -254
- data/features/cassettes/ratelimit/get.yml +0 -64
- data/features/cassettes/ratelimit/get_remaining.yml +0 -64
- data/features/cassettes/repos/assets/delete.yml +0 -52
- data/features/cassettes/repos/assets/edit.yml +0 -65
- data/features/cassettes/repos/assets/get.yml +0 -74
- data/features/cassettes/repos/assets/list.yml +0 -73
- data/features/cassettes/repos/assets/upload.yml +0 -66
- data/features/cassettes/repos/branch.yml +0 -61
- data/features/cassettes/repos/branches.yml +0 -83
- data/features/cassettes/repos/contents/archive.yml +0 -54
- data/features/cassettes/repos/contents/create.yml +0 -60
- data/features/cassettes/repos/contents/delete.yml +0 -59
- data/features/cassettes/repos/contents/get.yml +0 -226
- data/features/cassettes/repos/contents/readme.yml +0 -271
- data/features/cassettes/repos/contents/update.yml +0 -62
- data/features/cassettes/repos/create.yml +0 -46
- data/features/cassettes/repos/forks/list.yml +0 -314
- data/features/cassettes/repos/forks/list_sort.yml +0 -318
- data/features/cassettes/repos/get.yml +0 -89
- data/features/cassettes/repos/languages.yml +0 -75
- data/features/cassettes/repos/list.yml +0 -123
- data/features/cassettes/repos/list_org.yml +0 -167
- data/features/cassettes/repos/list_org_instance.yml +0 -300
- data/features/cassettes/repos/list_repos.yml +0 -801
- data/features/cassettes/repos/pages/get.yml +0 -71
- data/features/cassettes/repos/pages/list_builds.yml +0 -63
- data/features/cassettes/repos/pages/list_latest_builds.yml +0 -62
- data/features/cassettes/repos/releases/create.yml +0 -64
- data/features/cassettes/repos/releases/delete.yml +0 -52
- data/features/cassettes/repos/releases/edit.yml +0 -63
- data/features/cassettes/repos/releases/get.yml +0 -78
- data/features/cassettes/repos/releases/list.yml +0 -81
- data/features/cassettes/repos/stats/commits.yml +0 -80
- data/features/cassettes/repos/stats/contribs.yml +0 -221
- data/features/cassettes/repos/stats/frequency.yml +0 -54
- data/features/cassettes/repos/stats/participation.yml +0 -68
- data/features/cassettes/repos/stats/punch.yml +0 -76
- data/features/cassettes/repos/statuses/create.yml +0 -52
- data/features/cassettes/repos/statuses/list.yml +0 -64
- data/features/cassettes/repos/tags.yml +0 -102
- data/features/cassettes/repos/teams.yml +0 -48
- data/features/cassettes/say/custom.yml +0 -60
- data/features/cassettes/say/random.yml +0 -60
- data/features/cassettes/search/code.yml +0 -252
- data/features/cassettes/search/code_query.yml +0 -203
- data/features/cassettes/search/code_unicode.yml +0 -93
- data/features/cassettes/search/issues.yml +0 -626
- data/features/cassettes/search/legacy/email.yml +0 -72
- data/features/cassettes/search/legacy/issues.yml +0 -119
- data/features/cassettes/search/legacy/repos.yml +0 -394
- data/features/cassettes/search/legacy/users.yml +0 -72
- data/features/cassettes/search/legacy/users_keyword.yml +0 -63
- data/features/cassettes/search/repos.yml +0 -407
- data/features/cassettes/search/users.yml +0 -72
- data/features/cassettes/search/users_keyword.yml +0 -65
- data/features/cassettes/users/all.yml +0 -256
- data/features/cassettes/users/emails/add.yml +0 -75
- data/features/cassettes/users/emails/all.yml +0 -75
- data/features/cassettes/users/emails/delete.yml +0 -40
- data/lib/github_api/activity.rb +0 -33
- data/lib/github_api/activity/events.rb +0 -206
- data/lib/github_api/activity/notifications.rb +0 -157
- data/lib/github_api/activity/starring.rb +0 -94
- data/lib/github_api/activity/watching.rb +0 -92
- data/lib/github_api/api_factory.rb +0 -31
- data/lib/github_api/arguments.rb +0 -166
- data/lib/github_api/authorizations.rb +0 -140
- data/lib/github_api/authorizations/app.rb +0 -77
- data/lib/github_api/compatibility.rb +0 -23
- data/lib/github_api/emojis.rb +0 -20
- data/lib/github_api/gists.rb +0 -205
- data/lib/github_api/gists/comments.rb +0 -87
- data/lib/github_api/git_data.rb +0 -39
- data/lib/github_api/git_data/blobs.rb +0 -46
- data/lib/github_api/git_data/commits.rb +0 -83
- data/lib/github_api/git_data/references.rb +0 -133
- data/lib/github_api/git_data/tags.rb +0 -78
- data/lib/github_api/git_data/trees.rb +0 -92
- data/lib/github_api/gitignore.rb +0 -50
- data/lib/github_api/issues.rb +0 -238
- data/lib/github_api/issues/assignees.rb +0 -44
- data/lib/github_api/issues/comments.rb +0 -115
- data/lib/github_api/issues/events.rb +0 -47
- data/lib/github_api/issues/labels.rb +0 -167
- data/lib/github_api/issues/milestones.rb +0 -125
- data/lib/github_api/markdown.rb +0 -60
- data/lib/github_api/meta.rb +0 -19
- data/lib/github_api/orgs.rb +0 -94
- data/lib/github_api/orgs/members.rb +0 -108
- data/lib/github_api/orgs/teams.rb +0 -243
- data/lib/github_api/pull_requests.rb +0 -192
- data/lib/github_api/pull_requests/comments.rb +0 -144
- data/lib/github_api/repos.rb +0 -449
- data/lib/github_api/repos/collaborators.rb +0 -73
- data/lib/github_api/repos/comments.rb +0 -117
- data/lib/github_api/repos/commits.rb +0 -71
- data/lib/github_api/repos/contents.rb +0 -188
- data/lib/github_api/repos/deployments.rb +0 -8
- data/lib/github_api/repos/downloads.rb +0 -112
- data/lib/github_api/repos/forks.rb +0 -42
- data/lib/github_api/repos/hooks.rb +0 -154
- data/lib/github_api/repos/keys.rb +0 -96
- data/lib/github_api/repos/merging.rb +0 -42
- data/lib/github_api/repos/pages.rb +0 -49
- data/lib/github_api/repos/pub_sub_hubbub.rb +0 -117
- data/lib/github_api/repos/releases.rb +0 -144
- data/lib/github_api/repos/releases/assets.rb +0 -126
- data/lib/github_api/repos/statistics.rb +0 -94
- data/lib/github_api/repos/statuses.rb +0 -63
- data/lib/github_api/s3_uploader.rb +0 -57
- data/lib/github_api/say.rb +0 -23
- data/lib/github_api/scopes.rb +0 -20
- data/lib/github_api/search.rb +0 -125
- data/lib/github_api/search/legacy.rb +0 -94
- data/lib/github_api/users.rb +0 -112
- data/lib/github_api/users/emails.rb +0 -58
- data/lib/github_api/users/followers.rb +0 -99
- data/lib/github_api/users/keys.rb +0 -92
- data/spec/github/activity/events/issue_spec.rb +0 -51
- data/spec/github/activity/events/network_spec.rb +0 -49
- data/spec/github/activity/events/org_spec.rb +0 -50
- data/spec/github/activity/events/performed_spec.rb +0 -73
- data/spec/github/activity/events/public_spec.rb +0 -44
- data/spec/github/activity/events/received_spec.rb +0 -72
- data/spec/github/activity/events/repository_spec.rb +0 -53
- data/spec/github/activity/events/user_org_spec.rb +0 -53
- data/spec/github/activity/notifications/create_spec.rb +0 -44
- data/spec/github/activity/notifications/delete_spec.rb +0 -41
- data/spec/github/activity/notifications/get_spec.rb +0 -58
- data/spec/github/activity/notifications/list_spec.rb +0 -75
- data/spec/github/activity/notifications/mark_spec.rb +0 -74
- data/spec/github/activity/notifications/subscribed_spec.rb +0 -48
- data/spec/github/activity/starring/list_spec.rb +0 -53
- data/spec/github/activity/starring/star_spec.rb +0 -36
- data/spec/github/activity/starring/starred_spec.rb +0 -53
- data/spec/github/activity/starring/starring_spec.rb +0 -38
- data/spec/github/activity/starring/unstar_spec.rb +0 -37
- data/spec/github/activity/watching/list_spec.rb +0 -47
- data/spec/github/activity/watching/unwatch_spec.rb +0 -37
- data/spec/github/activity/watching/watch_spec.rb +0 -37
- data/spec/github/activity/watching/watched_spec.rb +0 -53
- data/spec/github/activity/watching/watching_spec.rb +0 -39
- data/spec/github/arguments/parse_spec.rb +0 -68
- data/spec/github/authorizations/app/create_spec.rb +0 -44
- data/spec/github/authorizations/app/delete_spec.rb +0 -59
- data/spec/github/authorizations/create_spec.rb +0 -49
- data/spec/github/authorizations/delete_spec.rb +0 -40
- data/spec/github/authorizations/get_spec.rb +0 -49
- data/spec/github/authorizations/list_spec.rb +0 -55
- data/spec/github/authorizations/update_spec.rb +0 -50
- data/spec/github/gists/comments/create_spec.rb +0 -51
- data/spec/github/gists/comments/delete_spec.rb +0 -32
- data/spec/github/gists/comments/edit_spec.rb +0 -52
- data/spec/github/gists/comments/get_spec.rb +0 -48
- data/spec/github/gists/comments/list_spec.rb +0 -51
- data/spec/github/gists/comments_spec.rb +0 -11
- data/spec/github/gists/create_spec.rb +0 -64
- data/spec/github/gists/delete_spec.rb +0 -31
- data/spec/github/gists/edit_spec.rb +0 -60
- data/spec/github/gists/fork_spec.rb +0 -41
- data/spec/github/gists/get_spec.rb +0 -47
- data/spec/github/gists/is_starred_spec.rb +0 -44
- data/spec/github/gists/list_spec.rb +0 -78
- data/spec/github/gists/star_spec.rb +0 -30
- data/spec/github/gists/starred_spec.rb +0 -44
- data/spec/github/gists/unstar_spec.rb +0 -30
- data/spec/github/git_data/blobs/create_spec.rb +0 -64
- data/spec/github/git_data/blobs/get_spec.rb +0 -49
- data/spec/github/git_data/blobs_spec.rb +0 -9
- data/spec/github/git_data/commits/create_spec.rb +0 -77
- data/spec/github/git_data/commits/get_spec.rb +0 -50
- data/spec/github/git_data/commits_spec.rb +0 -9
- data/spec/github/git_data/references/create_spec.rb +0 -67
- data/spec/github/git_data/references/delete_spec.rb +0 -40
- data/spec/github/git_data/references/get_spec.rb +0 -56
- data/spec/github/git_data/references/list_spec.rb +0 -111
- data/spec/github/git_data/references/update_spec.rb +0 -62
- data/spec/github/git_data/references_spec.rb +0 -11
- data/spec/github/git_data/tags/create_spec.rb +0 -63
- data/spec/github/git_data/tags/get_spec.rb +0 -48
- data/spec/github/git_data/tags_spec.rb +0 -9
- data/spec/github/git_data/trees/create_spec.rb +0 -68
- data/spec/github/git_data/trees/get_spec.rb +0 -69
- data/spec/github/git_data/trees_spec.rb +0 -9
- data/spec/github/gitignore/get_spec.rb +0 -54
- data/spec/github/gitignore/list_spec.rb +0 -42
- data/spec/github/issues/assignees/check_spec.rb +0 -46
- data/spec/github/issues/assignees/list_spec.rb +0 -47
- data/spec/github/issues/assignees_spec.rb +0 -5
- data/spec/github/issues/comments/create_spec.rb +0 -50
- data/spec/github/issues/comments/delete_spec.rb +0 -36
- data/spec/github/issues/comments/edit_spec.rb +0 -50
- data/spec/github/issues/comments/get_spec.rb +0 -49
- data/spec/github/issues/comments/list_spec.rb +0 -79
- data/spec/github/issues/comments_spec.rb +0 -9
- data/spec/github/issues/create_spec.rb +0 -60
- data/spec/github/issues/edit_spec.rb +0 -61
- data/spec/github/issues/events/get_spec.rb +0 -51
- data/spec/github/issues/events/list_spec.rb +0 -86
- data/spec/github/issues/events_spec.rb +0 -7
- data/spec/github/issues/get_spec.rb +0 -49
- data/spec/github/issues/labels/add_spec.rb +0 -50
- data/spec/github/issues/labels/create_spec.rb +0 -59
- data/spec/github/issues/labels/delete_spec.rb +0 -39
- data/spec/github/issues/labels/get_spec.rb +0 -47
- data/spec/github/issues/labels/list_spec.rb +0 -102
- data/spec/github/issues/labels/remove_spec.rb +0 -58
- data/spec/github/issues/labels/replace_spec.rb +0 -49
- data/spec/github/issues/labels/update_spec.rb +0 -61
- data/spec/github/issues/labels_spec.rb +0 -7
- data/spec/github/issues/list_spec.rb +0 -100
- data/spec/github/issues/milestones/create_spec.rb +0 -56
- data/spec/github/issues/milestones/delete_spec.rb +0 -42
- data/spec/github/issues/milestones/get_spec.rb +0 -51
- data/spec/github/issues/milestones/list_spec.rb +0 -52
- data/spec/github/issues/milestones/update_spec.rb +0 -57
- data/spec/github/issues/milestones_spec.rb +0 -11
- data/spec/github/orgs/edit_spec.rb +0 -54
- data/spec/github/orgs/get_spec.rb +0 -44
- data/spec/github/orgs/list_spec.rb +0 -63
- data/spec/github/orgs/members/conceal_spec.rb +0 -37
- data/spec/github/orgs/members/delete_spec.rb +0 -35
- data/spec/github/orgs/members/list_spec.rb +0 -82
- data/spec/github/orgs/members/member_spec.rb +0 -67
- data/spec/github/orgs/members/publicize_spec.rb +0 -37
- data/spec/github/orgs/members_spec.rb +0 -5
- data/spec/github/orgs/teams/add_member_spec.rb +0 -40
- data/spec/github/orgs/teams/add_repo_spec.rb +0 -39
- data/spec/github/orgs/teams/create_spec.rb +0 -58
- data/spec/github/orgs/teams/delete_spec.rb +0 -36
- data/spec/github/orgs/teams/edit_spec.rb +0 -57
- data/spec/github/orgs/teams/get_spec.rb +0 -45
- data/spec/github/orgs/teams/list_members_spec.rb +0 -49
- data/spec/github/orgs/teams/list_repos_spec.rb +0 -49
- data/spec/github/orgs/teams/list_spec.rb +0 -49
- data/spec/github/orgs/teams/remove_member_spec.rb +0 -40
- data/spec/github/orgs/teams/remove_repo_spec.rb +0 -40
- data/spec/github/orgs/teams/team_member_spec.rb +0 -42
- data/spec/github/orgs/teams/team_repo_spec.rb +0 -43
- data/spec/github/orgs/teams_spec.rb +0 -7
- data/spec/github/pull_requests/comments/create_spec.rb +0 -59
- data/spec/github/pull_requests/comments/delete_spec.rb +0 -35
- data/spec/github/pull_requests/comments/edit_spec.rb +0 -51
- data/spec/github/pull_requests/comments/get_spec.rb +0 -52
- data/spec/github/pull_requests/comments/list_spec.rb +0 -76
- data/spec/github/pull_requests/comments_spec.rb +0 -11
- data/spec/github/pull_requests/commits_spec.rb +0 -51
- data/spec/github/pull_requests/create_spec.rb +0 -56
- data/spec/github/pull_requests/files_spec.rb +0 -51
- data/spec/github/pull_requests/get_spec.rb +0 -49
- data/spec/github/pull_requests/list_spec.rb +0 -54
- data/spec/github/pull_requests/merge_spec.rb +0 -44
- data/spec/github/pull_requests/merged_spec.rb +0 -39
- data/spec/github/pull_requests/update_spec.rb +0 -55
- data/spec/github/repos/assets/delete_spec.rb +0 -40
- data/spec/github/repos/assets/edit_spec.rb +0 -40
- data/spec/github/repos/assets/get_spec.rb +0 -45
- data/spec/github/repos/assets/list_spec.rb +0 -55
- data/spec/github/repos/assets/upload_spec.rb +0 -44
- data/spec/github/repos/branch_spec.rb +0 -42
- data/spec/github/repos/branches_spec.rb +0 -54
- data/spec/github/repos/collaborators/add_spec.rb +0 -39
- data/spec/github/repos/collaborators/get_spec.rb +0 -49
- data/spec/github/repos/collaborators/list_spec.rb +0 -55
- data/spec/github/repos/collaborators/remove_spec.rb +0 -39
- data/spec/github/repos/collaborators_spec.rb +0 -7
- data/spec/github/repos/comments/create_spec.rb +0 -59
- data/spec/github/repos/comments/delete_spec.rb +0 -43
- data/spec/github/repos/comments/get_spec.rb +0 -52
- data/spec/github/repos/comments/list_spec.rb +0 -96
- data/spec/github/repos/comments/update_spec.rb +0 -48
- data/spec/github/repos/commits/compare_spec.rb +0 -37
- data/spec/github/repos/commits/get_spec.rb +0 -50
- data/spec/github/repos/commits/list_spec.rb +0 -52
- data/spec/github/repos/contents/archive_spec.rb +0 -38
- data/spec/github/repos/contents/create_spec.rb +0 -41
- data/spec/github/repos/contents/delete_spec.rb +0 -55
- data/spec/github/repos/contents/get_spec.rb +0 -35
- data/spec/github/repos/contents/readme_spec.rb +0 -30
- data/spec/github/repos/contributors_spec.rb +0 -59
- data/spec/github/repos/create_spec.rb +0 -77
- data/spec/github/repos/delete_spec.rb +0 -38
- data/spec/github/repos/downloads/create_spec.rb +0 -64
- data/spec/github/repos/downloads/delete_spec.rb +0 -45
- data/spec/github/repos/downloads/get_spec.rb +0 -53
- data/spec/github/repos/downloads/list_spec.rb +0 -55
- data/spec/github/repos/downloads/upload_spec.rb +0 -32
- data/spec/github/repos/downloads_spec.rb +0 -13
- data/spec/github/repos/edit_spec.rb +0 -60
- data/spec/github/repos/forks/create_spec.rb +0 -45
- data/spec/github/repos/forks/list_spec.rb +0 -54
- data/spec/github/repos/get_spec.rb +0 -51
- data/spec/github/repos/hooks/create_spec.rb +0 -68
- data/spec/github/repos/hooks/delete_spec.rb +0 -40
- data/spec/github/repos/hooks/edit_spec.rb +0 -77
- data/spec/github/repos/hooks/get_spec.rb +0 -49
- data/spec/github/repos/hooks/list_spec.rb +0 -54
- data/spec/github/repos/hooks/test_spec.rb +0 -40
- data/spec/github/repos/hooks_spec.rb +0 -13
- data/spec/github/repos/keys/create_spec.rb +0 -50
- data/spec/github/repos/keys/delete_spec.rb +0 -40
- data/spec/github/repos/keys/edit_spec.rb +0 -42
- data/spec/github/repos/keys/get_spec.rb +0 -45
- data/spec/github/repos/keys/list_spec.rb +0 -54
- data/spec/github/repos/keys_spec.rb +0 -9
- data/spec/github/repos/languages_spec.rb +0 -61
- data/spec/github/repos/list_spec.rb +0 -120
- data/spec/github/repos/merging/merge_spec.rb +0 -58
- data/spec/github/repos/pub_sub_hubbub/subscribe_service_spec.rb +0 -27
- data/spec/github/repos/pub_sub_hubbub/subscribe_spec.rb +0 -47
- data/spec/github/repos/pub_sub_hubbub/unsubscribe_service_spec.rb +0 -21
- data/spec/github/repos/pub_sub_hubbub/unsubscribe_spec.rb +0 -58
- data/spec/github/repos/releases/create_spec.rb +0 -44
- data/spec/github/repos/releases/delete_spec.rb +0 -40
- data/spec/github/repos/releases/edit_spec.rb +0 -40
- data/spec/github/repos/releases/get_spec.rb +0 -45
- data/spec/github/repos/releases/list_spec.rb +0 -54
- data/spec/github/repos/statistics/code_frequency_spec.rb +0 -25
- data/spec/github/repos/statistics/commit_activity_spec.rb +0 -29
- data/spec/github/repos/statistics/contributors_spec.rb +0 -29
- data/spec/github/repos/statistics/participation_spec.rb +0 -25
- data/spec/github/repos/statistics/punch_card_spec.rb +0 -25
- data/spec/github/repos/statuses/create_spec.rb +0 -56
- data/spec/github/repos/statuses/list_spec.rb +0 -53
- data/spec/github/repos/statuses_spec.rb +0 -11
- data/spec/github/repos/tags_spec.rb +0 -59
- data/spec/github/repos/teams_spec.rb +0 -59
- data/spec/github/s3_uploader_spec.rb +0 -51
- data/spec/github/scopes/list_spec.rb +0 -33
- data/spec/github/search/code_spec.rb +0 -38
- data/spec/github/search/issues_spec.rb +0 -38
- data/spec/github/search/legacy/email_spec.rb +0 -34
- data/spec/github/search/legacy/issues_spec.rb +0 -39
- data/spec/github/search/legacy/repos_spec.rb +0 -36
- data/spec/github/search/legacy/users_spec.rb +0 -36
- data/spec/github/search/repos_spec.rb +0 -38
- data/spec/github/search/users_spec.rb +0 -38
- data/spec/github/users/emails/add_spec.rb +0 -33
- data/spec/github/users/emails/delete_spec.rb +0 -33
- data/spec/github/users/emails/list_spec.rb +0 -52
- data/spec/github/users/followers/follow_spec.rb +0 -33
- data/spec/github/users/followers/following_spec.rb +0 -65
- data/spec/github/users/followers/is_following_spec.rb +0 -41
- data/spec/github/users/followers/list_spec.rb +0 -62
- data/spec/github/users/followers/unfollow_spec.rb +0 -33
- data/spec/github/users/get_spec.rb +0 -61
- data/spec/github/users/keys/create_spec.rb +0 -51
- data/spec/github/users/keys/delete_spec.rb +0 -37
- data/spec/github/users/keys/get_spec.rb +0 -50
- data/spec/github/users/keys/list_spec.rb +0 -78
- data/spec/github/users/keys/update_spec.rb +0 -56
- data/spec/github/users/list_spec.rb +0 -45
- data/spec/github/users/update_spec.rb +0 -56
data/features/users/keys.feature
CHANGED
@@ -5,7 +5,7 @@ Feature: Accessing Users Keys API
|
|
5
5
|
Should return the expected results depending on passed parameters
|
6
6
|
|
7
7
|
Background:
|
8
|
-
Given I have "Github::Users::Keys" instance
|
8
|
+
Given I have "Github::Client::Users::Keys" instance
|
9
9
|
|
10
10
|
Scenario: Lists all public keys for a user
|
11
11
|
|
@@ -25,3 +25,24 @@ Feature: Accessing Users Keys API
|
|
25
25
|
Then the response status should be 200
|
26
26
|
And the response type should be JSON
|
27
27
|
And the response should be empty
|
28
|
+
|
29
|
+
Scenario: Create
|
30
|
+
|
31
|
+
Given I want to create resource with the following params:
|
32
|
+
| user | repo |
|
33
|
+
| murek | github_api_test |
|
34
|
+
And I pass the following request options:
|
35
|
+
| title | key |
|
36
|
+
| Found a bug | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7ZihX0HkqN1m/m7Ae7xHJwewg8Nimpmsy6lgt32IphOh0JDx1ssiWTXUWP77Lj3VR6Y2oNbMguaf2sn+n4oTcojbJXuqj8zd16NqYOu7kJlCUIKpTgX+IvmO6XMZddd1Lq8LLIQMZRG7j3/6agDDWR6retmT4JOSCmbBEomoVP0NHPlL6XK5WlF05+6ssxbL9s8uD5q1QvlkjVuFSjWSdYM+IBgNFtw8kJwoKL+eadL4So/xTk+yBUAMUTPO+02mQ2VJ5R06mgSny3omalS3cym4KR4uwENABhk0drxG78rvpMNfjcvT9llRJ+FI8lVgQOI0729z+1ApiWgzEQsK3 |
|
37
|
+
When I make request within a cassette named "users/keys/create"
|
38
|
+
Then the response status should be 201
|
39
|
+
And the response type should be JSON
|
40
|
+
And the response should not be empty
|
41
|
+
|
42
|
+
Scenario: Delete
|
43
|
+
Given I want to delete resource with the following params:
|
44
|
+
| id |
|
45
|
+
| 8715940 |
|
46
|
+
When I make request within a cassette named "users/keys/delete"
|
47
|
+
Then the response status should be 204
|
48
|
+
And the response should be empty
|
data/lib/github_api.rb
CHANGED
@@ -10,32 +10,48 @@ require 'github_api/core_ext/ordered_hash'
|
|
10
10
|
require 'github_api/ext/faraday'
|
11
11
|
|
12
12
|
module Github
|
13
|
-
extend Configuration
|
14
|
-
|
15
13
|
LIBNAME = 'github_api'
|
16
14
|
|
17
15
|
LIBDIR = File.expand_path("../#{LIBNAME}", __FILE__)
|
18
16
|
|
19
17
|
class << self
|
18
|
+
def included(base)
|
19
|
+
base.extend ClassMethods
|
20
|
+
end
|
20
21
|
|
21
22
|
# Alias for Github::Client.new
|
22
23
|
#
|
24
|
+
# @param [Hash] options
|
25
|
+
# the configuration options
|
26
|
+
#
|
23
27
|
# @return [Github::Client]
|
28
|
+
#
|
29
|
+
# @api public
|
24
30
|
def new(options = {}, &block)
|
25
31
|
Github::Client.new(options, &block)
|
26
32
|
end
|
27
33
|
|
28
34
|
# Delegate to Github::Client
|
29
35
|
#
|
30
|
-
|
31
|
-
|
32
|
-
new.
|
36
|
+
# @api private
|
37
|
+
def method_missing(method_name, *args, &block)
|
38
|
+
if new.respond_to?(method_name)
|
39
|
+
new.send(method_name, *args, &block)
|
40
|
+
elsif configuration.respond_to?(method_name)
|
41
|
+
Github.configuration.send(method_name, *args, &block)
|
42
|
+
else
|
43
|
+
super
|
44
|
+
end
|
33
45
|
end
|
34
46
|
|
35
|
-
def respond_to?(
|
36
|
-
new.respond_to?(
|
47
|
+
def respond_to?(method_name, include_private = false)
|
48
|
+
new.respond_to?(method_name, include_private) ||
|
49
|
+
configuration.respond_to?(method_name) ||
|
50
|
+
super(method_name, include_private)
|
37
51
|
end
|
52
|
+
end
|
38
53
|
|
54
|
+
module ClassMethods
|
39
55
|
# Requires internal github_api libraries
|
40
56
|
#
|
41
57
|
# @param [String] prefix
|
@@ -49,39 +65,28 @@ module Github
|
|
49
65
|
require "#{File.join(prefix, lib)}"
|
50
66
|
end
|
51
67
|
end
|
68
|
+
|
69
|
+
# Main client global configuration
|
70
|
+
def configuration
|
71
|
+
@configuration ||= Github::Configuration.new
|
72
|
+
end
|
52
73
|
end
|
53
74
|
|
75
|
+
extend ClassMethods
|
76
|
+
|
54
77
|
require_all LIBDIR,
|
55
78
|
'authorization',
|
56
79
|
'validations',
|
57
80
|
'normalizer',
|
58
81
|
'parameter_filter',
|
59
82
|
'api',
|
60
|
-
'arguments',
|
61
|
-
'activity',
|
62
|
-
'api_factory',
|
63
83
|
'client',
|
64
|
-
'repos',
|
65
84
|
'pagination',
|
66
85
|
'request',
|
67
86
|
'response',
|
68
87
|
'response_wrapper',
|
69
88
|
'error',
|
70
|
-
'issues',
|
71
|
-
'gists',
|
72
|
-
'git_data',
|
73
|
-
'gitignore',
|
74
|
-
'orgs',
|
75
|
-
'pull_requests',
|
76
|
-
'users',
|
77
|
-
'emojis',
|
78
|
-
'search',
|
79
|
-
'say',
|
80
|
-
'scopes',
|
81
|
-
'markdown',
|
82
|
-
'meta',
|
83
89
|
'mime_type',
|
84
|
-
'authorizations',
|
85
90
|
'page_links',
|
86
91
|
'paged_request',
|
87
92
|
'page_iterator',
|
data/lib/github_api/api.rb
CHANGED
@@ -1,28 +1,29 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
3
|
require 'github_api/configuration'
|
4
|
-
require 'github_api/connection'
|
5
|
-
require 'github_api/request'
|
6
4
|
require 'github_api/mime_type'
|
7
5
|
require 'github_api/rate_limit'
|
8
6
|
require 'github_api/core_ext/hash'
|
9
7
|
require 'github_api/core_ext/array'
|
10
|
-
require 'github_api/compatibility'
|
11
|
-
require 'github_api/api/actions'
|
12
|
-
require 'github_api/api_factory'
|
13
8
|
require 'github_api/null_encoder'
|
14
9
|
|
10
|
+
require 'github_api/request/verbs'
|
11
|
+
|
12
|
+
require 'github_api/api/actions'
|
13
|
+
require 'github_api/api/factory'
|
14
|
+
require 'github_api/api/arguments'
|
15
|
+
|
15
16
|
module Github
|
16
|
-
# Core class for api interface operations
|
17
|
+
# Core class responsible for api interface operations
|
17
18
|
class API
|
19
|
+
extend Github::ClassMethods
|
18
20
|
include Constants
|
19
21
|
include Authorization
|
20
22
|
include MimeType
|
21
|
-
include
|
22
|
-
include Request
|
23
|
+
include Request::Verbs
|
23
24
|
include RateLimit
|
24
25
|
|
25
|
-
attr_reader *
|
26
|
+
attr_reader *Github.configuration.property_names
|
26
27
|
|
27
28
|
attr_accessor *Validations::VALID_API_KEYS
|
28
29
|
|
@@ -30,7 +31,7 @@ module Github
|
|
30
31
|
|
31
32
|
# Callback to update current configuration options
|
32
33
|
class_eval do
|
33
|
-
|
34
|
+
Github.configuration.property_names.each do |key|
|
34
35
|
define_method "#{key}=" do |arg|
|
35
36
|
self.instance_variable_set("@#{key}", arg)
|
36
37
|
self.current_options.merge!({:"#{key}" => arg})
|
@@ -40,6 +41,7 @@ module Github
|
|
40
41
|
|
41
42
|
# Create new API
|
42
43
|
#
|
44
|
+
# @api public
|
43
45
|
def initialize(options={}, &block)
|
44
46
|
setup(options)
|
45
47
|
yield_or_eval(&block) if block_given?
|
@@ -52,10 +54,11 @@ module Github
|
|
52
54
|
|
53
55
|
# Configure options and process basic authorization
|
54
56
|
#
|
57
|
+
# @api private
|
55
58
|
def setup(options={})
|
56
|
-
options = Github.
|
59
|
+
options = Github.configuration.fetch.merge(options)
|
57
60
|
self.current_options = options
|
58
|
-
|
61
|
+
Github.configuration.property_names.each do |key|
|
59
62
|
send("#{key}=", options[key])
|
60
63
|
end
|
61
64
|
process_basic_auth(options[:basic_auth])
|
@@ -73,13 +76,165 @@ module Github
|
|
73
76
|
end
|
74
77
|
end
|
75
78
|
|
79
|
+
# List of before callbacks
|
80
|
+
#
|
81
|
+
# @api public
|
82
|
+
def self.before_callbacks
|
83
|
+
@before_callbacks ||= []
|
84
|
+
end
|
85
|
+
|
86
|
+
# List of after callbacks
|
87
|
+
#
|
88
|
+
# @api public
|
89
|
+
def self.after_callbacks
|
90
|
+
@after_callbacks ||= []
|
91
|
+
end
|
92
|
+
|
93
|
+
# Before request filter
|
94
|
+
#
|
95
|
+
# @api public
|
96
|
+
def self.before_request(callback, params = {})
|
97
|
+
before_callbacks << params.merge(callback: callback)
|
98
|
+
end
|
99
|
+
|
100
|
+
# After request filter
|
101
|
+
#
|
102
|
+
# @api public
|
103
|
+
def self.after_request(callback, params = {})
|
104
|
+
after_callbacks << params.merge(callback: callback)
|
105
|
+
end
|
106
|
+
|
107
|
+
class << self
|
108
|
+
attr_reader :root
|
109
|
+
alias_method :root?, :root
|
110
|
+
end
|
111
|
+
|
112
|
+
def self.root!
|
113
|
+
@root = true
|
114
|
+
end
|
115
|
+
|
116
|
+
def self.inherited(child_class)
|
117
|
+
before_callbacks.reverse_each { |callback|
|
118
|
+
child_class.before_callbacks.unshift(callback)
|
119
|
+
}
|
120
|
+
after_callbacks.reverse_each { |callback|
|
121
|
+
child_class.after_callbacks.unshift(callback)
|
122
|
+
}
|
123
|
+
extend_with_actions(child_class)
|
124
|
+
unless child_class.instance_variable_defined?(:@root)
|
125
|
+
child_class.instance_variable_set(:@root, false)
|
126
|
+
end
|
127
|
+
super
|
128
|
+
end
|
129
|
+
|
130
|
+
root!
|
131
|
+
|
132
|
+
def self.internal_methods
|
133
|
+
api = self
|
134
|
+
api = api.superclass until api.root?
|
135
|
+
api.public_instance_methods(true)
|
136
|
+
end
|
137
|
+
|
138
|
+
def self.extra_methods
|
139
|
+
['actions']
|
140
|
+
end
|
141
|
+
|
142
|
+
# Find all the api methods that should be considred by
|
143
|
+
# request callbacks.
|
144
|
+
#
|
145
|
+
# @return [Set]
|
146
|
+
#
|
147
|
+
# @api private
|
148
|
+
def self.request_methods
|
149
|
+
@request_methods ||= begin
|
150
|
+
methods = (public_instance_methods(true) -
|
151
|
+
internal_methods +
|
152
|
+
public_instance_methods(false)).uniq.map(&:to_s)
|
153
|
+
Set.new(methods - extra_methods)
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
def self.clear_request_methods!
|
158
|
+
@request_methods = nil
|
159
|
+
end
|
160
|
+
|
161
|
+
def self.method_added(method_name)
|
162
|
+
method_name = method_name.to_s.gsub(/_with(out)?_callback_.*$/, '')
|
163
|
+
# Only subclasses matter
|
164
|
+
return if self.root?
|
165
|
+
return if extra_methods.include?(method_name)
|
166
|
+
# Only public methods are of interest
|
167
|
+
return unless request_methods.include?(method_name)
|
168
|
+
# Do not redefine
|
169
|
+
return if (@__methods_added ||= []).include?(method_name)
|
170
|
+
|
171
|
+
class_name = self.name.to_s.split('::').last.downcase
|
172
|
+
with_method = "#{method_name}_with_callback_#{class_name}"
|
173
|
+
without_method = "#{method_name}_without_callback_#{class_name}"
|
174
|
+
|
175
|
+
return if public_method_defined?(with_method)
|
176
|
+
|
177
|
+
[method_name, with_method, without_method].each do |met|
|
178
|
+
@__methods_added << met
|
179
|
+
end
|
180
|
+
return if public_method_defined?(with_method)
|
181
|
+
|
182
|
+
define_method(with_method) do |*args, &block|
|
183
|
+
send(:execute, without_method, *args, &block)
|
184
|
+
end
|
185
|
+
alias_method without_method, method_name
|
186
|
+
alias_method method_name, with_method
|
187
|
+
clear_request_methods!
|
188
|
+
end
|
189
|
+
|
190
|
+
# Filter callbacks based on kind
|
191
|
+
#
|
192
|
+
# @param [Symbol] kind
|
193
|
+
# one of :before or :after
|
194
|
+
#
|
195
|
+
# @return [Array[Hash]]
|
196
|
+
#
|
197
|
+
# @api private
|
198
|
+
def filter_callbacks(kind, action_name)
|
199
|
+
matched_callbacks = self.class.send("#{kind}_callbacks").select do |callback|
|
200
|
+
callback[:only].nil? || callback[:only].include?(action_name)
|
201
|
+
end
|
202
|
+
end
|
203
|
+
|
204
|
+
# Run all callbacks associated with this action
|
205
|
+
#
|
206
|
+
# @apram [Symbol] action_name
|
207
|
+
#
|
208
|
+
# @api private
|
209
|
+
def run_callbacks(action_name, &block)
|
210
|
+
filter_callbacks(:before, action_name).each { |hook| send hook[:callback] }
|
211
|
+
yield if block_given?
|
212
|
+
filter_callbacks(:after, action_name).each { |hook| send hook[:callback] }
|
213
|
+
end
|
214
|
+
|
215
|
+
# Execute action
|
216
|
+
#
|
217
|
+
# @param [Symbol] action
|
218
|
+
#
|
219
|
+
# @api private
|
220
|
+
def execute(action, *args, &block)
|
221
|
+
action_name = action.to_s.gsub(/_with(out)?_callback_.*$/, '')
|
222
|
+
result = nil
|
223
|
+
run_callbacks(action_name) do
|
224
|
+
result = send(action, *args, &block)
|
225
|
+
end
|
226
|
+
result
|
227
|
+
end
|
228
|
+
|
76
229
|
# Responds to attribute query or attribute clear
|
77
|
-
|
78
|
-
|
230
|
+
#
|
231
|
+
# @api private
|
232
|
+
def method_missing(method_name, *args, &block) # :nodoc:
|
233
|
+
case method_name.to_s
|
79
234
|
when /^(.*)\?$/
|
80
|
-
return !!
|
235
|
+
return !!send($1.to_s)
|
81
236
|
when /^clear_(.*)$/
|
82
|
-
|
237
|
+
send("#{$1.to_s}=", nil)
|
83
238
|
else
|
84
239
|
super
|
85
240
|
end
|
@@ -93,7 +248,7 @@ module Github
|
|
93
248
|
if not_set
|
94
249
|
@arguments
|
95
250
|
else
|
96
|
-
@arguments = Arguments.new(self
|
251
|
+
@arguments = Arguments.new(options.merge!(api: self)).parse(*args, &block)
|
97
252
|
end
|
98
253
|
end
|
99
254
|
|
@@ -111,7 +266,15 @@ module Github
|
|
111
266
|
end
|
112
267
|
end
|
113
268
|
|
114
|
-
# Set
|
269
|
+
# Set a configuration option for a given namespace
|
270
|
+
#
|
271
|
+
# @param [String] option
|
272
|
+
# @param [Object] value
|
273
|
+
# @param [Boolean] ignore_setter
|
274
|
+
#
|
275
|
+
# @return [self]
|
276
|
+
#
|
277
|
+
# @api public
|
115
278
|
def set(option, value=(not_set=true), ignore_setter=false, &block)
|
116
279
|
raise ArgumentError, 'value not set' if block and !not_set
|
117
280
|
return self if !not_set and value.nil?
|
@@ -129,10 +292,52 @@ module Github
|
|
129
292
|
self
|
130
293
|
end
|
131
294
|
|
295
|
+
# Defines a namespace
|
296
|
+
#
|
297
|
+
# @param [Array[Symbol]] names
|
298
|
+
# the name for the scope
|
299
|
+
#
|
300
|
+
# @return [self]
|
301
|
+
#
|
302
|
+
# @api public
|
303
|
+
def self.namespace(*names)
|
304
|
+
options = names.last.is_a?(Hash) ? names.pop : {}
|
305
|
+
names = names.map(&:to_sym)
|
306
|
+
name = names.pop
|
307
|
+
return if public_method_defined?(name)
|
308
|
+
|
309
|
+
class_name = extract_class_name(name, options)
|
310
|
+
define_method(name) do |*args, &block|
|
311
|
+
options = args.last.is_a?(Hash) ? args.pop : {}
|
312
|
+
API::Factory.new(class_name, current_options.merge(options), &block)
|
313
|
+
end
|
314
|
+
self
|
315
|
+
end
|
316
|
+
|
317
|
+
# Extracts class name from options
|
318
|
+
#
|
319
|
+
# @param [Hash] options
|
320
|
+
# @option options [String] :full_name
|
321
|
+
# the full name for the class
|
322
|
+
# @option options [Boolean] :root
|
323
|
+
# if the class is at the root or not
|
324
|
+
#
|
325
|
+
# @return [String]
|
326
|
+
#
|
327
|
+
# @api private
|
328
|
+
def self.extract_class_name(name, options)
|
329
|
+
converted = options.fetch(:full_name, name).to_s
|
330
|
+
converted = converted.split('_').map(&:capitalize).join
|
331
|
+
class_name = options.fetch(:root, false) ? '': "#{self.name}::"
|
332
|
+
class_name += converted
|
333
|
+
class_name
|
334
|
+
end
|
335
|
+
|
132
336
|
private
|
133
337
|
|
134
338
|
# Set multiple options
|
135
339
|
#
|
340
|
+
# @api private
|
136
341
|
def set_options(options)
|
137
342
|
unless options.respond_to?(:each)
|
138
343
|
raise ArgumentError, 'cannot iterate over value'
|
@@ -140,6 +345,9 @@ module Github
|
|
140
345
|
options.each { |key, value| set(key, value) }
|
141
346
|
end
|
142
347
|
|
348
|
+
# Define setters and getters
|
349
|
+
#
|
350
|
+
# @api private
|
143
351
|
def define_accessors(option, value)
|
144
352
|
setter = proc { |val| set option, val, true }
|
145
353
|
getter = proc { value }
|
@@ -150,6 +358,7 @@ module Github
|
|
150
358
|
|
151
359
|
# Dynamically define a method for setting request option
|
152
360
|
#
|
361
|
+
# @api private
|
153
362
|
def define_singleton_method(method_name, content=Proc.new)
|
154
363
|
(class << self; self; end).class_eval do
|
155
364
|
undef_method(method_name) if method_defined?(method_name)
|
@@ -160,11 +369,5 @@ module Github
|
|
160
369
|
end
|
161
370
|
end
|
162
371
|
end
|
163
|
-
|
164
|
-
def _merge_mime_type(resource, params) # :nodoc:
|
165
|
-
# params['resource'] = resource
|
166
|
-
# params['mime_type'] = params['mime_type'] || :raw
|
167
|
-
end
|
168
|
-
|
169
372
|
end # API
|
170
373
|
end # Github
|