google-gax 1.7.0 → 1.8.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7271bd48161698b84de9f66e337c3742e44b765f75fa1344c2e59b3608359e65
4
- data.tar.gz: d2483f6d0f41e82f6655a1d5893712785721b73b7c675772752f457c9de0986e
3
+ metadata.gz: 20b3e2d26842efe097aa2dcbfd5690fa3b577a4f40293344e6a126688ca6d6f7
4
+ data.tar.gz: afaad7f7b6779fae1d74ee7326cd2cfc1036cf39b850b016898d4d1bc7f52d84
5
5
  SHA512:
6
- metadata.gz: 8b92de0ba1398fd9d71a7cdd66aa000975677996fefcfdcf4828d12c6fff7194c0b93da9178eaf26d51d924f77dc3b493ad3bffba5011d1e8ea7bfb670d92311
7
- data.tar.gz: cf0103edeab0f7e8244b2e008d72974bb7562236281d6eed0ce2466740f48a56a433d934286d9205d89d84382003ace8f55527250cba09b4868b6b57b80b74e1
6
+ metadata.gz: b00b903385705b8dd29be713957384a73c034cd0f2becf7e6865bdfba4ce5f621842851610340e9db080d86691a39fc95a90bbcf824a5ce2c602498388fc2d70
7
+ data.tar.gz: 86ef7fc8840b8c16ed45fbba83a6f97a8eebe39549ef6dec78314c61402e8c5a8929ad7979a4819c2a305f76ff5b166e74b5083f14ce13fbe6cdcb1f4792e4a1
data/README.md CHANGED
@@ -21,7 +21,12 @@ provide a more convenient and idiomatic API surface to callers.
21
21
  Ruby Versions
22
22
  ---------------
23
23
 
24
- gax-ruby is currently tested with Ruby 2.2.4.
24
+ This library requires Ruby 2.4 or later.
25
+
26
+ In general, this library supports Ruby versions that are considered current and
27
+ supported by Ruby Core (that is, Ruby versions that are either in normal
28
+ maintenance or in security maintenance).
29
+ See https://www.ruby-lang.org/en/downloads/branches/ for further details.
25
30
 
26
31
 
27
32
  Contributing
@@ -511,7 +511,9 @@ module Google
511
511
  bundle_descriptor = bundle_descriptors[snake_name]
512
512
 
513
513
  defaults[snake_name] = CallSettings.new(
514
- timeout: timeout,
514
+ timeout: calc_method_timeout(
515
+ timeout, method_config, overriding_method
516
+ ),
515
517
  retry_options: merge_retry_options(
516
518
  construct_retry(method_config,
517
519
  service_config['retry_codes'],
@@ -533,11 +535,20 @@ module Google
533
535
  defaults
534
536
  end
535
537
 
538
+ # @private Determine timeout in seconds for the current method.
539
+ def calc_method_timeout(timeout, method_config, overriding_method)
540
+ timeout_override = method_config['timeout_millis']
541
+ if overriding_method && overriding_method.key?('timeout_millis')
542
+ timeout_override = overriding_method['timeout_millis']
543
+ end
544
+ timeout_override ? timeout_override / 1000 : timeout
545
+ end
546
+
536
547
  module_function :construct_settings, :construct_bundling,
537
548
  :construct_retry, :upper_camel_to_lower_underscore,
538
- :merge_retry_options
549
+ :merge_retry_options, :calc_method_timeout
539
550
  private_class_method :construct_bundling, :construct_retry,
540
551
  :upper_camel_to_lower_underscore,
541
- :merge_retry_options
552
+ :merge_retry_options, :calc_method_timeout
542
553
  end
543
554
  end
@@ -29,6 +29,6 @@
29
29
 
30
30
  module Google
31
31
  module Gax
32
- VERSION = '1.7.0'.freeze
32
+ VERSION = '1.8.0'.freeze
33
33
  end
34
34
  end
@@ -63,6 +63,9 @@ A_CONFIG = {
63
63
  'SomeHTTPSPageStreamingMethod' => {
64
64
  'retry_codes_name' => 'bar_retry',
65
65
  'retry_params_name' => 'default'
66
+ },
67
+ 'TimeoutMethod' => {
68
+ 'timeout_millis' => 10_000
66
69
  }
67
70
  }
68
71
  }
@@ -119,6 +122,9 @@ describe Google::Gax do
119
122
  )
120
123
  expect(settings.metadata).to match('key' => 'value')
121
124
  expect(settings.errors).to match_array([StandardError])
125
+
126
+ settings = defaults['timeout_method']
127
+ expect(settings.timeout).to be(10)
122
128
  end
123
129
 
124
130
  it 'overrides settings' do
@@ -129,6 +135,9 @@ describe Google::Gax do
129
135
  'SomeHTTPSPageStreamingMethod' => nil,
130
136
  'BundlingMethod' => {
131
137
  'bundling' => nil
138
+ },
139
+ 'TimeoutMethod' => {
140
+ 'timeout_millis' => nil
132
141
  }
133
142
  }
134
143
  }
@@ -149,6 +158,9 @@ describe Google::Gax do
149
158
  expect(settings.timeout).to be(30)
150
159
  expect(settings.page_descriptor).to be_a(Google::Gax::PageDescriptor)
151
160
  expect(settings.retry_options).to be_nil
161
+
162
+ settings = defaults['timeout_method']
163
+ expect(settings.timeout).to be(30)
152
164
  end
153
165
 
154
166
  it 'overrides settings more precisely' do
@@ -174,6 +186,9 @@ describe Google::Gax do
174
186
  'BundlingMethod' => {
175
187
  'retry_params_name' => 'default',
176
188
  'retry_codes_name' => 'baz_retry'
189
+ },
190
+ 'TimeoutMethod' => {
191
+ 'timeout_millis' => 20_000
177
192
  }
178
193
  }
179
194
  }
@@ -205,5 +220,8 @@ describe Google::Gax do
205
220
  expect(settings.retry_options.retry_codes).to match_array(
206
221
  [RETRY_DICT['code_c']]
207
222
  )
223
+
224
+ settings = defaults['timeout_method']
225
+ expect(settings.timeout).to be(20)
208
226
  end
209
227
  end
metadata CHANGED
@@ -1,62 +1,50 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-gax
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google API Authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-06-27 00:00:00.000000000 Z
11
+ date: 2019-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: googleauth
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 0.6.2
20
- - - "<"
17
+ - - "~>"
21
18
  - !ruby/object:Gem::Version
22
19
  version: 0.10.0
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: 0.6.2
30
- - - "<"
24
+ - - "~>"
31
25
  - !ruby/object:Gem::Version
32
26
  version: 0.10.0
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: grpc
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
- - - ">="
38
- - !ruby/object:Gem::Version
39
- version: 1.7.2
40
- - - "<"
31
+ - - "~>"
41
32
  - !ruby/object:Gem::Version
42
- version: '2.0'
33
+ version: '1.24'
43
34
  type: :runtime
44
35
  prerelease: false
45
36
  version_requirements: !ruby/object:Gem::Requirement
46
37
  requirements:
47
- - - ">="
48
- - !ruby/object:Gem::Version
49
- version: 1.7.2
50
- - - "<"
38
+ - - "~>"
51
39
  - !ruby/object:Gem::Version
52
- version: '2.0'
40
+ version: '1.24'
53
41
  - !ruby/object:Gem::Dependency
54
42
  name: googleapis-common-protos
55
43
  requirement: !ruby/object:Gem::Requirement
56
44
  requirements:
57
45
  - - ">="
58
46
  - !ruby/object:Gem::Version
59
- version: 1.3.5
47
+ version: 1.3.9
60
48
  - - "<"
61
49
  - !ruby/object:Gem::Version
62
50
  version: '2.0'
@@ -66,7 +54,7 @@ dependencies:
66
54
  requirements:
67
55
  - - ">="
68
56
  - !ruby/object:Gem::Version
69
- version: 1.3.5
57
+ version: 1.3.9
70
58
  - - "<"
71
59
  - !ruby/object:Gem::Version
72
60
  version: '2.0'
@@ -76,14 +64,14 @@ dependencies:
76
64
  requirements:
77
65
  - - "~>"
78
66
  - !ruby/object:Gem::Version
79
- version: '3.2'
67
+ version: '3.9'
80
68
  type: :runtime
81
69
  prerelease: false
82
70
  version_requirements: !ruby/object:Gem::Requirement
83
71
  requirements:
84
72
  - - "~>"
85
73
  - !ruby/object:Gem::Version
86
- version: '3.2'
74
+ version: '3.9'
87
75
  - !ruby/object:Gem::Dependency
88
76
  name: rly
89
77
  requirement: !ruby/object:Gem::Requirement
@@ -215,7 +203,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
215
203
  requirements:
216
204
  - - ">="
217
205
  - !ruby/object:Gem::Version
218
- version: 2.0.0
206
+ version: 2.4.0
219
207
  required_rubygems_version: !ruby/object:Gem::Requirement
220
208
  requirements:
221
209
  - - ">="