arvados-google-api-client 0.8.7.5 → 0.8.7.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dd751a365b72440d5a16351517a9f7ec7d4d66693c0a6f58ad016f4e52a66d77
4
- data.tar.gz: d5322f288a12e01607bd9b34f690547137d20e8a80f19a6f26259ea79abbeb64
3
+ metadata.gz: 3b66c7d46eb69544bbd4dceb0187b3e8c794b0eab06a88b0f0c12815f095f40b
4
+ data.tar.gz: e8948b2721dcd00013c816d36d1fc602a5ce15918d1c0d28b2722855f761f9a6
5
5
  SHA512:
6
- metadata.gz: bb9678214cb4d03bde9f26c4640146a07dabd29cfab0620c02e055023b4d6fa8c0e151a3cbbcc5cbb6d2d1903493f9d5a55e37ff449c28525ff59bf47859884b
7
- data.tar.gz: 33814d57bce05a2789a2791407f6c158d9c38cbe4285e953481660b2526ec940b17ca8a504ee345a358cc41339e1c52964ed074d82e43bcd7f46f7ba0e406982
6
+ metadata.gz: 543b11a3bd80fb68891f7767760394f90c327274e53c1183e628c7f81d648f0b84d2a24ea7b63e8942af2bb62d1ef6a39f6657c22d749ee995cc47605ace9ec4
7
+ data.tar.gz: 88bbf7ee54bb883383f807948859e60af6793fa67d938c02a4d41cea729477fb46c43d67a428980187f9bfecf6f5552ec36b155650d1a5c81e931156ce8bb73e
data/README.md CHANGED
@@ -1,218 +1,7 @@
1
- # Google API Client
1
+ # Arvados Google API Client
2
2
 
3
- <dl>
4
- <dt>Homepage</dt><dd><a href="http://www.github.com/google/google-api-ruby-client">http://www.github.com/google/google-api-ruby-client</a></dd>
5
- <dt>Authors</dt><dd>Bob Aman, <a href="mailto:sbazyl@google.com">Steven Bazyl</a></dd>
6
- <dt>Copyright</dt><dd>Copyright © 2011 Google, Inc.</dd>
7
- <dt>License</dt><dd>Apache 2.0</dd>
8
- </dl>
3
+ This is a fork of the google-api-client gem, based on https://github.com/google/google-api-ruby-client version 0.8.6.
9
4
 
10
- [![Build Status](https://secure.travis-ci.org/google/google-api-ruby-client.png)](http://travis-ci.org/google/google-api-ruby-client)
11
- [![Dependency Status](https://gemnasium.com/google/google-api-ruby-client.png)](https://gemnasium.com/google/google-api-ruby-client)
5
+ It adds compatibility fixes for newer versions of dependencies (Ruby, faraday, etc.) while avoiding the breaking API changes that have been made in the upstream project.
12
6
 
13
- ## Description
14
-
15
- The Google API Ruby Client makes it trivial to discover and access supported
16
- APIs.
17
-
18
- ## Alpha
19
-
20
- This library is in Alpha. We will make an effort to support the library, but we reserve the right to make incompatible changes when necessary.
21
-
22
- ## Install
23
-
24
- Be sure `https://rubygems.org/` is in your gem sources.
25
-
26
- For normal client usage, this is sufficient:
27
-
28
- ```bash
29
- $ gem install google-api-client
30
- ```
31
-
32
- ## Example Usage
33
-
34
- ```ruby
35
- require 'google/api_client'
36
- require 'google/api_client/client_secrets'
37
- require 'google/api_client/auth/installed_app'
38
-
39
- # Initialize the client.
40
- client = Google::APIClient.new(
41
- :application_name => 'Example Ruby application',
42
- :application_version => '1.0.0'
43
- )
44
-
45
- # Initialize Google+ API. Note this will make a request to the
46
- # discovery service every time, so be sure to use serialization
47
- # in your production code. Check the samples for more details.
48
- plus = client.discovered_api('plus')
49
-
50
- # Load client secrets from your client_secrets.json.
51
- client_secrets = Google::APIClient::ClientSecrets.load
52
-
53
- # Run installed application flow. Check the samples for a more
54
- # complete example that saves the credentials between runs.
55
- flow = Google::APIClient::InstalledAppFlow.new(
56
- :client_id => client_secrets.client_id,
57
- :client_secret => client_secrets.client_secret,
58
- :scope => ['https://www.googleapis.com/auth/plus.me']
59
- )
60
- client.authorization = flow.authorize
61
-
62
- # Make an API call.
63
- result = client.execute(
64
- :api_method => plus.activities.list,
65
- :parameters => {'collection' => 'public', 'userId' => 'me'}
66
- )
67
-
68
- puts result.data
69
- ```
70
-
71
- ## API Features
72
-
73
- ### API Discovery
74
-
75
- To take full advantage of the client, load API definitions prior to use. To load an API:
76
-
77
- ```ruby
78
- urlshortener = client.discovered_api('urlshortener')
79
- ```
80
-
81
- Specific versions of the API can be loaded as well:
82
-
83
- ```ruby
84
- drive = client.discovered_api('drive', 'v2')
85
- ```
86
-
87
- Locally cached discovery documents may be used as well. To load an API from a local file:
88
-
89
- ```ruby
90
- # Output discovery document to JSON
91
- File.open('my-api.json', 'w') do |f| f.puts MultiJson.dump(client.discovery_document('myapi', 'v1')) end
92
-
93
- # Read discovery document and load API
94
- doc = File.read('my-api.json')
95
- client.register_discovery_document('myapi', 'v1', doc)
96
- my_api = client.discovered_api('myapi', 'v1')
97
- ```
98
-
99
- ### Authorization
100
-
101
- Most interactions with Google APIs require users to authorize applications via OAuth 2.0. The client library uses [Signet](https://github.com/google/signet) to handle most aspects of authorization. For additional details about Google's OAuth support, see [Google Developers](https://developers.google.com/accounts/docs/OAuth2).
102
-
103
- Credentials can be managed at the connection level, as shown, or supplied on a per-request basis when calling `execute`.
104
-
105
- For server-to-server interactions, like those between a web application and Google Cloud Storage, Prediction, or BigQuery APIs, use service accounts.
106
-
107
- As of version 0.8.3, service accounts can be configured using
108
- [Application Default Credentials][1], which rely on the credentials being
109
- available in a well-known location. If the credentials are not present
110
- and it's being used on a Compute Engine VM, it will use the VM's default credentials.
111
-
112
- ```ruby
113
- client.authorization = :google_app_default # in a later version, this will become the default
114
- client.authorization.fetch_access_token!
115
- client.execute(...)
116
- ```
117
-
118
- This is simpler API to use than in previous versions, although that is still available:
119
-
120
- ```ruby
121
- key = Google::APIClient::KeyUtils.load_from_pkcs12('client.p12', 'notasecret')
122
- client.authorization = Signet::OAuth2::Client.new(
123
- :token_credential_uri => 'https://accounts.google.com/o/oauth2/token',
124
- :audience => 'https://accounts.google.com/o/oauth2/token',
125
- :scope => 'https://www.googleapis.com/auth/prediction',
126
- :issuer => '123456-abcdef@developer.gserviceaccount.com',
127
- :signing_key => key)
128
- client.authorization.fetch_access_token!
129
- client.execute(...)
130
- ```
131
-
132
- Service accounts are also used for delegation in Google Apps domains. The target user for impersonation is specified by setting the `:person` parameter to the user's email address
133
- in the credentials. Detailed instructions on how to enable delegation for your domain can be found at [developers.google.com](https://developers.google.com/drive/delegation).
134
-
135
- ### Automatic Retries & Backoff
136
-
137
- The API client can automatically retry requests for recoverable errors. To enable retries, set the `client.retries` property to
138
- the number of additional attempts. To avoid flooding servers, retries invovle a 1 second delay that increases on each subsequent retry.
139
- In the case of authentication token expiry, the API client will attempt to refresh the token and retry the failed operation - this
140
- is a specific exception to the retry rules.
141
-
142
- The default value for retries is 0, but will be enabled by default in future releases.
143
-
144
- ### Batching Requests
145
-
146
- Some Google APIs support batching requests into a single HTTP request. Use `Google::APIClient::BatchRequest`
147
- to bundle multiple requests together.
148
-
149
- Example:
150
-
151
- ```ruby
152
- client = Google::APIClient.new
153
- urlshortener = client.discovered_api('urlshortener')
154
-
155
- batch = Google::APIClient::BatchRequest.new do |result|
156
- puts result.data
157
- end
158
-
159
- batch.add(:api_method => urlshortener.url.insert,
160
- :body_object => { 'longUrl' => 'http://example.com/foo' })
161
- batch.add(:api_method => urlshortener.url.insert,
162
- :body_object => { 'longUrl' => 'http://example.com/bar' })
163
- client.execute(batch)
164
- ```
165
-
166
- Blocks for handling responses can be specified either at the batch level or when adding an individual API call. For example:
167
-
168
- ```ruby
169
- batch.add(:api_method=>urlshortener.url.insert, :body_object => { 'longUrl' => 'http://example.com/bar' }) do |result|
170
- puts result.data
171
- end
172
- ```
173
-
174
- ### Media Upload
175
-
176
- For APIs that support file uploads, use `Google::APIClient::UploadIO` to load the stream. Both multipart and resumable
177
- uploads can be used. For example, to upload a file to Google Drive using multipart
178
-
179
- ```ruby
180
- drive = client.discovered_api('drive', 'v2')
181
-
182
- media = Google::APIClient::UploadIO.new('mymovie.m4v', 'video/mp4')
183
- metadata = {
184
- 'title' => 'My movie',
185
- 'description' => 'The best home movie ever made'
186
- }
187
- client.execute(:api_method => drive.files.insert,
188
- :parameters => { 'uploadType' => 'multipart' },
189
- :body_object => metadata,
190
- :media => media )
191
- ```
192
-
193
- To use resumable uploads, change the `uploadType` parameter to `resumable`. To check the status of the upload
194
- and continue if necessary, check `result.resumable_upload`.
195
-
196
- ```ruby
197
- client.execute(:api_method => drive.files.insert,
198
- :parameters => { 'uploadType' => 'resumable' },
199
- :body_object => metadata,
200
- :media => media )
201
- upload = result.resumable_upload
202
-
203
- # Resume if needed
204
- if upload.resumable?
205
- client.execute(upload)
206
- end
207
- ```
208
-
209
- ## Samples
210
-
211
- See the full list of [samples on Github](https://github.com/google/google-api-ruby-client-samples).
212
-
213
-
214
- ## Support
215
-
216
- Please [report bugs at the project on Github](https://github.com/google/google-api-ruby-client/issues). Don't hesitate to [ask questions](http://stackoverflow.com/questions/tagged/google-api-ruby-client) about the client or APIs on [StackOverflow](http://stackoverflow.com).
217
-
218
- [1]: https://developers.google.com/accounts/docs/application-default-credentials
7
+ It is entirely focused on the use cases needed by the Arvados Ruby SDK and is not intended or expected to work elsewhere.
@@ -20,13 +20,18 @@ Gem::Specification.new do |s|
20
20
  s.files += Dir.glob("vendor/**/*.rb")
21
21
  s.files += Dir.glob("tasks/**/*")
22
22
  s.files += Dir.glob("website/**/*")
23
- s.homepage = "https://github.com/arvados/google-api-ruby-client/"
23
+ s.homepage = "https://github.com/arvados/arvados/tree/main/sdk/ruby-google-api-client"
24
24
  s.rdoc_options = ["--main", "README.md"]
25
25
  s.summary = "Fork of google-api-client used by Ruby-based Arvados components."
26
26
 
27
27
  s.add_runtime_dependency 'addressable', '~> 2.3'
28
28
  s.add_runtime_dependency 'signet', '~> 0.16.0'
29
- s.add_runtime_dependency 'faraday', '~> 2.0'
29
+ # faraday requires Ruby 3.0 starting with 2.9.0. If you install this gem
30
+ # on Ruby 2.7, the dependency resolver asks you to resolve the conflict
31
+ # manually. Instead of teaching all our tooling to do that, we prefer to
32
+ # require the latest version that supports Ruby 2.7 here. This requirement
33
+ # can be relaxed to '~> 2.0' when we drop support for Ruby 2.7.
34
+ s.add_runtime_dependency 'faraday', '~> 2.8.0'
30
35
  s.add_runtime_dependency 'faraday-multipart', '~> 1.0'
31
36
  s.add_runtime_dependency 'faraday-gzip', '~> 2.0'
32
37
  s.add_runtime_dependency 'googleauth', '~> 1.0'
@@ -19,7 +19,7 @@ module Google
19
19
  MAJOR = 0
20
20
  MINOR = 8
21
21
  TINY = 7
22
- PATCH = 5
22
+ PATCH = 6
23
23
  STRING = [MAJOR, MINOR, TINY, PATCH].compact.join('.')
24
24
  end
25
25
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arvados-google-api-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.7.5
4
+ version: 0.8.7.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bob Aman
8
8
  - Steven Bazyl
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-08-24 00:00:00.000000000 Z
12
+ date: 2024-02-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: addressable
@@ -45,14 +45,14 @@ dependencies:
45
45
  requirements:
46
46
  - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: '2.0'
48
+ version: 2.8.0
49
49
  type: :runtime
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: '2.0'
55
+ version: 2.8.0
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: faraday-multipart
58
58
  requirement: !ruby/object:Gem::Requirement
@@ -335,11 +335,11 @@ files:
335
335
  - spec/google/api_client/simple_file_store_spec.rb
336
336
  - spec/google/api_client_spec.rb
337
337
  - spec/spec_helper.rb
338
- homepage: https://github.com/arvados/google-api-ruby-client/
338
+ homepage: https://github.com/arvados/arvados/tree/main/sdk/ruby-google-api-client
339
339
  licenses:
340
340
  - Apache-2.0
341
341
  metadata: {}
342
- post_install_message:
342
+ post_install_message:
343
343
  rdoc_options:
344
344
  - "--main"
345
345
  - README.md
@@ -356,8 +356,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
356
356
  - !ruby/object:Gem::Version
357
357
  version: 1.3.5
358
358
  requirements: []
359
- rubygems_version: 3.1.6
360
- signing_key:
359
+ rubygems_version: 3.4.21
360
+ signing_key:
361
361
  specification_version: 4
362
362
  summary: Fork of google-api-client used by Ruby-based Arvados components.
363
363
  test_files: []