google-cloud-env 1.3.0 → 1.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +30 -0
- data/CONTRIBUTING.md +31 -83
- data/LICENSE +2 -2
- data/README.md +2 -2
- data/lib/google/cloud/env.rb +11 -3
- data/lib/google/cloud/env/version.rb +1 -1
- metadata +16 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3cc8828b19648ebf3ddbf107e0752ca0dfec854602d7f295ee5a96a3f9a87552
|
4
|
+
data.tar.gz: 4cd7a33f479ea15c423695b4652ce82f1f411d33954b8102dea32aef19ee7b6e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a2ec60debebb19dfb788b07124fec5855ce2baf795f7d97a9e2d0c43bbcc0a3f599d8a84e85592283dda5a1b735c170fbfd702fb48fdd5645e469340a684c864
|
7
|
+
data.tar.gz: 1615868a96d4f5d3ebbc064b99e29b79cc3446a253c1becd94abe27c71a6e60c1e59b4b2b3ec9a5c4bff52ff1f1c6fbd4acaf60a9b55ea7c4aa5e4310b633630
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,35 @@
|
|
1
1
|
# Release History
|
2
2
|
|
3
|
+
### 1.5.0 (2021-03-08)
|
4
|
+
|
5
|
+
#### Features
|
6
|
+
|
7
|
+
* Drop support for Ruby 2.4 and add support for Ruby 3.0
|
8
|
+
|
9
|
+
### 1.4.0 / 2020-10-12
|
10
|
+
|
11
|
+
#### Features
|
12
|
+
|
13
|
+
* Honor GCE_METADATA_HOST environment variable
|
14
|
+
|
15
|
+
### 1.3.3 / 2020-07-10
|
16
|
+
|
17
|
+
#### Bug Fixes
|
18
|
+
|
19
|
+
* Project ID logic honors GOOGLE_CLOUD_PROJECT
|
20
|
+
|
21
|
+
### 1.3.2 / 2020-05-28
|
22
|
+
|
23
|
+
#### Documentation
|
24
|
+
|
25
|
+
* Fix a few broken links
|
26
|
+
|
27
|
+
### 1.3.1 / 2020-03-02
|
28
|
+
|
29
|
+
#### Bug Fixes
|
30
|
+
|
31
|
+
* support faraday 1.x
|
32
|
+
|
3
33
|
### 1.3.0 / 2019-10-23
|
4
34
|
|
5
35
|
Now requires Ruby 2.4 or later.
|
data/CONTRIBUTING.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Contributing to Google Cloud
|
1
|
+
# Contributing to Google Cloud Ruby Client
|
2
2
|
|
3
3
|
1. **Sign one of the contributor license agreements below.**
|
4
4
|
2. Fork the repo, develop and test your code changes.
|
@@ -6,118 +6,66 @@
|
|
6
6
|
|
7
7
|
## Contributor License Agreements
|
8
8
|
|
9
|
-
Before we can accept your pull requests you'll need to sign a Contributor
|
10
|
-
License Agreement (CLA):
|
9
|
+
Before we can accept your pull requests you'll need to sign a Contributor License Agreement (CLA):
|
11
10
|
|
12
|
-
- **If you are an individual writing original source code** and **you own the
|
13
|
-
|
14
|
-
CLA](https://developers.google.com/open-source/cla/individual).
|
15
|
-
- **If you work for a company that wants to allow you to contribute your work**,
|
16
|
-
then you'll need to sign a [corporate
|
17
|
-
CLA](https://developers.google.com/open-source/cla/corporate).
|
11
|
+
- **If you are an individual writing original source code** and **you own the intellectual property**, then you'll need to sign an [individual CLA](https://developers.google.com/open-source/cla/individual).
|
12
|
+
- **If you work for a company that wants to allow you to contribute your work**, then you'll need to sign a [corporate CLA](https://developers.google.com/open-source/cla/corporate).
|
18
13
|
|
19
|
-
You can sign these electronically (just scroll to the bottom). After that, we'll
|
20
|
-
be able to accept your pull requests.
|
14
|
+
You can sign these electronically (just scroll to the bottom). After that, we'll be able to accept your pull requests.
|
21
15
|
|
22
16
|
## Setup
|
23
17
|
|
24
|
-
In order to use the google-cloud-
|
25
|
-
|
18
|
+
In order to use the google-cloud-ruby console and run the project's tests, there is a
|
19
|
+
small amount of setup:
|
26
20
|
|
27
|
-
1.
|
28
|
-
|
29
|
-
[rbenv](https://github.com/rbenv/rbenv), or
|
30
|
-
[chruby](https://github.com/postmodern/chruby).
|
21
|
+
1. Install Ruby.
|
22
|
+
google-cloud-env requires Ruby 2.4+. You may choose to manage your Ruby and gem installations with [RVM](https://rvm.io/), [rbenv](https://github.com/rbenv/rbenv), or [chruby](https://github.com/postmodern/chruby).
|
31
23
|
|
32
|
-
2.
|
24
|
+
2. Install [Bundler](http://bundler.io/).
|
33
25
|
|
34
|
-
|
35
|
-
|
36
|
-
|
26
|
+
```sh
|
27
|
+
$ gem install bundler
|
28
|
+
```
|
37
29
|
|
38
|
-
3.
|
30
|
+
3. Install the project dependencies.
|
39
31
|
|
40
|
-
|
41
|
-
|
42
|
-
|
32
|
+
```sh
|
33
|
+
$ bundle install
|
34
|
+
```
|
43
35
|
|
44
|
-
|
36
|
+
## Tests
|
45
37
|
|
46
|
-
|
47
|
-
$ cd google-cloud-env/
|
48
|
-
$ bundle exec rake bundleupdate
|
49
|
-
```
|
38
|
+
All contributions should include tests that ensure the contributed code behaves as expected.
|
50
39
|
|
51
|
-
|
52
|
-
|
53
|
-
In order to run code interactively, you can automatically load
|
54
|
-
google-cloud-env 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-env/
|
61
|
-
$ bundle exec rake console
|
62
|
-
```
|
63
|
-
|
64
|
-
## hosting environment Tests
|
65
|
-
|
66
|
-
Tests are very important part of google-cloud-env. All contributions
|
67
|
-
should include tests that ensure the contributed code behaves as expected.
|
68
|
-
|
69
|
-
To run the unit tests, documentation tests, and code style checks together for a
|
70
|
-
package:
|
40
|
+
To run the tests and code style checks together:
|
71
41
|
|
72
42
|
``` sh
|
73
|
-
$ cd google-cloud-env/
|
74
43
|
$ bundle exec rake ci
|
75
44
|
```
|
76
45
|
|
77
|
-
|
78
|
-
its handy alias, `rake ci:a`.
|
79
|
-
|
80
|
-
### hosting environment Unit Tests
|
81
|
-
|
46
|
+
### Unit Tests
|
82
47
|
|
83
|
-
The project uses the [minitest](https://github.com/seattlerb/minitest) library,
|
84
|
-
including [specs](https://github.com/seattlerb/minitest#specs),
|
85
|
-
[mocks](https://github.com/seattlerb/minitest#mocks) and
|
86
|
-
[minitest-autotest](https://github.com/seattlerb/minitest-autotest).
|
48
|
+
The project uses the [minitest](https://github.com/seattlerb/minitest) library, including [specs](https://github.com/seattlerb/minitest#specs), [mocks](https://github.com/seattlerb/minitest#mocks) and [minitest-autotest](https://github.com/seattlerb/minitest-autotest).
|
87
49
|
|
88
|
-
To run the
|
50
|
+
To run the unit tests for a package:
|
89
51
|
|
90
52
|
``` sh
|
91
|
-
$ cd google-cloud-env/
|
92
53
|
$ bundle exec rake test
|
93
54
|
```
|
94
55
|
|
95
|
-
###
|
56
|
+
### Coding Style
|
96
57
|
|
97
|
-
|
98
|
-
[YARD](https://github.com/lsegal/yard)-based documentation.
|
58
|
+
Please follow the established coding style in the library. The style is is largely based on [The Ruby Style Guide](https://github.com/bbatsov/ruby-style-guide) with a few exceptions based on seattle-style:
|
99
59
|
|
100
|
-
|
101
|
-
|
102
|
-
[yard-doctest](https://github.com/p0deje/yard-doctest), is based on the
|
103
|
-
project's unit test library, [minitest](https://github.com/seattlerb/minitest).
|
60
|
+
* Avoid parenthesis when possible, including in method definitions.
|
61
|
+
* Always use double quotes strings. ([Option B](https://github.com/bbatsov/ruby-style-guide#strings))
|
104
62
|
|
105
|
-
|
63
|
+
You can check your code against these rules by running Rubocop like so:
|
106
64
|
|
107
|
-
```
|
108
|
-
$
|
109
|
-
$ bundle exec rake doctest
|
65
|
+
```sh
|
66
|
+
$ bundle exec rake rubocop
|
110
67
|
```
|
111
68
|
|
112
|
-
If you add, remove or modify documentation examples when working on a pull
|
113
|
-
request, you may need to update the setup for the tests. The stubs and mocks
|
114
|
-
required to run the tests are located in `support/doctest_helper.rb`. Please
|
115
|
-
note that much of the setup is matched by the title of the
|
116
|
-
[`@example`](http://www.rubydoc.info/gems/yard/file/docs/Tags.md#example) tag.
|
117
|
-
If you alter an example's title, you may encounter breaking tests.
|
118
|
-
|
119
69
|
## Code of Conduct
|
120
70
|
|
121
|
-
Please note that this project is released with a Contributor Code of Conduct. By
|
122
|
-
participating in this project you agree to abide by its terms. See
|
123
|
-
{file:CODE_OF_CONDUCT.md Code of Conduct} for more information.
|
71
|
+
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms. See [Code of Conduct](CODE_OF_CONDUCT.md) for more information.
|
data/LICENSE
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Apache License
|
2
2
|
Version 2.0, January 2004
|
3
|
-
|
3
|
+
http://www.apache.org/licenses/
|
4
4
|
|
5
5
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
6
6
|
|
@@ -192,7 +192,7 @@
|
|
192
192
|
you may not use this file except in compliance with the License.
|
193
193
|
You may obtain a copy of the License at
|
194
194
|
|
195
|
-
|
195
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
196
196
|
|
197
197
|
Unless required by applicable law or agreed to in writing, software
|
198
198
|
distributed under the License is distributed on an "AS IS" BASIS,
|
data/README.md
CHANGED
@@ -7,11 +7,11 @@ apps running on Google Cloud Platform.
|
|
7
7
|
|
8
8
|
## Supported Ruby Versions
|
9
9
|
|
10
|
-
This library is supported on Ruby 2.
|
10
|
+
This library is supported on Ruby 2.5+.
|
11
11
|
|
12
12
|
Google provides official support for Ruby versions that are actively supported
|
13
13
|
by Ruby Core—that is, Ruby versions that are either in normal maintenance or in
|
14
|
-
security maintenance, and not end of life. Currently, this means Ruby 2.
|
14
|
+
security maintenance, and not end of life. Currently, this means Ruby 2.5 and
|
15
15
|
later. Older versions of Ruby _may_ still work, but are unsupported and not
|
16
16
|
recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details
|
17
17
|
about the Ruby support schedule.
|
data/lib/google/cloud/env.rb
CHANGED
@@ -82,6 +82,9 @@ module Google
|
|
82
82
|
# well as mocking for testing.
|
83
83
|
#
|
84
84
|
# @param [Hash] env Mock environment variables.
|
85
|
+
# @param [String] host The hostname or IP address of the metadata server.
|
86
|
+
# Optional. If not specified, uses the `GCE_METADATA_HOST`,
|
87
|
+
# environment variable or falls back to `169.254.167.254`.
|
85
88
|
# @param [Hash,false] metadata_cache The metadata cache. You may pass
|
86
89
|
# a prepopuated cache, an empty cache (the default) or `false` to
|
87
90
|
# disable the cache completely.
|
@@ -102,7 +105,7 @@ module Google
|
|
102
105
|
# If specified, overrides the `request_timeout` and `open_timeout`
|
103
106
|
# settings.
|
104
107
|
#
|
105
|
-
def initialize env: nil, connection: nil, metadata_cache: nil,
|
108
|
+
def initialize env: nil, host: nil, connection: nil, metadata_cache: nil,
|
106
109
|
open_timeout: 0.1, request_timeout: 1.0,
|
107
110
|
retry_count: 2, retry_interval: 0.1,
|
108
111
|
retry_backoff_factor: 1.5, retry_max_interval: 0.5
|
@@ -114,7 +117,9 @@ module Google
|
|
114
117
|
@retry_backoff_factor = retry_backoff_factor
|
115
118
|
@retry_max_interval = retry_max_interval
|
116
119
|
request_opts = { timeout: request_timeout, open_timeout: open_timeout }
|
117
|
-
|
120
|
+
host ||= @env["GCE_METADATA_HOST"] || METADATA_HOST
|
121
|
+
host = "http://#{host}" unless host.start_with? "http://"
|
122
|
+
@connection = connection || ::Faraday.new(url: host, request: request_opts)
|
118
123
|
end
|
119
124
|
|
120
125
|
##
|
@@ -210,7 +215,10 @@ module Google
|
|
210
215
|
# @return [String,nil]
|
211
216
|
#
|
212
217
|
def project_id
|
213
|
-
env["
|
218
|
+
env["GOOGLE_CLOUD_PROJECT"] ||
|
219
|
+
env["GCLOUD_PROJECT"] ||
|
220
|
+
env["DEVSHELL_PROJECT_ID"] ||
|
221
|
+
lookup_metadata("project", "project-id")
|
214
222
|
end
|
215
223
|
|
216
224
|
##
|
metadata
CHANGED
@@ -1,29 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-cloud-env
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Azuma
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-03-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.17.3
|
20
|
+
- - "<"
|
18
21
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0
|
22
|
+
version: '2.0'
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - "
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 0.17.3
|
30
|
+
- - "<"
|
25
31
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0
|
32
|
+
version: '2.0'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: autotest-suffix
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,14 +50,14 @@ dependencies:
|
|
44
50
|
requirements:
|
45
51
|
- - "~>"
|
46
52
|
- !ruby/object:Gem::Version
|
47
|
-
version: 1.
|
53
|
+
version: 1.25.1
|
48
54
|
type: :development
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
51
57
|
requirements:
|
52
58
|
- - "~>"
|
53
59
|
- !ruby/object:Gem::Version
|
54
|
-
version: 1.
|
60
|
+
version: 1.25.1
|
55
61
|
- !ruby/object:Gem::Dependency
|
56
62
|
name: minitest
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -195,14 +201,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
195
201
|
requirements:
|
196
202
|
- - ">="
|
197
203
|
- !ruby/object:Gem::Version
|
198
|
-
version: '2.
|
204
|
+
version: '2.5'
|
199
205
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
200
206
|
requirements:
|
201
207
|
- - ">="
|
202
208
|
- !ruby/object:Gem::Version
|
203
209
|
version: '0'
|
204
210
|
requirements: []
|
205
|
-
rubygems_version: 3.
|
211
|
+
rubygems_version: 3.2.13
|
206
212
|
signing_key:
|
207
213
|
specification_version: 4
|
208
214
|
summary: Google Cloud Platform hosting environment information.
|