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.
Files changed (113) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +770 -0
  3. data/README.md +25 -8
  4. data/lib/github_api.rb +37 -76
  5. data/lib/github_api/api.rb +46 -19
  6. data/lib/github_api/api/arguments.rb +6 -1
  7. data/lib/github_api/api/config.rb +3 -5
  8. data/lib/github_api/api/config/property_set.rb +1 -0
  9. data/lib/github_api/authorization.rb +2 -0
  10. data/lib/github_api/client.rb +5 -0
  11. data/lib/github_api/client/activity.rb +2 -0
  12. data/lib/github_api/client/activity/events.rb +2 -0
  13. data/lib/github_api/client/activity/feeds.rb +2 -0
  14. data/lib/github_api/client/activity/notifications.rb +2 -0
  15. data/lib/github_api/client/activity/starring.rb +3 -1
  16. data/lib/github_api/client/activity/watching.rb +3 -1
  17. data/lib/github_api/client/authorizations.rb +2 -0
  18. data/lib/github_api/client/authorizations/app.rb +3 -1
  19. data/lib/github_api/client/emojis.rb +2 -0
  20. data/lib/github_api/client/gists.rb +4 -2
  21. data/lib/github_api/client/gists/comments.rb +3 -1
  22. data/lib/github_api/client/git_data.rb +2 -0
  23. data/lib/github_api/client/git_data/blobs.rb +2 -1
  24. data/lib/github_api/client/git_data/commits.rb +2 -0
  25. data/lib/github_api/client/git_data/references.rb +6 -2
  26. data/lib/github_api/client/git_data/tags.rb +2 -0
  27. data/lib/github_api/client/git_data/trees.rb +2 -0
  28. data/lib/github_api/client/gitignore.rb +2 -0
  29. data/lib/github_api/client/issues.rb +2 -0
  30. data/lib/github_api/client/issues/assignees.rb +35 -0
  31. data/lib/github_api/client/issues/comments.rb +2 -0
  32. data/lib/github_api/client/issues/events.rb +2 -0
  33. data/lib/github_api/client/issues/labels.rb +2 -0
  34. data/lib/github_api/client/issues/milestones.rb +2 -0
  35. data/lib/github_api/client/markdown.rb +4 -2
  36. data/lib/github_api/client/meta.rb +2 -0
  37. data/lib/github_api/client/orgs.rb +6 -0
  38. data/lib/github_api/client/orgs/hooks.rb +2 -0
  39. data/lib/github_api/client/orgs/members.rb +2 -0
  40. data/lib/github_api/client/orgs/memberships.rb +2 -0
  41. data/lib/github_api/client/orgs/projects.rb +57 -0
  42. data/lib/github_api/client/orgs/teams.rb +5 -3
  43. data/lib/github_api/client/projects.rb +83 -0
  44. data/lib/github_api/client/projects/cards.rb +158 -0
  45. data/lib/github_api/client/projects/columns.rb +146 -0
  46. data/lib/github_api/client/pull_requests.rb +2 -0
  47. data/lib/github_api/client/pull_requests/comments.rb +2 -0
  48. data/lib/github_api/client/pull_requests/reviews.rb +2 -0
  49. data/lib/github_api/client/repos.rb +27 -15
  50. data/lib/github_api/client/repos/branches.rb +48 -0
  51. data/lib/github_api/client/repos/branches/protections.rb +75 -0
  52. data/lib/github_api/client/repos/collaborators.rb +2 -1
  53. data/lib/github_api/client/repos/comments.rb +2 -1
  54. data/lib/github_api/client/repos/commits.rb +2 -0
  55. data/lib/github_api/client/repos/contents.rb +26 -4
  56. data/lib/github_api/client/repos/deployments.rb +3 -1
  57. data/lib/github_api/client/repos/downloads.rb +2 -0
  58. data/lib/github_api/client/repos/forks.rb +6 -2
  59. data/lib/github_api/client/repos/hooks.rb +2 -0
  60. data/lib/github_api/client/repos/invitations.rb +41 -0
  61. data/lib/github_api/client/repos/keys.rb +2 -0
  62. data/lib/github_api/client/repos/merging.rb +2 -0
  63. data/lib/github_api/client/repos/pages.rb +2 -0
  64. data/lib/github_api/client/repos/projects.rb +62 -0
  65. data/lib/github_api/client/repos/pub_sub_hubbub.rb +6 -6
  66. data/lib/github_api/client/repos/releases.rb +2 -0
  67. data/lib/github_api/client/repos/releases/assets.rb +3 -1
  68. data/lib/github_api/client/repos/releases/tags.rb +2 -0
  69. data/lib/github_api/client/repos/statistics.rb +2 -0
  70. data/lib/github_api/client/repos/statuses.rb +2 -0
  71. data/lib/github_api/client/say.rb +2 -0
  72. data/lib/github_api/client/scopes.rb +2 -0
  73. data/lib/github_api/client/search.rb +3 -0
  74. data/lib/github_api/client/search/legacy.rb +2 -0
  75. data/lib/github_api/client/users.rb +2 -0
  76. data/lib/github_api/client/users/emails.rb +3 -0
  77. data/lib/github_api/client/users/followers.rb +3 -1
  78. data/lib/github_api/client/users/keys.rb +2 -0
  79. data/lib/github_api/configuration.rb +4 -1
  80. data/lib/github_api/connection.rb +5 -1
  81. data/lib/github_api/error.rb +1 -4
  82. data/lib/github_api/error/client_error.rb +4 -2
  83. data/lib/github_api/error/service_error.rb +9 -2
  84. data/lib/github_api/ext/faraday.rb +3 -1
  85. data/lib/github_api/mash.rb +7 -0
  86. data/lib/github_api/middleware.rb +8 -6
  87. data/lib/github_api/normalizer.rb +3 -5
  88. data/lib/github_api/page_iterator.rb +4 -1
  89. data/lib/github_api/page_links.rb +4 -0
  90. data/lib/github_api/paged_request.rb +2 -0
  91. data/lib/github_api/pagination.rb +10 -7
  92. data/lib/github_api/parameter_filter.rb +4 -1
  93. data/lib/github_api/params_hash.rb +4 -4
  94. data/lib/github_api/request.rb +8 -9
  95. data/lib/github_api/request/basic_auth.rb +1 -1
  96. data/lib/github_api/request/jsonize.rb +0 -1
  97. data/lib/github_api/request/oauth2.rb +2 -0
  98. data/lib/github_api/request/verbs.rb +3 -0
  99. data/lib/github_api/response/follow_redirects.rb +140 -0
  100. data/lib/github_api/response/header.rb +6 -1
  101. data/lib/github_api/response/mashify.rb +2 -3
  102. data/lib/github_api/response/raise_error.rb +2 -1
  103. data/lib/github_api/response_wrapper.rb +5 -0
  104. data/lib/github_api/utils/url.rb +2 -0
  105. data/lib/github_api/validations.rb +5 -8
  106. data/lib/github_api/validations/format.rb +2 -0
  107. data/lib/github_api/validations/presence.rb +3 -1
  108. data/lib/github_api/validations/required.rb +2 -0
  109. data/lib/github_api/version.rb +2 -2
  110. metadata +100 -36
  111. data/lib/github_api/core_ext/ordered_hash.rb +0 -107
  112. data/lib/github_api/requestable.rb +0 -67
  113. data/lib/github_api/resource.rb +0 -13
@@ -1,10 +1,10 @@
1
1
  # encoding: utf-8
2
2
 
3
- require 'github_api/request/oauth2'
4
- require 'github_api/request/basic_auth'
5
- require 'github_api/request/jsonize'
6
-
7
- require 'github_api/connection'
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 [Symbol] method - The Symbol the HTTP verb
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: #{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)
@@ -26,7 +26,7 @@ module Github
26
26
  # @api private
27
27
  def call(env)
28
28
  if @auth
29
- env[:request_headers].merge!('Authorization' => "Basic #{@auth}\"")
29
+ env[:request_headers].merge!('Authorization' => "Basic #{@auth}")
30
30
  end
31
31
 
32
32
  @app.call(env)
@@ -32,7 +32,6 @@ module Github
32
32
  end
33
33
 
34
34
  def request_with_body?(env)
35
- type = request_type(env)
36
35
  has_body?(env) and safe_to_modify?(env)
37
36
  end
38
37
 
@@ -2,6 +2,8 @@
2
2
 
3
3
  require 'faraday'
4
4
 
5
+ require_relative '../utils/url'
6
+
5
7
  module Github
6
8
  class Request
7
9
  class OAuth2 < Faraday::Middleware
@@ -1,5 +1,8 @@
1
1
  # encoding: utf-8
2
2
 
3
+ require_relative '../request'
4
+ require_relative '../params_hash'
5
+
3
6
  module Github
4
7
  # A class responsible for dispatching http requests
5
8
  class Request
@@ -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
- ::Hashie::Mash.new body
10
+ ::Github::Mash.new body
12
11
  end
13
12
 
14
13
  def parse(body)
@@ -1,7 +1,8 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  require 'faraday'
4
- require 'github_api/error'
4
+
5
+ require_relative '../error/service_error'
5
6
 
6
7
  module Github
7
8
  class Response::RaiseError < Faraday::Response::Middleware
@@ -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
@@ -1,3 +1,5 @@
1
+ # encoding:utf-8
2
+
1
3
  require 'cgi'
2
4
  require 'addressable/uri'
3
5
 
@@ -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,5 +1,7 @@
1
1
  # encoding: utf-8
2
2
 
3
+ require_relative '../error/client_error'
4
+
3
5
  module Github
4
6
  module Validations
5
7
  module Format
@@ -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 esential arguments are present before request is made.
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
@@ -1,5 +1,7 @@
1
1
  # encoding: utf-8
2
2
 
3
+ require_relative '../error/client_error'
4
+
3
5
  module Github
4
6
  module Validations
5
7
  module Required
@@ -1,5 +1,5 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Github
4
- VERSION = "0.15.0"
4
+ VERSION = "0.19.0"
5
5
  end # Github
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.15.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: 2017-03-25 00:00:00.000000000 Z
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.0
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.0
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: '3.4'
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: '3.4'
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: '0.10'
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: '0.10'
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: mime-types
96
+ name: bundler
91
97
  requirement: !ruby/object:Gem::Requirement
92
98
  requirements:
93
99
  - - ">="
94
100
  - !ruby/object:Gem::Version
95
- version: '1.16'
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: '1.16'
106
- - - "<"
107
- - !ruby/object:Gem::Version
108
- version: '3.0'
108
+ version: 1.5.0
109
109
  - !ruby/object:Gem::Dependency
110
- name: bundler
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: rake
124
+ name: cucumber
125
125
  requirement: !ruby/object:Gem::Requirement
126
126
  requirements:
127
- - - "<"
127
+ - - "~>"
128
128
  - !ruby/object:Gem::Version
129
- version: '11.0'
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: '11.0'
137
- description: " Ruby client that supports all of the GitHub API methods. It's build
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: 1.9.2
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
- rubyforge_project:
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: