google-cloud-errors 0.0.1 → 1.2.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 +4 -4
- data/CONTRIBUTING.md +3 -17
- data/README.md +2 -2
- data/lib/google/cloud/errors/version.rb +2 -2
- data/lib/google/cloud/errors.rb +63 -8
- data/lib/google-cloud-errors.rb +1 -1
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a6a61f37c71769003ead1eb14bcb92410f3f337fd35fb8b01ae5c42e9023f0f1
|
4
|
+
data.tar.gz: f40064d7121a5a5542921b5d63fa42846c739c3e0ef1458a572ce6d7429afd4d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1467367e06d652f6b052e23d279db7e1380d8b9fc515c90b6e70ab21f633936eabf28855ee3fb56e27807d7911451c66a3cffa1a5e84566002f30d88ffadd108
|
7
|
+
data.tar.gz: 28fb6964f53e4cb349da6c7213154c3f810119cb2efaaad7280fb3040ccd458ef4be8b75bcfde0534b4d779ab0f92ca43076708c77c034a82c2b857dfbf4e12d
|
data/CONTRIBUTING.md
CHANGED
@@ -24,7 +24,7 @@ be able to accept your pull requests.
|
|
24
24
|
In order to use the google-cloud console and run the project's tests,
|
25
25
|
there is a small amount of setup:
|
26
26
|
|
27
|
-
1. Install Ruby. google-cloud requires Ruby 2.
|
27
|
+
1. Install Ruby. google-cloud requires Ruby 2.5+. You may choose to
|
28
28
|
manage your Ruby and gem installations with [RVM](https://rvm.io/),
|
29
29
|
[rbenv](https://github.com/rbenv/rbenv), or
|
30
30
|
[chruby](https://github.com/postmodern/chruby).
|
@@ -45,22 +45,9 @@ there is a small amount of setup:
|
|
45
45
|
|
46
46
|
```sh
|
47
47
|
$ cd google-cloud-errors/
|
48
|
-
$ bundle
|
48
|
+
$ bundle install
|
49
49
|
```
|
50
50
|
|
51
|
-
## Console
|
52
|
-
|
53
|
-
In order to run code interactively, you can automatically load
|
54
|
-
google-cloud and its dependencies in IRB. This requires that your
|
55
|
-
developer environment has already been configured by following the steps
|
56
|
-
described in the {file:AUTHENTICATION.md Authentication Guide}. An IRB console
|
57
|
-
can be created with:
|
58
|
-
|
59
|
-
```sh
|
60
|
-
$ cd google-cloud-errors/
|
61
|
-
$ bundle exec rake console
|
62
|
-
```
|
63
|
-
|
64
51
|
## Google Cloud Tests
|
65
52
|
|
66
53
|
Tests are very important part of google-cloud. All contributions
|
@@ -137,5 +124,4 @@ $ bundle exec rake rubocop
|
|
137
124
|
## Code of Conduct
|
138
125
|
|
139
126
|
Please note that this project is released with a Contributor Code of Conduct. By
|
140
|
-
participating in this project you agree to abide by its terms. See
|
141
|
-
{file:CODE_OF_CONDUCT.md Code of Conduct} for more information.
|
127
|
+
participating in this project you agree to abide by its terms. See {file:CODE_OF_CONDUCT.md Code of Conduct} for more information.
|
data/README.md
CHANGED
@@ -9,11 +9,11 @@ information about Google Cloud gems.
|
|
9
9
|
|
10
10
|
## Supported Ruby Versions
|
11
11
|
|
12
|
-
This library is supported on Ruby 2.
|
12
|
+
This library is supported on Ruby 2.5+.
|
13
13
|
|
14
14
|
Google provides official support for Ruby versions that are actively supported
|
15
15
|
by Ruby Core—that is, Ruby versions that are either in normal maintenance or in
|
16
|
-
security maintenance, and not end of life. Currently, this means Ruby 2.
|
16
|
+
security maintenance, and not end of life. Currently, this means Ruby 2.5 and
|
17
17
|
later. Older versions of Ruby _may_ still work, but are unsupported and not
|
18
18
|
recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details
|
19
19
|
about the Ruby support schedule.
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2020 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
@@ -16,7 +16,7 @@
|
|
16
16
|
module Google
|
17
17
|
module Cloud
|
18
18
|
module Errors
|
19
|
-
VERSION = "
|
19
|
+
VERSION = "1.2.0".freeze
|
20
20
|
end
|
21
21
|
end
|
22
22
|
end
|
data/lib/google/cloud/errors.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2020 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
@@ -36,7 +36,7 @@ module Google
|
|
36
36
|
#
|
37
37
|
# @return [Object, nil]
|
38
38
|
def status_code
|
39
|
-
return nil unless cause
|
39
|
+
return nil unless cause.respond_to? :status_code
|
40
40
|
cause.status_code
|
41
41
|
end
|
42
42
|
|
@@ -49,7 +49,7 @@ module Google
|
|
49
49
|
#
|
50
50
|
# @return [Object, nil]
|
51
51
|
def body
|
52
|
-
return nil unless cause
|
52
|
+
return nil unless cause.respond_to? :body
|
53
53
|
cause.body
|
54
54
|
end
|
55
55
|
|
@@ -62,7 +62,7 @@ module Google
|
|
62
62
|
#
|
63
63
|
# @return [Object, nil]
|
64
64
|
def header
|
65
|
-
return nil unless cause
|
65
|
+
return nil unless cause.respond_to? :header
|
66
66
|
cause.header
|
67
67
|
end
|
68
68
|
|
@@ -75,7 +75,7 @@ module Google
|
|
75
75
|
#
|
76
76
|
# @return [Object, nil]
|
77
77
|
def code
|
78
|
-
return nil unless cause
|
78
|
+
return nil unless cause.respond_to? :code
|
79
79
|
cause.code
|
80
80
|
end
|
81
81
|
|
@@ -88,7 +88,7 @@ module Google
|
|
88
88
|
#
|
89
89
|
# @return [Object, nil]
|
90
90
|
def details
|
91
|
-
return nil unless cause
|
91
|
+
return nil unless cause.respond_to? :details
|
92
92
|
cause.details
|
93
93
|
end
|
94
94
|
|
@@ -101,7 +101,7 @@ module Google
|
|
101
101
|
#
|
102
102
|
# @return [Object, nil]
|
103
103
|
def metadata
|
104
|
-
return nil unless cause
|
104
|
+
return nil unless cause.respond_to? :metadata
|
105
105
|
cause.metadata
|
106
106
|
end
|
107
107
|
|
@@ -114,10 +114,65 @@ module Google
|
|
114
114
|
#
|
115
115
|
# @return [Object, nil]
|
116
116
|
def status_details
|
117
|
-
return nil unless cause
|
117
|
+
return nil unless cause.respond_to? :status_details
|
118
118
|
cause.status_details
|
119
119
|
end
|
120
120
|
|
121
|
+
##
|
122
|
+
# Returns the `::Google::Rpc::ErrorInfo` object present in `status_details` array,
|
123
|
+
# given that the following is true:
|
124
|
+
# * `status_details` exists and is an array
|
125
|
+
# * there is exactly one `::Google::Rpc::ErrorInfo` object in the `status_details` array
|
126
|
+
#
|
127
|
+
# @return [::Google::Rpc::ErrorInfo, nil]
|
128
|
+
def error_info
|
129
|
+
@error_info ||= if status_details.is_a? Array
|
130
|
+
error_infos = status_details.find_all { |status| status.is_a?(::Google::Rpc::ErrorInfo) }
|
131
|
+
if error_infos.length == 1
|
132
|
+
error_infos[0]
|
133
|
+
end
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
137
|
+
##
|
138
|
+
# Returns the value of `domain` from the `::Google::Rpc::ErrorInfo`
|
139
|
+
# object, if it exists in the `status_details` array.
|
140
|
+
#
|
141
|
+
# This is typically present on errors originating from calls to an API
|
142
|
+
# over gRPC.
|
143
|
+
#
|
144
|
+
# @return [Object, nil]
|
145
|
+
def domain
|
146
|
+
return nil unless error_info.respond_to? :domain
|
147
|
+
error_info.domain
|
148
|
+
end
|
149
|
+
|
150
|
+
##
|
151
|
+
# Returns the value of `reason` from the `::Google::Rpc::ErrorInfo`
|
152
|
+
# object, if it exists in the `status_details` array.
|
153
|
+
#
|
154
|
+
# This is typically present on errors originating from calls to an API
|
155
|
+
# over gRPC.
|
156
|
+
#
|
157
|
+
# @return [Object, nil]
|
158
|
+
def reason
|
159
|
+
return nil unless error_info.respond_to? :reason
|
160
|
+
error_info.reason
|
161
|
+
end
|
162
|
+
|
163
|
+
##
|
164
|
+
# Returns the value of `metadata` from the `::Google::Rpc::ErrorInfo`
|
165
|
+
# object, if it exists in the `status_details` array.
|
166
|
+
#
|
167
|
+
# This is typically present on errors originating from calls to an API
|
168
|
+
# over gRPC.
|
169
|
+
#
|
170
|
+
# @return [Hash, nil]
|
171
|
+
def error_metadata
|
172
|
+
return nil unless error_info.respond_to? :metadata
|
173
|
+
error_info.metadata.to_h
|
174
|
+
end
|
175
|
+
|
121
176
|
# @private Create a new error object from a client error
|
122
177
|
def self.from_error error
|
123
178
|
klass = if error.respond_to? :code
|
data/lib/google-cloud-errors.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-cloud-errors
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Moore
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2021-09-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: autotest-suffix
|
@@ -31,28 +31,28 @@ dependencies:
|
|
31
31
|
requirements:
|
32
32
|
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: 1.
|
34
|
+
version: 1.25.1
|
35
35
|
type: :development
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: 1.
|
41
|
+
version: 1.25.1
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: minitest
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
46
|
- - "~>"
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version: '5.
|
48
|
+
version: '5.14'
|
49
49
|
type: :development
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
53
|
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version: '5.
|
55
|
+
version: '5.14'
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: minitest-autotest
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
@@ -179,14 +179,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
179
179
|
requirements:
|
180
180
|
- - ">="
|
181
181
|
- !ruby/object:Gem::Version
|
182
|
-
version: '2.
|
182
|
+
version: '2.5'
|
183
183
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
184
184
|
requirements:
|
185
185
|
- - ">="
|
186
186
|
- !ruby/object:Gem::Version
|
187
187
|
version: '0'
|
188
188
|
requirements: []
|
189
|
-
rubygems_version: 3.
|
189
|
+
rubygems_version: 3.2.17
|
190
190
|
signing_key:
|
191
191
|
specification_version: 4
|
192
192
|
summary: Error classes for google-cloud-ruby
|