github_api 0.15.0 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/CHANGELOG.md +770 -0
- data/README.md +25 -8
- data/lib/github_api.rb +37 -76
- data/lib/github_api/api.rb +46 -19
- data/lib/github_api/api/arguments.rb +6 -1
- data/lib/github_api/api/config.rb +3 -5
- data/lib/github_api/api/config/property_set.rb +1 -0
- data/lib/github_api/authorization.rb +2 -0
- data/lib/github_api/client.rb +5 -0
- data/lib/github_api/client/activity.rb +2 -0
- data/lib/github_api/client/activity/events.rb +2 -0
- data/lib/github_api/client/activity/feeds.rb +2 -0
- data/lib/github_api/client/activity/notifications.rb +2 -0
- data/lib/github_api/client/activity/starring.rb +3 -1
- data/lib/github_api/client/activity/watching.rb +3 -1
- data/lib/github_api/client/authorizations.rb +2 -0
- data/lib/github_api/client/authorizations/app.rb +3 -1
- data/lib/github_api/client/emojis.rb +2 -0
- data/lib/github_api/client/gists.rb +4 -2
- data/lib/github_api/client/gists/comments.rb +3 -1
- data/lib/github_api/client/git_data.rb +2 -0
- data/lib/github_api/client/git_data/blobs.rb +2 -1
- data/lib/github_api/client/git_data/commits.rb +2 -0
- data/lib/github_api/client/git_data/references.rb +6 -2
- data/lib/github_api/client/git_data/tags.rb +2 -0
- data/lib/github_api/client/git_data/trees.rb +2 -0
- data/lib/github_api/client/gitignore.rb +2 -0
- data/lib/github_api/client/issues.rb +2 -0
- data/lib/github_api/client/issues/assignees.rb +35 -0
- data/lib/github_api/client/issues/comments.rb +2 -0
- data/lib/github_api/client/issues/events.rb +2 -0
- data/lib/github_api/client/issues/labels.rb +2 -0
- data/lib/github_api/client/issues/milestones.rb +2 -0
- data/lib/github_api/client/markdown.rb +4 -2
- data/lib/github_api/client/meta.rb +2 -0
- data/lib/github_api/client/orgs.rb +6 -0
- data/lib/github_api/client/orgs/hooks.rb +2 -0
- data/lib/github_api/client/orgs/members.rb +2 -0
- data/lib/github_api/client/orgs/memberships.rb +2 -0
- data/lib/github_api/client/orgs/projects.rb +57 -0
- data/lib/github_api/client/orgs/teams.rb +5 -3
- data/lib/github_api/client/projects.rb +83 -0
- data/lib/github_api/client/projects/cards.rb +158 -0
- data/lib/github_api/client/projects/columns.rb +146 -0
- data/lib/github_api/client/pull_requests.rb +2 -0
- data/lib/github_api/client/pull_requests/comments.rb +2 -0
- data/lib/github_api/client/pull_requests/reviews.rb +2 -0
- data/lib/github_api/client/repos.rb +27 -15
- data/lib/github_api/client/repos/branches.rb +48 -0
- data/lib/github_api/client/repos/branches/protections.rb +75 -0
- data/lib/github_api/client/repos/collaborators.rb +2 -1
- data/lib/github_api/client/repos/comments.rb +2 -1
- data/lib/github_api/client/repos/commits.rb +2 -0
- data/lib/github_api/client/repos/contents.rb +26 -4
- data/lib/github_api/client/repos/deployments.rb +3 -1
- data/lib/github_api/client/repos/downloads.rb +2 -0
- data/lib/github_api/client/repos/forks.rb +6 -2
- data/lib/github_api/client/repos/hooks.rb +2 -0
- data/lib/github_api/client/repos/invitations.rb +41 -0
- data/lib/github_api/client/repos/keys.rb +2 -0
- data/lib/github_api/client/repos/merging.rb +2 -0
- data/lib/github_api/client/repos/pages.rb +2 -0
- data/lib/github_api/client/repos/projects.rb +62 -0
- data/lib/github_api/client/repos/pub_sub_hubbub.rb +6 -6
- data/lib/github_api/client/repos/releases.rb +2 -0
- data/lib/github_api/client/repos/releases/assets.rb +3 -1
- data/lib/github_api/client/repos/releases/tags.rb +2 -0
- data/lib/github_api/client/repos/statistics.rb +2 -0
- data/lib/github_api/client/repos/statuses.rb +2 -0
- data/lib/github_api/client/say.rb +2 -0
- data/lib/github_api/client/scopes.rb +2 -0
- data/lib/github_api/client/search.rb +3 -0
- data/lib/github_api/client/search/legacy.rb +2 -0
- data/lib/github_api/client/users.rb +2 -0
- data/lib/github_api/client/users/emails.rb +3 -0
- data/lib/github_api/client/users/followers.rb +3 -1
- data/lib/github_api/client/users/keys.rb +2 -0
- data/lib/github_api/configuration.rb +4 -1
- data/lib/github_api/connection.rb +5 -1
- data/lib/github_api/error.rb +1 -4
- data/lib/github_api/error/client_error.rb +4 -2
- data/lib/github_api/error/service_error.rb +9 -2
- data/lib/github_api/ext/faraday.rb +3 -1
- data/lib/github_api/mash.rb +7 -0
- data/lib/github_api/middleware.rb +8 -6
- data/lib/github_api/normalizer.rb +3 -5
- data/lib/github_api/page_iterator.rb +4 -1
- data/lib/github_api/page_links.rb +4 -0
- data/lib/github_api/paged_request.rb +2 -0
- data/lib/github_api/pagination.rb +10 -7
- data/lib/github_api/parameter_filter.rb +4 -1
- data/lib/github_api/params_hash.rb +4 -4
- data/lib/github_api/request.rb +8 -9
- data/lib/github_api/request/basic_auth.rb +1 -1
- data/lib/github_api/request/jsonize.rb +0 -1
- data/lib/github_api/request/oauth2.rb +2 -0
- data/lib/github_api/request/verbs.rb +3 -0
- data/lib/github_api/response/follow_redirects.rb +140 -0
- data/lib/github_api/response/header.rb +6 -1
- data/lib/github_api/response/mashify.rb +2 -3
- data/lib/github_api/response/raise_error.rb +2 -1
- data/lib/github_api/response_wrapper.rb +5 -0
- data/lib/github_api/utils/url.rb +2 -0
- data/lib/github_api/validations.rb +5 -8
- data/lib/github_api/validations/format.rb +2 -0
- data/lib/github_api/validations/presence.rb +3 -1
- data/lib/github_api/validations/required.rb +2 -0
- data/lib/github_api/version.rb +2 -2
- metadata +100 -36
- data/lib/github_api/core_ext/ordered_hash.rb +0 -107
- data/lib/github_api/requestable.rb +0 -67
- data/lib/github_api/resource.rb +0 -13
data/lib/github_api/request.rb
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
require_relative 'connection'
|
|
4
|
+
require_relative 'response_wrapper'
|
|
5
|
+
require_relative 'request/oauth2'
|
|
6
|
+
require_relative 'request/basic_auth'
|
|
7
|
+
require_relative 'request/jsonize'
|
|
8
8
|
|
|
9
9
|
module Github
|
|
10
10
|
# A class responsible for dispatching http requests
|
|
@@ -43,8 +43,7 @@ module Github
|
|
|
43
43
|
|
|
44
44
|
# Performs a request
|
|
45
45
|
#
|
|
46
|
-
# @param [
|
|
47
|
-
# @param [String] path - String relative URL to access
|
|
46
|
+
# @param current_options [Hash]
|
|
48
47
|
# @param [ParamsHash] params - ParamsHash to configure the request API
|
|
49
48
|
#
|
|
50
49
|
# @return [Github::ResponseWrapper]
|
|
@@ -52,10 +51,10 @@ module Github
|
|
|
52
51
|
# @api private
|
|
53
52
|
def call(current_options, params)
|
|
54
53
|
unless HTTP_METHODS.include?(action)
|
|
55
|
-
raise ArgumentError, "unknown http method: #{
|
|
54
|
+
raise ArgumentError, "unknown http method: #{action}"
|
|
56
55
|
end
|
|
57
56
|
|
|
58
|
-
puts "EXECUTED: #{action} - #{path} with PARAMS: #{params}" if ENV['DEBUG']
|
|
57
|
+
puts "EXECUTED: #{action} - #{path} with PARAMS: #{params.request_params}" if ENV['DEBUG']
|
|
59
58
|
|
|
60
59
|
request_options = params.options
|
|
61
60
|
connection_options = current_options.merge(request_options)
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
require 'faraday'
|
|
2
|
+
require 'set'
|
|
3
|
+
|
|
4
|
+
# First saw on octokit, then copied from lostisland/faraday_middleware
|
|
5
|
+
# and adapted for this library.
|
|
6
|
+
#
|
|
7
|
+
# faraday_middleware/lib/faraday_middleware/response/follow_redirects.rb
|
|
8
|
+
|
|
9
|
+
module Github
|
|
10
|
+
# Public: Exception thrown when the maximum amount of requests is exceeded.
|
|
11
|
+
class RedirectLimitReached < Faraday::ClientError
|
|
12
|
+
attr_reader :response
|
|
13
|
+
|
|
14
|
+
def initialize(response)
|
|
15
|
+
super "too many redirects; last one to: #{response['location']}"
|
|
16
|
+
@response = response
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# Public: Follow HTTP 301, 302, 303, 307, and 308 redirects.
|
|
21
|
+
#
|
|
22
|
+
# For HTTP 301, 302, and 303, the original GET, POST, PUT, DELETE, or PATCH
|
|
23
|
+
# request gets converted into a GET. With `:standards_compliant => true`,
|
|
24
|
+
# however, the HTTP method after 301/302 remains unchanged. This allows you
|
|
25
|
+
# to opt into HTTP/1.1 compliance and act unlike the major web browsers.
|
|
26
|
+
#
|
|
27
|
+
# This middleware currently only works with synchronous requests; i.e. it
|
|
28
|
+
# doesn't support parallelism.
|
|
29
|
+
#
|
|
30
|
+
# If you wish to persist cookies across redirects, you could use
|
|
31
|
+
# the faraday-cookie_jar gem:
|
|
32
|
+
#
|
|
33
|
+
# Faraday.new(:url => url) do |faraday|
|
|
34
|
+
# faraday.use FaradayMiddleware::FollowRedirects
|
|
35
|
+
# faraday.use :cookie_jar
|
|
36
|
+
# faraday.adapter Faraday.default_adapter
|
|
37
|
+
# end
|
|
38
|
+
|
|
39
|
+
class Response::FollowRedirects < Faraday::Middleware
|
|
40
|
+
# HTTP methods for which 30x redirects can be followed
|
|
41
|
+
ALLOWED_METHODS = Set.new [:head, :options, :get, :post, :put, :patch, :delete]
|
|
42
|
+
# HTTP redirect status codes that this middleware implements
|
|
43
|
+
REDIRECT_CODES = Set.new [301, 302, 303, 307, 308]
|
|
44
|
+
# Keys in env hash which will get cleared between requests
|
|
45
|
+
ENV_TO_CLEAR = Set.new [:status, :response, :response_headers]
|
|
46
|
+
|
|
47
|
+
# Default value for max redirects followed
|
|
48
|
+
FOLLOW_LIMIT = 3
|
|
49
|
+
|
|
50
|
+
# Regex that matches characters that need to be escaped in URLs, sans
|
|
51
|
+
# the "%" character which we assume already represents an escaped sequence.
|
|
52
|
+
URI_UNSAFE = /[^\-_.!~*'()a-zA-Z\d;\/?:@&=+$,\[\]%]/
|
|
53
|
+
|
|
54
|
+
# Public: Initialize the middleware.
|
|
55
|
+
#
|
|
56
|
+
# options - An options Hash (default: {}):
|
|
57
|
+
# :limit - A Numeric redirect limit (default: 3)
|
|
58
|
+
# :standards_compliant - A Boolean indicating whether to respect
|
|
59
|
+
# the HTTP spec when following 301/302
|
|
60
|
+
# (default: false)
|
|
61
|
+
# :callback - A callable that will be called on redirects
|
|
62
|
+
# with the old and new envs
|
|
63
|
+
def initialize(app, options = {})
|
|
64
|
+
super(app)
|
|
65
|
+
@options = options
|
|
66
|
+
|
|
67
|
+
@convert_to_get = Set.new [303]
|
|
68
|
+
@convert_to_get << 301 << 302 unless standards_compliant?
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def call(env)
|
|
72
|
+
perform_with_redirection(env, follow_limit)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
private
|
|
76
|
+
|
|
77
|
+
def convert_to_get?(response)
|
|
78
|
+
![:head, :options].include?(response.env[:method]) &&
|
|
79
|
+
@convert_to_get.include?(response.status)
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
def perform_with_redirection(env, follows)
|
|
83
|
+
request_body = env[:body]
|
|
84
|
+
response = @app.call(env)
|
|
85
|
+
|
|
86
|
+
response.on_complete do |response_env|
|
|
87
|
+
if follow_redirect?(response_env, response)
|
|
88
|
+
raise RedirectLimitReached, response if follows.zero?
|
|
89
|
+
new_request_env = update_env(response_env.dup, request_body, response)
|
|
90
|
+
callback.call(response_env, new_request_env) if callback
|
|
91
|
+
response = perform_with_redirection(new_request_env, follows - 1)
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
response
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def update_env(env, request_body, response)
|
|
98
|
+
env[:url] += safe_escape(response['location'])
|
|
99
|
+
|
|
100
|
+
if convert_to_get?(response)
|
|
101
|
+
env[:method] = :get
|
|
102
|
+
env[:body] = nil
|
|
103
|
+
else
|
|
104
|
+
env[:body] = request_body
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
ENV_TO_CLEAR.each {|key| env.delete key }
|
|
108
|
+
|
|
109
|
+
env
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
def follow_redirect?(env, response)
|
|
113
|
+
ALLOWED_METHODS.include? env[:method] and
|
|
114
|
+
REDIRECT_CODES.include? response.status
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
def follow_limit
|
|
118
|
+
@options.fetch(:limit, FOLLOW_LIMIT)
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
def standards_compliant?
|
|
122
|
+
@options.fetch(:standards_compliant, false)
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
def callback
|
|
126
|
+
@options[:callback]
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
# Internal: escapes unsafe characters from an URL which might be a path
|
|
130
|
+
# component only or a fully qualified URI so that it can be joined onto an
|
|
131
|
+
# URI:HTTP using the `+` operator. Doesn't escape "%" characters so to not
|
|
132
|
+
# risk double-escaping.
|
|
133
|
+
def safe_escape(uri)
|
|
134
|
+
uri = uri.split('#')[0] # we want to remove the fragment if present
|
|
135
|
+
uri.to_s.gsub(URI_UNSAFE) { |match|
|
|
136
|
+
'%' + match.unpack('H2' * match.bytesize).join('%').upcase
|
|
137
|
+
}
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
end
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
|
|
3
|
+
require_relative '../constants'
|
|
4
|
+
|
|
3
5
|
module Github
|
|
4
6
|
class Response
|
|
5
7
|
|
|
@@ -13,6 +15,10 @@ module Github
|
|
|
13
15
|
!!env
|
|
14
16
|
end
|
|
15
17
|
|
|
18
|
+
def [](property)
|
|
19
|
+
loaded? ? env[:response_headers][property] : nil
|
|
20
|
+
end
|
|
21
|
+
|
|
16
22
|
def oauth_scopes
|
|
17
23
|
loaded? ? env[:response_headers][OAUTH_SCOPES] : nil
|
|
18
24
|
end
|
|
@@ -76,7 +82,6 @@ module Github
|
|
|
76
82
|
def body
|
|
77
83
|
loaded? ? env[:body] : nil
|
|
78
84
|
end
|
|
79
|
-
|
|
80
85
|
end # Header
|
|
81
86
|
end # Response
|
|
82
87
|
end # Github
|
|
@@ -2,13 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
require 'faraday'
|
|
4
4
|
require 'hashie'
|
|
5
|
+
require 'github_api/mash'
|
|
5
6
|
|
|
6
7
|
module Github
|
|
7
8
|
class Response::Mashify < Response
|
|
8
|
-
dependency 'hashie/mash'
|
|
9
|
-
|
|
10
9
|
define_parser do |body|
|
|
11
|
-
::
|
|
10
|
+
::Github::Mash.new body
|
|
12
11
|
end
|
|
13
12
|
|
|
14
13
|
def parse(body)
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
|
|
3
|
+
require 'forwardable'
|
|
4
|
+
|
|
5
|
+
require_relative 'pagination'
|
|
6
|
+
|
|
3
7
|
module Github
|
|
4
8
|
# A class responsible for proxing to faraday response
|
|
5
9
|
class ResponseWrapper
|
|
@@ -19,6 +23,7 @@ module Github
|
|
|
19
23
|
@response = response
|
|
20
24
|
@current_api = current_api
|
|
21
25
|
@env = response.env
|
|
26
|
+
@body = nil
|
|
22
27
|
end
|
|
23
28
|
|
|
24
29
|
# Overwrite methods to hash keys
|
data/lib/github_api/utils/url.rb
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
|
|
3
|
+
require_relative 'validations/format'
|
|
4
|
+
require_relative 'validations/presence'
|
|
5
|
+
require_relative 'validations/required'
|
|
6
|
+
require_relative 'validations/token'
|
|
7
|
+
|
|
3
8
|
module Github
|
|
4
9
|
module Validations
|
|
5
|
-
|
|
6
|
-
Github::require_all 'github_api/validations',
|
|
7
|
-
'presence',
|
|
8
|
-
'token',
|
|
9
|
-
'format',
|
|
10
|
-
'required'
|
|
11
|
-
|
|
12
10
|
include Presence
|
|
13
11
|
include Format
|
|
14
12
|
include Token
|
|
@@ -20,6 +18,5 @@ module Github
|
|
|
20
18
|
'auto_pagination',
|
|
21
19
|
'jsonp_callback'
|
|
22
20
|
]
|
|
23
|
-
|
|
24
21
|
end # Validation
|
|
25
22
|
end # Github
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
|
|
3
|
+
require_relative '../error/client_error'
|
|
4
|
+
|
|
3
5
|
module Github
|
|
4
6
|
module Validations
|
|
5
7
|
# A mixin to help validate presence of non-empty values
|
|
6
8
|
module Presence
|
|
7
9
|
|
|
8
|
-
# Ensure that
|
|
10
|
+
# Ensure that essential arguments are present before request is made.
|
|
9
11
|
#
|
|
10
12
|
# == Parameters
|
|
11
13
|
# Hash/Array of arguments to be checked against nil and empty string
|
data/lib/github_api/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: github_api
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.19.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Piotr Murach
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2020-06-22 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: addressable
|
|
@@ -16,48 +16,54 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 2.4
|
|
19
|
+
version: '2.4'
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: 2.4
|
|
26
|
+
version: '2.4'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: hashie
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '3.5'
|
|
31
34
|
- - ">="
|
|
32
35
|
- !ruby/object:Gem::Version
|
|
33
|
-
version:
|
|
36
|
+
version: 3.5.2
|
|
34
37
|
type: :runtime
|
|
35
38
|
prerelease: false
|
|
36
39
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
40
|
requirements:
|
|
41
|
+
- - "~>"
|
|
42
|
+
- !ruby/object:Gem::Version
|
|
43
|
+
version: '3.5'
|
|
38
44
|
- - ">="
|
|
39
45
|
- !ruby/object:Gem::Version
|
|
40
|
-
version:
|
|
46
|
+
version: 3.5.2
|
|
41
47
|
- !ruby/object:Gem::Dependency
|
|
42
48
|
name: faraday
|
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
|
44
50
|
requirements:
|
|
45
|
-
- - "
|
|
51
|
+
- - ">="
|
|
46
52
|
- !ruby/object:Gem::Version
|
|
47
53
|
version: '0.8'
|
|
48
54
|
- - "<"
|
|
49
55
|
- !ruby/object:Gem::Version
|
|
50
|
-
version: '
|
|
56
|
+
version: '2'
|
|
51
57
|
type: :runtime
|
|
52
58
|
prerelease: false
|
|
53
59
|
version_requirements: !ruby/object:Gem::Requirement
|
|
54
60
|
requirements:
|
|
55
|
-
- - "
|
|
61
|
+
- - ">="
|
|
56
62
|
- !ruby/object:Gem::Version
|
|
57
63
|
version: '0.8'
|
|
58
64
|
- - "<"
|
|
59
65
|
- !ruby/object:Gem::Version
|
|
60
|
-
version: '
|
|
66
|
+
version: '2'
|
|
61
67
|
- !ruby/object:Gem::Dependency
|
|
62
68
|
name: oauth2
|
|
63
69
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -87,27 +93,21 @@ dependencies:
|
|
|
87
93
|
- !ruby/object:Gem::Version
|
|
88
94
|
version: 0.0.4
|
|
89
95
|
- !ruby/object:Gem::Dependency
|
|
90
|
-
name:
|
|
96
|
+
name: bundler
|
|
91
97
|
requirement: !ruby/object:Gem::Requirement
|
|
92
98
|
requirements:
|
|
93
99
|
- - ">="
|
|
94
100
|
- !ruby/object:Gem::Version
|
|
95
|
-
version:
|
|
96
|
-
|
|
97
|
-
- !ruby/object:Gem::Version
|
|
98
|
-
version: '3.0'
|
|
99
|
-
type: :runtime
|
|
101
|
+
version: 1.5.0
|
|
102
|
+
type: :development
|
|
100
103
|
prerelease: false
|
|
101
104
|
version_requirements: !ruby/object:Gem::Requirement
|
|
102
105
|
requirements:
|
|
103
106
|
- - ">="
|
|
104
107
|
- !ruby/object:Gem::Version
|
|
105
|
-
version:
|
|
106
|
-
- - "<"
|
|
107
|
-
- !ruby/object:Gem::Version
|
|
108
|
-
version: '3.0'
|
|
108
|
+
version: 1.5.0
|
|
109
109
|
- !ruby/object:Gem::Dependency
|
|
110
|
-
name:
|
|
110
|
+
name: rake
|
|
111
111
|
requirement: !ruby/object:Gem::Requirement
|
|
112
112
|
requirements:
|
|
113
113
|
- - ">="
|
|
@@ -121,30 +121,89 @@ dependencies:
|
|
|
121
121
|
- !ruby/object:Gem::Version
|
|
122
122
|
version: '0'
|
|
123
123
|
- !ruby/object:Gem::Dependency
|
|
124
|
-
name:
|
|
124
|
+
name: cucumber
|
|
125
125
|
requirement: !ruby/object:Gem::Requirement
|
|
126
126
|
requirements:
|
|
127
|
-
- - "
|
|
127
|
+
- - "~>"
|
|
128
128
|
- !ruby/object:Gem::Version
|
|
129
|
-
version: '
|
|
129
|
+
version: '2.1'
|
|
130
130
|
type: :development
|
|
131
131
|
prerelease: false
|
|
132
132
|
version_requirements: !ruby/object:Gem::Requirement
|
|
133
133
|
requirements:
|
|
134
|
-
- - "
|
|
134
|
+
- - "~>"
|
|
135
|
+
- !ruby/object:Gem::Version
|
|
136
|
+
version: '2.1'
|
|
137
|
+
- !ruby/object:Gem::Dependency
|
|
138
|
+
name: rspec
|
|
139
|
+
requirement: !ruby/object:Gem::Requirement
|
|
140
|
+
requirements:
|
|
141
|
+
- - "~>"
|
|
142
|
+
- !ruby/object:Gem::Version
|
|
143
|
+
version: '3'
|
|
144
|
+
type: :development
|
|
145
|
+
prerelease: false
|
|
146
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
147
|
+
requirements:
|
|
148
|
+
- - "~>"
|
|
149
|
+
- !ruby/object:Gem::Version
|
|
150
|
+
version: '3'
|
|
151
|
+
- !ruby/object:Gem::Dependency
|
|
152
|
+
name: rspec-its
|
|
153
|
+
requirement: !ruby/object:Gem::Requirement
|
|
154
|
+
requirements:
|
|
155
|
+
- - "~>"
|
|
156
|
+
- !ruby/object:Gem::Version
|
|
157
|
+
version: '1'
|
|
158
|
+
type: :development
|
|
159
|
+
prerelease: false
|
|
160
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
161
|
+
requirements:
|
|
162
|
+
- - "~>"
|
|
163
|
+
- !ruby/object:Gem::Version
|
|
164
|
+
version: '1'
|
|
165
|
+
- !ruby/object:Gem::Dependency
|
|
166
|
+
name: vcr
|
|
167
|
+
requirement: !ruby/object:Gem::Requirement
|
|
168
|
+
requirements:
|
|
169
|
+
- - "~>"
|
|
170
|
+
- !ruby/object:Gem::Version
|
|
171
|
+
version: 3.0.3
|
|
172
|
+
type: :development
|
|
173
|
+
prerelease: false
|
|
174
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
175
|
+
requirements:
|
|
176
|
+
- - "~>"
|
|
177
|
+
- !ruby/object:Gem::Version
|
|
178
|
+
version: 3.0.3
|
|
179
|
+
- !ruby/object:Gem::Dependency
|
|
180
|
+
name: webmock
|
|
181
|
+
requirement: !ruby/object:Gem::Requirement
|
|
182
|
+
requirements:
|
|
183
|
+
- - "~>"
|
|
184
|
+
- !ruby/object:Gem::Version
|
|
185
|
+
version: '3.8'
|
|
186
|
+
type: :development
|
|
187
|
+
prerelease: false
|
|
188
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
189
|
+
requirements:
|
|
190
|
+
- - "~>"
|
|
135
191
|
- !ruby/object:Gem::Version
|
|
136
|
-
version: '
|
|
137
|
-
description:
|
|
192
|
+
version: '3.8'
|
|
193
|
+
description: ' Ruby client that supports all of the GitHub API methods. It"s build
|
|
138
194
|
in a modular way, that is, you can either instantiate the whole api wrapper Github.new
|
|
139
195
|
or use parts of it e.i. Github::Client::Repos.new if working solely with repositories
|
|
140
|
-
is your main concern. Intuitive query methods allow you easily call API endpoints.
|
|
141
|
-
email:
|
|
196
|
+
is your main concern. Intuitive query methods allow you easily call API endpoints. '
|
|
197
|
+
email:
|
|
198
|
+
- piotr@piotrmurach.com
|
|
142
199
|
executables: []
|
|
143
200
|
extensions: []
|
|
144
201
|
extra_rdoc_files:
|
|
145
202
|
- LICENSE.txt
|
|
146
203
|
- README.md
|
|
204
|
+
- CHANGELOG.md
|
|
147
205
|
files:
|
|
206
|
+
- CHANGELOG.md
|
|
148
207
|
- LICENSE.txt
|
|
149
208
|
- README.md
|
|
150
209
|
- lib/github_api.rb
|
|
@@ -187,11 +246,17 @@ files:
|
|
|
187
246
|
- lib/github_api/client/orgs/hooks.rb
|
|
188
247
|
- lib/github_api/client/orgs/members.rb
|
|
189
248
|
- lib/github_api/client/orgs/memberships.rb
|
|
249
|
+
- lib/github_api/client/orgs/projects.rb
|
|
190
250
|
- lib/github_api/client/orgs/teams.rb
|
|
251
|
+
- lib/github_api/client/projects.rb
|
|
252
|
+
- lib/github_api/client/projects/cards.rb
|
|
253
|
+
- lib/github_api/client/projects/columns.rb
|
|
191
254
|
- lib/github_api/client/pull_requests.rb
|
|
192
255
|
- lib/github_api/client/pull_requests/comments.rb
|
|
193
256
|
- lib/github_api/client/pull_requests/reviews.rb
|
|
194
257
|
- lib/github_api/client/repos.rb
|
|
258
|
+
- lib/github_api/client/repos/branches.rb
|
|
259
|
+
- lib/github_api/client/repos/branches/protections.rb
|
|
195
260
|
- lib/github_api/client/repos/collaborators.rb
|
|
196
261
|
- lib/github_api/client/repos/comments.rb
|
|
197
262
|
- lib/github_api/client/repos/commits.rb
|
|
@@ -200,9 +265,11 @@ files:
|
|
|
200
265
|
- lib/github_api/client/repos/downloads.rb
|
|
201
266
|
- lib/github_api/client/repos/forks.rb
|
|
202
267
|
- lib/github_api/client/repos/hooks.rb
|
|
268
|
+
- lib/github_api/client/repos/invitations.rb
|
|
203
269
|
- lib/github_api/client/repos/keys.rb
|
|
204
270
|
- lib/github_api/client/repos/merging.rb
|
|
205
271
|
- lib/github_api/client/repos/pages.rb
|
|
272
|
+
- lib/github_api/client/repos/projects.rb
|
|
206
273
|
- lib/github_api/client/repos/pub_sub_hubbub.rb
|
|
207
274
|
- lib/github_api/client/repos/releases.rb
|
|
208
275
|
- lib/github_api/client/repos/releases/assets.rb
|
|
@@ -222,12 +289,12 @@ files:
|
|
|
222
289
|
- lib/github_api/constants.rb
|
|
223
290
|
- lib/github_api/core_ext/array.rb
|
|
224
291
|
- lib/github_api/core_ext/hash.rb
|
|
225
|
-
- lib/github_api/core_ext/ordered_hash.rb
|
|
226
292
|
- lib/github_api/deprecation.rb
|
|
227
293
|
- lib/github_api/error.rb
|
|
228
294
|
- lib/github_api/error/client_error.rb
|
|
229
295
|
- lib/github_api/error/service_error.rb
|
|
230
296
|
- lib/github_api/ext/faraday.rb
|
|
297
|
+
- lib/github_api/mash.rb
|
|
231
298
|
- lib/github_api/middleware.rb
|
|
232
299
|
- lib/github_api/mime_type.rb
|
|
233
300
|
- lib/github_api/normalizer.rb
|
|
@@ -244,10 +311,9 @@ files:
|
|
|
244
311
|
- lib/github_api/request/jsonize.rb
|
|
245
312
|
- lib/github_api/request/oauth2.rb
|
|
246
313
|
- lib/github_api/request/verbs.rb
|
|
247
|
-
- lib/github_api/requestable.rb
|
|
248
|
-
- lib/github_api/resource.rb
|
|
249
314
|
- lib/github_api/response.rb
|
|
250
315
|
- lib/github_api/response/atom_parser.rb
|
|
316
|
+
- lib/github_api/response/follow_redirects.rb
|
|
251
317
|
- lib/github_api/response/header.rb
|
|
252
318
|
- lib/github_api/response/jsonize.rb
|
|
253
319
|
- lib/github_api/response/mashify.rb
|
|
@@ -274,17 +340,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
274
340
|
requirements:
|
|
275
341
|
- - ">="
|
|
276
342
|
- !ruby/object:Gem::Version
|
|
277
|
-
version:
|
|
343
|
+
version: 2.0.0
|
|
278
344
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
279
345
|
requirements:
|
|
280
346
|
- - ">="
|
|
281
347
|
- !ruby/object:Gem::Version
|
|
282
348
|
version: '0'
|
|
283
349
|
requirements: []
|
|
284
|
-
|
|
285
|
-
rubygems_version: 2.5.1
|
|
350
|
+
rubygems_version: 3.1.2
|
|
286
351
|
signing_key:
|
|
287
352
|
specification_version: 4
|
|
288
353
|
summary: Ruby client for the official GitHub API
|
|
289
354
|
test_files: []
|
|
290
|
-
has_rdoc:
|