gapic-common 0.10.0 → 0.11.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/CHANGELOG.md +10 -0
- data/lib/gapic/call_options/retry_policy.rb +16 -0
- data/lib/gapic/call_options.rb +32 -0
- data/lib/gapic/common/version.rb +1 -1
- data/lib/gapic/rest/grpc_transcoder.rb +5 -9
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2760df5ba60e10af0fcea12a09d984b020d5dde80a2969cef159272a1e766731
|
4
|
+
data.tar.gz: ad50bd4473dbf92bd8f31cdcaa0ab87bb08d53c359fc45f7b4f335bac0bcc56c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ffd0f60edffb9a9d57113d13d46300d7da0102291d10977f5e900baf482a9c2822180a75460e0079e457dca861cd0bc9af15cc80694021de5c1ab9ad23b2c7a3
|
7
|
+
data.tar.gz: ed5d777bdb4ae4359b3fb6b1ee1b12e751541b565b08fdeacc4f698caeac878b7a3a540b2004bf63b7bb8a063da51620e7892ac5bcae98234ff969e804456cc7
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,15 @@
|
|
1
1
|
# Release History
|
2
2
|
|
3
|
+
### 0.11.0 (2022-07-27)
|
4
|
+
|
5
|
+
#### Features
|
6
|
+
|
7
|
+
* Add CallOptions#merge and CallOptions equality checking ([#802](https://github.com/googleapis/gapic-generator-ruby/issues/802))
|
8
|
+
|
9
|
+
#### Bug Fixes
|
10
|
+
|
11
|
+
* transcoder should always preserve slashes ([#795](https://github.com/googleapis/gapic-generator-ruby/issues/795))
|
12
|
+
|
3
13
|
### 0.10.0 (2022-06-20)
|
4
14
|
|
5
15
|
#### Features
|
@@ -74,6 +74,7 @@ module Gapic
|
|
74
74
|
#
|
75
75
|
# @param retry_policy [Hash] The policy for error retry. keys must match the arguments for
|
76
76
|
# {RpcCall::RetryPolicy.new}.
|
77
|
+
#
|
77
78
|
def apply_defaults retry_policy
|
78
79
|
return unless retry_policy.is_a? Hash
|
79
80
|
|
@@ -85,6 +86,21 @@ module Gapic
|
|
85
86
|
self
|
86
87
|
end
|
87
88
|
|
89
|
+
# @private Equality test
|
90
|
+
def eql? other
|
91
|
+
other.is_a?(RetryPolicy) &&
|
92
|
+
other.retry_codes == retry_codes &&
|
93
|
+
other.initial_delay == initial_delay &&
|
94
|
+
other.multiplier == multiplier &&
|
95
|
+
other.max_delay == max_delay
|
96
|
+
end
|
97
|
+
alias == eql?
|
98
|
+
|
99
|
+
# @private Hash code
|
100
|
+
def hash
|
101
|
+
[retry_codes, initial_delay, multiplier, max_delay].hash
|
102
|
+
end
|
103
|
+
|
88
104
|
# @private
|
89
105
|
# See https://grpc.github.io/grpc/core/md_doc_statuscodes.html for a
|
90
106
|
# list of error codes.
|
data/lib/gapic/call_options.rb
CHANGED
@@ -61,12 +61,18 @@ module Gapic
|
|
61
61
|
# @param retry_policy [Hash] the policy for error retry.
|
62
62
|
# @param retry_policy [Hash] The policy for error retry. keys must match the arguments for
|
63
63
|
# {RetryPolicy.new}.
|
64
|
+
#
|
64
65
|
def apply_defaults timeout: nil, metadata: nil, retry_policy: nil
|
65
66
|
@timeout ||= timeout
|
66
67
|
@metadata = metadata.merge @metadata if metadata
|
67
68
|
@retry_policy.apply_defaults retry_policy if @retry_policy.respond_to? :apply_defaults
|
68
69
|
end
|
69
70
|
|
71
|
+
##
|
72
|
+
# Convert to hash form.
|
73
|
+
#
|
74
|
+
# @return [Hash]
|
75
|
+
#
|
70
76
|
def to_h
|
71
77
|
{
|
72
78
|
timeout: timeout,
|
@@ -74,5 +80,31 @@ module Gapic
|
|
74
80
|
retry_policy: retry_policy
|
75
81
|
}
|
76
82
|
end
|
83
|
+
|
84
|
+
##
|
85
|
+
# Return a new CallOptions with the given modifications. The current object
|
86
|
+
# is not modified.
|
87
|
+
#
|
88
|
+
# @param kwargs [keywords] Updated fields. See {#initialize} for details.
|
89
|
+
# @return [CallOptions] A new CallOptions object.
|
90
|
+
#
|
91
|
+
def merge **kwargs
|
92
|
+
kwargs = to_h.merge kwargs
|
93
|
+
CallOptions.new(**kwargs)
|
94
|
+
end
|
95
|
+
|
96
|
+
# @private Equality test
|
97
|
+
def eql? other
|
98
|
+
other.is_a?(CallOptions) &&
|
99
|
+
other.timeout == timeout &&
|
100
|
+
other.metadata == metadata &&
|
101
|
+
other.retry_policy == retry_policy
|
102
|
+
end
|
103
|
+
alias == eql?
|
104
|
+
|
105
|
+
# @private Hash code
|
106
|
+
def hash
|
107
|
+
to_h.hash
|
108
|
+
end
|
77
109
|
end
|
78
110
|
end
|
data/lib/gapic/common/version.rb
CHANGED
@@ -49,8 +49,8 @@ module Gapic
|
|
49
49
|
matches.each do |name, _regex, _preserve_slashes|
|
50
50
|
unless uri_template =~ /({#{Regexp.quote name}})/
|
51
51
|
err_msg = "Binding configuration is incorrect: missing parameter in the URI template.\n" \
|
52
|
-
"Parameter `#{name}` is specified for matching but there is no corresponding parameter" \
|
53
|
-
"
|
52
|
+
"Parameter `#{name}` is specified for matching but there is no corresponding parameter " \
|
53
|
+
"`{#{name}}` in the URI template."
|
54
54
|
raise ::Gapic::Common::Error, err_msg
|
55
55
|
end
|
56
56
|
|
@@ -60,8 +60,8 @@ module Gapic
|
|
60
60
|
if template =~ /{([a-zA-Z_.]+)}/
|
61
61
|
err_name = Regexp.last_match[1]
|
62
62
|
err_msg = "Binding configuration is incorrect: missing match configuration.\n" \
|
63
|
-
"Parameter `{#{err_name}}` is specified in the URI template but there is no" \
|
64
|
-
"
|
63
|
+
"Parameter `{#{err_name}}` is specified in the URI template but there is no " \
|
64
|
+
"corresponding match configuration for `#{err_name}`."
|
65
65
|
raise ::Gapic::Common::Error, err_msg
|
66
66
|
end
|
67
67
|
|
@@ -145,11 +145,7 @@ module Gapic
|
|
145
145
|
field_value = extract_scalar_value! request_hash, field_path_camel, field_binding.regex
|
146
146
|
|
147
147
|
if field_value
|
148
|
-
field_value =
|
149
|
-
field_value.split("/").map { |segment| percent_escape(segment) }.join("/")
|
150
|
-
else
|
151
|
-
percent_escape field_value
|
152
|
-
end
|
148
|
+
field_value = field_value.split("/").map { |segment| percent_escape(segment) }.join("/")
|
153
149
|
end
|
154
150
|
|
155
151
|
[field_binding.field_path, field_value]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gapic-common
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.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: 2022-
|
11
|
+
date: 2022-07-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|