github_api 0.15.0 → 0.19.0
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|