github_api 0.14.2 → 0.14.3
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 +4 -4
- data/lib/github_api/error/client_error.rb +64 -0
- data/lib/github_api/error/service_error.rb +153 -26
- data/lib/github_api/error.rb +0 -6
- data/lib/github_api/version.rb +1 -1
- metadata +6 -19
- data/lib/github_api/error/bad_request.rb +0 -14
- data/lib/github_api/error/forbidden.rb +0 -14
- data/lib/github_api/error/internal_server_error.rb +0 -15
- data/lib/github_api/error/invalid_options.rb +0 -18
- data/lib/github_api/error/not_acceptable.rb +0 -15
- data/lib/github_api/error/not_found.rb +0 -14
- data/lib/github_api/error/required_params.rb +0 -18
- data/lib/github_api/error/service_unavailable.rb +0 -15
- data/lib/github_api/error/unauthorized.rb +0 -15
- data/lib/github_api/error/unknown_media.rb +0 -18
- data/lib/github_api/error/unknown_value.rb +0 -18
- data/lib/github_api/error/unprocessable_entity.rb +0 -14
- data/lib/github_api/error/validations.rb +0 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7fe5afce457fa73fed135b79c28fc1083e1d0f9d
|
4
|
+
data.tar.gz: fc77be5cbda3f746328797d7e1b1e9de5c5fdafb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6c37cb56444c0a0a02546eb7960bbfdfb18308afad58a31f32da34fdf103e99cb25a7de3dc127066dd199d45e52e7703b0fd2e1b56162d40b341d53bd7e22a22
|
7
|
+
data.tar.gz: 9f7a7b7daabd4ff6094e2cc222522f8ad19c3403f024c071deb7880f86fb171b5ea86b5f21e73f2d47c244f949a38e29de349e41b945a26335613f313ee70875
|
@@ -19,5 +19,69 @@ module Github #:nodoc
|
|
19
19
|
"\nResolution:\n #{@resolution}"
|
20
20
|
end
|
21
21
|
end
|
22
|
+
|
23
|
+
# Raised when invalid options are passed to a request body
|
24
|
+
class InvalidOptions < ClientError
|
25
|
+
def initialize(invalid, valid)
|
26
|
+
super(
|
27
|
+
generate_message(
|
28
|
+
problem: "Invalid option #{invalid.keys.join(', ')} provided for this request.",
|
29
|
+
summary: "Github gem checks the request parameters passed to ensure that github api is not hit unnecessairly and to fail fast.",
|
30
|
+
resolution: "Valid options are: #{valid.join(', ')}, make sure these are the ones you are using"
|
31
|
+
)
|
32
|
+
)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
# Raised when invalid options are passed to a request body
|
37
|
+
class RequiredParams < ClientError
|
38
|
+
def initialize(provided, required)
|
39
|
+
super(
|
40
|
+
generate_message(
|
41
|
+
problem: "Missing required parameters: #{provided.keys.join(', ')} provided for this request.",
|
42
|
+
summary: "Github gem checks the request parameters passed to ensure that github api is not hit unnecessairly and to fail fast.",
|
43
|
+
resolution: "Required parameters are: #{required.join(', ')}, make sure these are the ones you are using"
|
44
|
+
)
|
45
|
+
)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
# Raised when invalid options are passed to a request body
|
50
|
+
class UnknownMedia < ClientError
|
51
|
+
def initialize(file)
|
52
|
+
super(
|
53
|
+
generate_message(
|
54
|
+
problem: "Unknown content type for: '#{file}' provided for this request.",
|
55
|
+
summary: "Github gem infers the content type of the resource by calling the mime-types gem type inference.",
|
56
|
+
resolution: "Please install mime-types gem to infer the resource content type."
|
57
|
+
)
|
58
|
+
)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
# Raised when invalid options are passed to a request body
|
63
|
+
class UnknownValue < ClientError
|
64
|
+
def initialize(key, value, permitted)
|
65
|
+
super(
|
66
|
+
generate_message(
|
67
|
+
problem: "Wrong value of '#{value}' for the parameter: #{key} provided for this request.",
|
68
|
+
summary: "Github gem checks the request parameters passed to ensure that github api is not hit unnecessairly and fails fast.",
|
69
|
+
resolution: "Permitted values are: #{permitted}, make sure these are the ones you are using"
|
70
|
+
)
|
71
|
+
)
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
class Validations < ClientError
|
76
|
+
def initialize(errors)
|
77
|
+
super(
|
78
|
+
generate_message(
|
79
|
+
problem: "Attempted to send request with nil arguments for #{errors.keys.join(', ')}.",
|
80
|
+
summary: 'Each request expects certain number of required arguments.',
|
81
|
+
resolution: 'Double check that the provided arguments are set to some value that is neither nil nor empty string.'
|
82
|
+
)
|
83
|
+
)
|
84
|
+
end
|
85
|
+
end
|
22
86
|
end # Error
|
23
87
|
end # Github
|
@@ -6,56 +6,183 @@ module Github
|
|
6
6
|
# Raised when GitHub returns any of the HTTP status codes
|
7
7
|
module Error
|
8
8
|
class ServiceError < GithubError
|
9
|
-
|
9
|
+
# Add http status code method to error type
|
10
|
+
#
|
11
|
+
# @param [Integer] code
|
12
|
+
# the status code
|
13
|
+
#
|
14
|
+
# @api public
|
15
|
+
def self.http_status_code(code)
|
16
|
+
define_method(:http_status_code) { code }
|
17
|
+
end
|
18
|
+
|
19
|
+
# A mapping of status codes and error types
|
20
|
+
#
|
21
|
+
# @return [Hash[Integer, Object]]
|
22
|
+
#
|
23
|
+
# @api public
|
24
|
+
def self.errors
|
25
|
+
@errors ||= Hash[
|
26
|
+
descendants.map { |klass| [klass.new({}).http_status_code, klass] }
|
27
|
+
]
|
28
|
+
end
|
10
29
|
|
11
30
|
MIN_BODY_LENGTH = 2
|
12
31
|
|
32
|
+
# Crate a ServiceError
|
33
|
+
#
|
34
|
+
# @param [Hash[Symbol]] response
|
35
|
+
#
|
36
|
+
# @api public
|
13
37
|
def initialize(response)
|
14
|
-
@
|
15
|
-
@body
|
16
|
-
@status
|
38
|
+
@headers = response[:response_headers]
|
39
|
+
@body = response[:body]
|
40
|
+
@status = response[:status]
|
17
41
|
|
18
42
|
super(create_message(response))
|
19
43
|
end
|
20
44
|
|
45
|
+
private
|
46
|
+
|
47
|
+
# Create full error message
|
48
|
+
#
|
49
|
+
# @param [Hash[Symbol]] response
|
50
|
+
# the http response
|
51
|
+
#
|
52
|
+
# @return [String]
|
53
|
+
# the error message
|
54
|
+
#
|
55
|
+
# @api private
|
21
56
|
def create_message(response)
|
22
|
-
|
57
|
+
return if response.nil?
|
58
|
+
|
59
|
+
message = "#{response[:method].to_s.upcase} "
|
60
|
+
message << "#{response[:url]}: "
|
61
|
+
message << "#{@status} - #{parse_body(@body)}"
|
62
|
+
message
|
23
63
|
end
|
24
64
|
|
25
|
-
|
26
|
-
|
65
|
+
# Decode body information if in JSON format
|
66
|
+
#
|
67
|
+
# @param [String] body
|
68
|
+
# the response body
|
69
|
+
#
|
70
|
+
# @api private
|
71
|
+
def decode_data(body)
|
72
|
+
if body.respond_to?(:to_str) &&
|
73
|
+
body.length >= MIN_BODY_LENGTH &&
|
74
|
+
@headers[:content_type] =~ /json/
|
75
|
+
|
27
76
|
JSON.parse(body, symbolize_names: true)
|
28
77
|
else
|
29
78
|
body
|
30
79
|
end
|
31
80
|
end
|
32
81
|
|
82
|
+
# @api private
|
33
83
|
def parse_body(body)
|
34
|
-
|
84
|
+
data = decode_data(body)
|
35
85
|
|
36
|
-
return '' if
|
86
|
+
return '' if data.nil? || data.empty?
|
37
87
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
error
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
88
|
+
case data
|
89
|
+
when Hash
|
90
|
+
message = data[:message] ? data[:message] : ' '
|
91
|
+
docs = data[:documentation_url]
|
92
|
+
error = create_error_summary(data)
|
93
|
+
message << error if error
|
94
|
+
message << "\nSee: #{docs}" if docs
|
95
|
+
message
|
96
|
+
when String
|
97
|
+
data
|
47
98
|
end
|
48
99
|
end
|
49
100
|
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
101
|
+
# Create error summary from response body
|
102
|
+
#
|
103
|
+
# @return [String]
|
104
|
+
#
|
105
|
+
# @api private
|
106
|
+
def create_error_summary(data)
|
107
|
+
if data[:error]
|
108
|
+
return "\nError: #{data[:error]}"
|
109
|
+
elsif data[:errors]
|
110
|
+
message = "\nErrors:\n"
|
111
|
+
message << data[:errors].map do |error|
|
112
|
+
"Error: #{error.map { |k, v| "#{k}: #{v}" }.join(', ')}"
|
113
|
+
end.join("\n")
|
114
|
+
end
|
58
115
|
end
|
59
116
|
end # ServiceError
|
117
|
+
|
118
|
+
# Raised when Github returns the HTTP status code 400
|
119
|
+
class BadRequest < ServiceError
|
120
|
+
http_status_code 400
|
121
|
+
end
|
122
|
+
|
123
|
+
# Raised when GitHub returns the HTTP status code 401
|
124
|
+
class Unauthorized < ServiceError
|
125
|
+
http_status_code 401
|
126
|
+
end
|
127
|
+
|
128
|
+
# Raised when Github returns the HTTP status code 403
|
129
|
+
class Forbidden < ServiceError
|
130
|
+
http_status_code 403
|
131
|
+
end
|
132
|
+
|
133
|
+
# Raised when Github returns the HTTP status code 404
|
134
|
+
class NotFound < ServiceError
|
135
|
+
http_status_code 404
|
136
|
+
end
|
137
|
+
|
138
|
+
# Raised when Github returns the HTTP status code 405
|
139
|
+
class MethodNotAllowed < ServiceError
|
140
|
+
http_status_code 405
|
141
|
+
end
|
142
|
+
|
143
|
+
# Raised when Github returns the HTTP status code 406
|
144
|
+
class NotAcceptable < ServiceError
|
145
|
+
http_status_code 406
|
146
|
+
end
|
147
|
+
|
148
|
+
# Raised when GitHub returns the HTTP status code 409
|
149
|
+
class Conflict < ServiceError
|
150
|
+
http_status_code 409
|
151
|
+
end
|
152
|
+
|
153
|
+
# Raised when GitHub returns the HTTP status code 414
|
154
|
+
class UnsupportedMediaType < ServiceError
|
155
|
+
http_status_code 414
|
156
|
+
end
|
157
|
+
|
158
|
+
# Raised when GitHub returns the HTTP status code 422
|
159
|
+
class UnprocessableEntity < ServiceError
|
160
|
+
http_status_code 422
|
161
|
+
end
|
162
|
+
|
163
|
+
# Raised when GitHub returns the HTTP status code 451
|
164
|
+
class UnavailableForLegalReasons < ServiceError
|
165
|
+
http_status_code 451
|
166
|
+
end
|
167
|
+
|
168
|
+
# Raised when Github returns the HTTP status code 500
|
169
|
+
class InternalServerError < ServiceError
|
170
|
+
http_status_code 500
|
171
|
+
end
|
172
|
+
|
173
|
+
# Raised when Github returns the HTTP status code 501
|
174
|
+
class NotImplemented < ServiceError
|
175
|
+
http_status_code 501
|
176
|
+
end
|
177
|
+
|
178
|
+
# Raised when Github returns the HTTP status code 502
|
179
|
+
class BadGateway < ServiceError
|
180
|
+
http_status_code 502
|
181
|
+
end
|
182
|
+
|
183
|
+
# Raised when GitHub returns the HTTP status code 503
|
184
|
+
class ServiceUnavailable < ServiceError
|
185
|
+
http_status_code 503
|
186
|
+
end
|
60
187
|
end # Error
|
61
188
|
end # Github
|
data/lib/github_api/error.rb
CHANGED
@@ -23,15 +23,9 @@ module Github
|
|
23
23
|
def backtrace
|
24
24
|
@response_message ? @response_message.backtrace : super
|
25
25
|
end
|
26
|
-
|
27
26
|
end # GithubError
|
28
27
|
end # Error
|
29
28
|
end # Github
|
30
29
|
|
31
30
|
require 'github_api/error/service_error'
|
32
31
|
require 'github_api/error/client_error'
|
33
|
-
Dir[File.dirname(__FILE__) + '/error/*.rb'].sort.each do |path|
|
34
|
-
filename = File.basename(path)
|
35
|
-
next if ['service_error.rb', 'client_error.rb'].include?(filename)
|
36
|
-
require "github_api/error/#{filename}"
|
37
|
-
end
|
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.14.
|
4
|
+
version: 0.14.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Piotr Murach
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-07-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|
@@ -62,16 +62,16 @@ dependencies:
|
|
62
62
|
name: oauth2
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
65
|
-
- - "
|
65
|
+
- - "~>"
|
66
66
|
- !ruby/object:Gem::Version
|
67
|
-
version:
|
67
|
+
version: 1.0.0
|
68
68
|
type: :runtime
|
69
69
|
prerelease: false
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
|
-
- - "
|
72
|
+
- - "~>"
|
73
73
|
- !ruby/object:Gem::Version
|
74
|
-
version:
|
74
|
+
version: 1.0.0
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: descendants_tracker
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -204,21 +204,8 @@ files:
|
|
204
204
|
- lib/github_api/core_ext/ordered_hash.rb
|
205
205
|
- lib/github_api/deprecation.rb
|
206
206
|
- lib/github_api/error.rb
|
207
|
-
- lib/github_api/error/bad_request.rb
|
208
207
|
- lib/github_api/error/client_error.rb
|
209
|
-
- lib/github_api/error/forbidden.rb
|
210
|
-
- lib/github_api/error/internal_server_error.rb
|
211
|
-
- lib/github_api/error/invalid_options.rb
|
212
|
-
- lib/github_api/error/not_acceptable.rb
|
213
|
-
- lib/github_api/error/not_found.rb
|
214
|
-
- lib/github_api/error/required_params.rb
|
215
208
|
- lib/github_api/error/service_error.rb
|
216
|
-
- lib/github_api/error/service_unavailable.rb
|
217
|
-
- lib/github_api/error/unauthorized.rb
|
218
|
-
- lib/github_api/error/unknown_media.rb
|
219
|
-
- lib/github_api/error/unknown_value.rb
|
220
|
-
- lib/github_api/error/unprocessable_entity.rb
|
221
|
-
- lib/github_api/error/validations.rb
|
222
209
|
- lib/github_api/ext/faraday.rb
|
223
210
|
- lib/github_api/middleware.rb
|
224
211
|
- lib/github_api/mime_type.rb
|
@@ -1,14 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
module Github #:nodoc
|
4
|
-
# Raised when Github returns the HTTP status code 403
|
5
|
-
module Error
|
6
|
-
class Forbidden < ServiceError
|
7
|
-
http_status_code 403
|
8
|
-
|
9
|
-
def initialize(response)
|
10
|
-
super(response)
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end # Error
|
14
|
-
end # Github
|
@@ -1,15 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
module Github #:nodoc
|
4
|
-
# Raised when Github returns the HTTP status code 500
|
5
|
-
module Error
|
6
|
-
class InternalServerError < ServiceError
|
7
|
-
http_status_code 500
|
8
|
-
|
9
|
-
def initialize(response)
|
10
|
-
super(response)
|
11
|
-
end
|
12
|
-
|
13
|
-
end # InternalServerError
|
14
|
-
end # Error
|
15
|
-
end # Github
|
@@ -1,18 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
module Github #:nodoc
|
4
|
-
# Raised when invalid options are passed to a request body
|
5
|
-
module Error
|
6
|
-
class InvalidOptions < ClientError
|
7
|
-
def initialize(invalid, valid)
|
8
|
-
super(
|
9
|
-
generate_message(
|
10
|
-
:problem => "Invalid option #{invalid.keys.join(', ')} provided for this request.",
|
11
|
-
:summary => "Github gem checks the request parameters passed to ensure that github api is not hit unnecessairly and to fail fast.",
|
12
|
-
:resolution => "Valid options are: #{valid.join(', ')}, make sure these are the ones you are using"
|
13
|
-
)
|
14
|
-
)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end # Error
|
18
|
-
end # Github
|
@@ -1,15 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
module Github #:nodoc
|
4
|
-
# Raised when GitHub returns the HTTP status code 406
|
5
|
-
module Error
|
6
|
-
class NotAcceptable < ServiceError
|
7
|
-
http_status_code 406
|
8
|
-
|
9
|
-
def initialize(response)
|
10
|
-
super(response)
|
11
|
-
end
|
12
|
-
|
13
|
-
end # NotAcceptable
|
14
|
-
end # Error
|
15
|
-
end # Github
|
@@ -1,18 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
module Github #:nodoc
|
4
|
-
# Raised when invalid options are passed to a request body
|
5
|
-
module Error
|
6
|
-
class RequiredParams < ClientError
|
7
|
-
def initialize(provided, required)
|
8
|
-
super(
|
9
|
-
generate_message(
|
10
|
-
:problem => "Missing required parameters: #{provided.keys.join(', ')} provided for this request.",
|
11
|
-
:summary => "Github gem checks the request parameters passed to ensure that github api is not hit unnecessairly and to fail fast.",
|
12
|
-
:resolution => "Required parameters are: #{required.join(', ')}, make sure these are the ones you are using"
|
13
|
-
)
|
14
|
-
)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end # Error
|
18
|
-
end # Github
|
@@ -1,15 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
module Github #:nodoc
|
4
|
-
# Raised when Github returns the HTTP status code 503
|
5
|
-
module Error
|
6
|
-
class ServiceUnavailable < ServiceError
|
7
|
-
http_status_code 503
|
8
|
-
|
9
|
-
def initialize(response)
|
10
|
-
super(response)
|
11
|
-
end
|
12
|
-
|
13
|
-
end # ServiceUnavailable
|
14
|
-
end # Error
|
15
|
-
end # Github
|
@@ -1,15 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
module Github #:nodoc
|
4
|
-
# Raised when Github returns the HTTP status code 401
|
5
|
-
module Error
|
6
|
-
class Unauthorized < ServiceError
|
7
|
-
http_status_code 401
|
8
|
-
|
9
|
-
def initialize(response)
|
10
|
-
super(response)
|
11
|
-
end
|
12
|
-
|
13
|
-
end # Unauthorized
|
14
|
-
end # Error
|
15
|
-
end # Github
|
@@ -1,18 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
module Github #:nodoc
|
4
|
-
# Raised when invalid options are passed to a request body
|
5
|
-
module Error
|
6
|
-
class UnknownMedia < ClientError
|
7
|
-
def initialize(file)
|
8
|
-
super(
|
9
|
-
generate_message(
|
10
|
-
:problem => "Unknown content type for: '#{file}' provided for this request.",
|
11
|
-
:summary => "Github gem infers the content type of the resource by calling the mime-types gem type inference.",
|
12
|
-
:resolution => "Please install mime-types gem to infer the resource content type."
|
13
|
-
)
|
14
|
-
)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end # Error
|
18
|
-
end # Github
|
@@ -1,18 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
module Github #:nodoc
|
4
|
-
# Raised when invalid options are passed to a request body
|
5
|
-
module Error
|
6
|
-
class UnknownValue < ClientError
|
7
|
-
def initialize(key, value, permitted)
|
8
|
-
super(
|
9
|
-
generate_message(
|
10
|
-
:problem => "Wrong value of '#{value}' for the parameter: #{key} provided for this request.",
|
11
|
-
:summary => "Github gem checks the request parameters passed to ensure that github api is not hit unnecessairly and fails fast.",
|
12
|
-
:resolution => "Permitted values are: #{permitted}, make sure these are the ones you are using"
|
13
|
-
)
|
14
|
-
)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end # Error
|
18
|
-
end # Github
|
@@ -1,14 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
module Github #:nodoc
|
4
|
-
# Raised when Github returns the HTTP status code 422
|
5
|
-
module Error
|
6
|
-
class UnprocessableEntity < ServiceError
|
7
|
-
http_status_code 422
|
8
|
-
|
9
|
-
def initialize(response)
|
10
|
-
super(response)
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end # Error
|
14
|
-
end # Github
|
@@ -1,18 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
module Github #:nodoc
|
4
|
-
# Raised when passed parameters are missing or contain wrong values.
|
5
|
-
module Error
|
6
|
-
class Validations < ClientError
|
7
|
-
def initialize(errors)
|
8
|
-
super(
|
9
|
-
generate_message(
|
10
|
-
:problem => "Attempted to send request with nil arguments for #{errors.keys.join(', ')}.",
|
11
|
-
:summary => 'Each request expects certain number of required arguments.',
|
12
|
-
:resolution => 'Double check that the provided arguments are set to some value that is neither nil nor empty string.'
|
13
|
-
)
|
14
|
-
)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end # Error
|
18
|
-
end # Github
|