octokit 4.6.2 → 6.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. checksums.yaml +5 -5
  2. data/CONTRIBUTING.md +14 -13
  3. data/LICENSE.md +1 -1
  4. data/README.md +239 -118
  5. data/Rakefile +12 -12
  6. data/lib/ext/sawyer/relation.rb +4 -2
  7. data/lib/octokit/arguments.rb +2 -2
  8. data/lib/octokit/authentication.rb +20 -14
  9. data/lib/octokit/client/actions_artifacts.rb +71 -0
  10. data/lib/octokit/client/actions_secrets.rb +59 -0
  11. data/lib/octokit/client/actions_workflow_jobs.rb +65 -0
  12. data/lib/octokit/client/actions_workflow_runs.rb +125 -0
  13. data/lib/octokit/client/actions_workflows.rb +68 -0
  14. data/lib/octokit/client/apps.rb +222 -0
  15. data/lib/octokit/client/checks.rb +200 -0
  16. data/lib/octokit/client/commit_branches.rb +20 -0
  17. data/lib/octokit/client/commit_comments.rb +8 -8
  18. data/lib/octokit/client/commit_pulls.rb +20 -0
  19. data/lib/octokit/client/commits.rb +31 -34
  20. data/lib/octokit/client/community_profile.rb +21 -0
  21. data/lib/octokit/client/contents.rb +25 -20
  22. data/lib/octokit/client/deployments.rb +25 -5
  23. data/lib/octokit/client/downloads.rb +5 -6
  24. data/lib/octokit/client/emojis.rb +3 -3
  25. data/lib/octokit/client/environments.rb +55 -0
  26. data/lib/octokit/client/events.rb +4 -4
  27. data/lib/octokit/client/feeds.rb +4 -5
  28. data/lib/octokit/client/gists.rb +7 -6
  29. data/lib/octokit/client/gitignore.rb +3 -3
  30. data/lib/octokit/client/hooks.rb +9 -19
  31. data/lib/octokit/client/issues.rb +60 -14
  32. data/lib/octokit/client/labels.rb +17 -17
  33. data/lib/octokit/client/legacy_search.rb +3 -3
  34. data/lib/octokit/client/licenses.rb +4 -7
  35. data/lib/octokit/client/markdown.rb +3 -3
  36. data/lib/octokit/client/marketplace.rb +56 -0
  37. data/lib/octokit/client/meta.rb +4 -5
  38. data/lib/octokit/client/milestones.rb +5 -5
  39. data/lib/octokit/client/notifications.rb +6 -10
  40. data/lib/octokit/client/oauth_applications.rb +116 -0
  41. data/lib/octokit/client/objects.rb +14 -14
  42. data/lib/octokit/client/organizations.rb +238 -61
  43. data/lib/octokit/client/pages.rb +5 -7
  44. data/lib/octokit/client/projects.rb +50 -70
  45. data/lib/octokit/client/pub_sub_hubbub.rb +16 -16
  46. data/lib/octokit/client/pull_requests.rb +58 -46
  47. data/lib/octokit/client/rate_limit.rb +11 -13
  48. data/lib/octokit/client/reactions.rb +6 -11
  49. data/lib/octokit/client/refs.rb +32 -19
  50. data/lib/octokit/client/releases.rb +14 -13
  51. data/lib/octokit/client/repositories.rb +195 -54
  52. data/lib/octokit/client/repository_invitations.rb +4 -11
  53. data/lib/octokit/client/reviews.rb +227 -0
  54. data/lib/octokit/client/say.rb +4 -5
  55. data/lib/octokit/client/search.rb +46 -17
  56. data/lib/octokit/client/service_status.rb +19 -9
  57. data/lib/octokit/client/source_import.rb +8 -13
  58. data/lib/octokit/client/stats.rb +12 -9
  59. data/lib/octokit/client/statuses.rb +6 -6
  60. data/lib/octokit/client/tokens.rb +31 -0
  61. data/lib/octokit/client/traffic.rb +6 -11
  62. data/lib/octokit/client/users.rb +106 -25
  63. data/lib/octokit/client.rb +66 -17
  64. data/lib/octokit/configurable.rb +42 -30
  65. data/lib/octokit/connection.rb +43 -21
  66. data/lib/octokit/default.rb +63 -34
  67. data/lib/octokit/enterprise_admin_client/admin_stats.rb +14 -15
  68. data/lib/octokit/enterprise_admin_client/license.rb +4 -5
  69. data/lib/octokit/enterprise_admin_client/orgs.rb +5 -6
  70. data/lib/octokit/enterprise_admin_client/search_indexing.rb +8 -9
  71. data/lib/octokit/enterprise_admin_client/users.rb +17 -16
  72. data/lib/octokit/enterprise_admin_client.rb +9 -3
  73. data/lib/octokit/enterprise_management_console_client/management_console.rb +33 -33
  74. data/lib/octokit/enterprise_management_console_client.rb +9 -3
  75. data/lib/octokit/error.rb +107 -26
  76. data/lib/octokit/gist.rb +4 -5
  77. data/lib/octokit/middleware/follow_redirects.rb +17 -13
  78. data/lib/octokit/organization.rb +3 -1
  79. data/lib/octokit/rate_limit.rb +11 -9
  80. data/lib/octokit/repo_arguments.rb +2 -3
  81. data/lib/octokit/repository.rb +27 -25
  82. data/lib/octokit/response/base_middleware.rb +10 -0
  83. data/lib/octokit/response/feed_parser.rb +5 -9
  84. data/lib/octokit/response/raise_error.rb +4 -6
  85. data/lib/octokit/user.rb +4 -2
  86. data/lib/octokit/version.rb +5 -3
  87. data/lib/octokit/warnable.rb +4 -5
  88. data/lib/octokit.rb +15 -8
  89. data/octokit.gemspec +13 -10
  90. metadata +55 -22
  91. data/lib/octokit/client/authorizations.rb +0 -244
  92. data/lib/octokit/preview.rb +0 -35
@@ -0,0 +1,116 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Octokit
4
+ class Client
5
+ # Methods for the OauthApplications API
6
+ #
7
+ # @see https://developer.github.com/v3/apps/oauth_applications
8
+ module OauthApplications
9
+ # Check if a token is valid.
10
+ #
11
+ # Applications can check if a token is valid without rate limits.
12
+ #
13
+ # @param access_token [String] 40 character GitHub OAuth access token
14
+ #
15
+ # @return [Sawyer::Resource] A single authorization for the authenticated user
16
+ # @see https://developer.github.com/v3/apps/oauth_applications/#check-a-token
17
+ #
18
+ # @example
19
+ # client = Octokit::Client.new(:client_id => 'abcdefg12345', :client_secret => 'secret')
20
+ # client.check_token('deadbeef1234567890deadbeef987654321')
21
+ def check_token(access_token, options = {})
22
+ options[:access_token] = access_token
23
+
24
+ key = options.delete(:client_id) || client_id
25
+ secret = options.delete(:client_secret) || client_secret
26
+
27
+ as_app(key, secret) do |app_client|
28
+ app_client.post "applications/#{client_id}/token", options
29
+ end
30
+ end
31
+ alias check_application_authorization check_token
32
+
33
+ # Reset a token
34
+ #
35
+ # Applications can reset a token without requiring a user to re-authorize.
36
+ #
37
+ # @param access_token [String] 40 character GitHub OAuth access token
38
+ #
39
+ # @return [Sawyer::Resource] A single authorization for the authenticated user
40
+ # @see https://developer.github.com/v3/apps/oauth_applications/#reset-a-token
41
+ #
42
+ # @example
43
+ # client = Octokit::Client.new(:client_id => 'abcdefg12345', :client_secret => 'secret')
44
+ # client.reset_token('deadbeef1234567890deadbeef987654321')
45
+ def reset_token(access_token, options = {})
46
+ options[:access_token] = access_token
47
+
48
+ key = options.delete(:client_id) || client_id
49
+ secret = options.delete(:client_secret) || client_secret
50
+
51
+ as_app(key, secret) do |app_client|
52
+ app_client.patch "applications/#{client_id}/token", options
53
+ end
54
+ end
55
+ alias reset_application_authorization reset_token
56
+
57
+ # Delete an app token
58
+ #
59
+ # Applications can revoke (delete) a token
60
+ #
61
+ # @param access_token [String] 40 character GitHub OAuth access token
62
+ #
63
+ # @return [Boolean] Result
64
+ # @see https://developer.github.com/v3/apps/oauth_applications/#delete-an-app-token
65
+ #
66
+ # @example
67
+ # client = Octokit::Client.new(:client_id => 'abcdefg12345', :client_secret => 'secret')
68
+ # client.delete_token('deadbeef1234567890deadbeef987654321')
69
+ def delete_app_token(access_token, options = {})
70
+ options[:access_token] = access_token
71
+
72
+ key = options.delete(:client_id) || client_id
73
+ secret = options.delete(:client_secret) || client_secret
74
+
75
+ begin
76
+ as_app(key, secret) do |app_client|
77
+ app_client.delete "applications/#{client_id}/token", options
78
+ app_client.last_response.status == 204
79
+ end
80
+ rescue Octokit::NotFound
81
+ false
82
+ end
83
+ end
84
+ alias delete_application_authorization delete_app_token
85
+ alias revoke_application_authorization delete_app_token
86
+
87
+ # Delete an app authorization
88
+ #
89
+ # OAuth application owners can revoke a grant for their OAuth application and a specific user.
90
+ #
91
+ # @param access_token [String] 40 character GitHub OAuth access token
92
+ #
93
+ # @return [Boolean] Result
94
+ # @see https://developer.github.com/v3/apps/oauth_applications/#delete-an-app-token
95
+ #
96
+ # @example
97
+ # client = Octokit::Client.new(:client_id => 'abcdefg12345', :client_secret => 'secret')
98
+ # client.delete_app_authorization('deadbeef1234567890deadbeef987654321')
99
+ def delete_app_authorization(access_token, options = {})
100
+ options[:access_token] = access_token
101
+
102
+ key = options.delete(:client_id) || client_id
103
+ secret = options.delete(:client_secret) || client_secret
104
+
105
+ begin
106
+ as_app(key, secret) do |app_client|
107
+ app_client.delete "applications/#{client_id}/grant", options
108
+ app_client.last_response.status == 204
109
+ end
110
+ rescue Octokit::NotFound
111
+ false
112
+ end
113
+ end
114
+ end
115
+ end
116
+ end
@@ -1,11 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Octokit
2
4
  class Client
3
-
4
5
  # Methods for the Git Data API
5
6
  #
6
7
  # @see https://developer.github.com/v3/git/
7
8
  module Objects
8
-
9
9
  # Get a single tree, fetching information about its root-level objects
10
10
  #
11
11
  # Pass <tt>:recursive => true</tt> in <tt>options</tt> to fetch information about all of the tree's objects, including those in subdirectories.
@@ -38,7 +38,7 @@ module Octokit
38
38
  # tree.sha # => "cd8274d15fa3ae2ab983129fb037999f264ba9a7"
39
39
  # tree.tree.first.path # => "file.rb"
40
40
  def create_tree(repo, tree, options = {})
41
- parameters = { :tree => tree }
41
+ parameters = { tree: tree }
42
42
  post "#{Repository.path repo}/git/trees", options.merge(parameters)
43
43
  end
44
44
 
@@ -74,10 +74,10 @@ module Octokit
74
74
  # @example Create a blob containing <tt>foo bar baz</tt>, encoded using base64
75
75
  # require "base64"
76
76
  # Octokit.create_blob("octocat/Hello-World", Base64.encode64("foo bar baz"), "base64")
77
- def create_blob(repo, content, encoding="utf-8", options = {})
77
+ def create_blob(repo, content, encoding = 'utf-8', options = {})
78
78
  parameters = {
79
- :content => content,
80
- :encoding => encoding
79
+ content: content,
80
+ encoding: encoding
81
81
  }
82
82
  blob = post "#{Repository.path repo}/git/blobs", options.merge(parameters)
83
83
 
@@ -124,14 +124,14 @@ module Octokit
124
124
  # )
125
125
  def create_tag(repo, tag, message, object_sha, type, tagger_name, tagger_email, tagger_date, options = {})
126
126
  options.merge!(
127
- :tag => tag,
128
- :message => message,
129
- :object => object_sha,
130
- :type => type,
131
- :tagger => {
132
- :name => tagger_name,
133
- :email => tagger_email,
134
- :date => tagger_date
127
+ tag: tag,
128
+ message: message,
129
+ object: object_sha,
130
+ type: type,
131
+ tagger: {
132
+ name: tagger_name,
133
+ email: tagger_email,
134
+ date: tagger_date
135
135
  }
136
136
  )
137
137
  post "#{Repository.path repo}/git/tags", options