arvados-google-api-client 0.8.7.5 → 0.8.7.6

Sign up to get free protection for your applications and to get access to all the features.
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: []