gapic-generator 0.1.0 → 0.1.1

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: 7438b616f56c0f6c150b04d5facd7b77dea1ad988f4892bf2143f455a236653d
4
- data.tar.gz: d3d836af88d5bc7ebc433c1a5da15690bd62ba2aabee75b8a647f2aa6e729287
3
+ metadata.gz: 53e29f5e9a5cd2e6c4cf68d8e28fe095b5a0f5155f7c892f0b9b5429914b5dfb
4
+ data.tar.gz: 5ea2ad00f9c340675f2bd4f1b16d02dbb5d2e2b7444b450d326993de263a1cc0
5
5
  SHA512:
6
- metadata.gz: b8a752648197f7b2065bdcde4d9d5462660e8f073adcdd8687b1d9d8c55de34d86dfa69f8e118d51fb8d9a21d3a5c65a95586f633ed33b6db17529443eb429a8
7
- data.tar.gz: 68dda5a00441de0c2e8645f9c3c0862d68bf8d96b5e379990c076edde6ea607466bdf95aeb9178e4e45c7be4b0384a94438745abd7596e9a90cd56eea4a5d289
6
+ metadata.gz: 8f975242f0242375263e065351763fb67594ba65fc571f882bb54ce1877a5e14ad1419ecaf75e5c58ea0c29c81f5e8becdef635f1013111b624acd3e06248e92
7
+ data.tar.gz: 10abc98e678f667815d6e325cb27d582d4cbe27f4037edc66cde40ae8eb76b0d7b6fc884258d8ec5473612d327059baffbea94f3e9edf1ba83ae29f2d988e655
@@ -1,5 +1,9 @@
1
1
  # Release History for gapic-generator
2
2
 
3
+ ### 0.1.1 / 2020-03-09
4
+
5
+ * Relax rake dependency.
6
+
3
7
  ### 0.1.0 / 2020-03-07
4
8
 
5
9
  * Generate default timeout and retry configs based on GRPC service configs.
@@ -16,6 +16,6 @@
16
16
 
17
17
  module Gapic
18
18
  module Generator
19
- VERSION = "0.1.0"
19
+ VERSION = "0.1.1"
20
20
  end
21
21
  end
@@ -26,8 +26,8 @@ module Gapic
26
26
  # usable by the microgenerator templates
27
27
  #
28
28
  module Parser
29
- METHOD_CONFIG_JSON_KEY = "method_config"
30
- RETRY_POLICY_JSON_KEY = "retry_policy"
29
+ METHOD_CONFIG_JSON_KEY = "methodConfig"
30
+ RETRY_POLICY_JSON_KEY = "retryPolicy"
31
31
 
32
32
  NAMES_JSON_KEY = "name"
33
33
  SERVICE_NAME_JSON_KEY = "service"
@@ -35,10 +35,10 @@ module Gapic
35
35
 
36
36
  TIMEOUT_JSON_KEY = "timeout"
37
37
 
38
- INITIAL_DELAY_JSON_KEY = "initial_backoff"
39
- MAX_DELAY_JSON_KEY = "max_backoff"
40
- MULTIPLIER_JSON_KEY = "backoff_multiplier"
41
- STATUS_CODES_JSON_KEY = "retryable_status_codes"
38
+ INITIAL_DELAY_JSON_KEY = "initialBackoff"
39
+ MAX_DELAY_JSON_KEY = "maxBackoff"
40
+ MULTIPLIER_JSON_KEY = "backoffMultiplier"
41
+ STATUS_CODES_JSON_KEY = "retryableStatusCodes"
42
42
 
43
43
 
44
44
  ##
@@ -52,21 +52,21 @@ module Gapic
52
52
  service_level_result = {}
53
53
  service_method_level_result = {}
54
54
 
55
- if !service_config_json.nil? && service_config_json.key?(METHOD_CONFIG_JSON_KEY)
56
- method_configs_json = service_config_json[METHOD_CONFIG_JSON_KEY]
55
+ if !service_config_json.nil? && key?(service_config_json, METHOD_CONFIG_JSON_KEY)
56
+ method_configs_json = get service_config_json, METHOD_CONFIG_JSON_KEY
57
57
 
58
58
  method_configs_json.each do |method_config_json|
59
59
  method_config = parse_config method_config_json
60
- service_names = parse_service_names method_config_json[NAMES_JSON_KEY]
61
- service_method_names = filter_service_method_names method_config_json[NAMES_JSON_KEY]
60
+ service_names = parse_service_names get(method_config_json, NAMES_JSON_KEY)
61
+ service_method_names = filter_service_method_names get(method_config_json, NAMES_JSON_KEY)
62
62
 
63
63
  service_names.each do |service_name|
64
64
  service_level_result[service_name] = method_config
65
65
  end
66
66
 
67
67
  service_method_names.each do |service_method_name|
68
- service_name = service_method_name[SERVICE_NAME_JSON_KEY]
69
- method_name = service_method_name[METHOD_NAME_JSON_KEY]
68
+ service_name = get service_method_name, SERVICE_NAME_JSON_KEY
69
+ method_name = get service_method_name, METHOD_NAME_JSON_KEY
70
70
 
71
71
  service_method_level_result[service_name] ||= {}
72
72
  service_method_level_result[service_name][method_name] = method_config
@@ -92,10 +92,10 @@ module Gapic
92
92
  #
93
93
  def self.parse_service_names method_config_json_names
94
94
  service_names_jsons = method_config_json_names.select do |names_json|
95
- names_json.size == 1 && names_json.key?(SERVICE_NAME_JSON_KEY)
95
+ names_json.size == 1 && key?(names_json, SERVICE_NAME_JSON_KEY)
96
96
  end
97
97
 
98
- service_names_jsons.map { |names_json| names_json[SERVICE_NAME_JSON_KEY] }
98
+ service_names_jsons.map { |names_json| get names_json, SERVICE_NAME_JSON_KEY }
99
99
  end
100
100
 
101
101
  ##
@@ -113,7 +113,7 @@ module Gapic
113
113
  #
114
114
  def self.filter_service_method_names method_config_json_names
115
115
  method_config_json_names.select do |names_json|
116
- names_json.size == 2 && names_json.key?(SERVICE_NAME_JSON_KEY) && names_json.key?(METHOD_NAME_JSON_KEY)
116
+ names_json.size == 2 && key?(names_json, SERVICE_NAME_JSON_KEY) && key?(names_json, METHOD_NAME_JSON_KEY)
117
117
  end
118
118
  end
119
119
 
@@ -126,8 +126,8 @@ module Gapic
126
126
  # @return [Gapic::GrpcServiceConfig::MethodConfig] parsed MethodConfig
127
127
  #
128
128
  def self.parse_config method_config_json
129
- timeout_seconds = parse_interval_seconds method_config_json[TIMEOUT_JSON_KEY]
130
- retry_policy = parse_retry_policy method_config_json[RETRY_POLICY_JSON_KEY]
129
+ timeout_seconds = parse_interval_seconds get(method_config_json, TIMEOUT_JSON_KEY)
130
+ retry_policy = parse_retry_policy get(method_config_json, RETRY_POLICY_JSON_KEY)
131
131
 
132
132
  MethodConfig.new timeout_seconds, retry_policy
133
133
  end
@@ -143,10 +143,10 @@ module Gapic
143
143
  def self.parse_retry_policy retry_policy_json
144
144
  return nil if retry_policy_json.nil? || retry_policy_json.empty?
145
145
 
146
- initial_delay_seconds = parse_interval_seconds retry_policy_json[INITIAL_DELAY_JSON_KEY]
147
- max_delay_seconds = parse_interval_seconds retry_policy_json[MAX_DELAY_JSON_KEY]
148
- multiplier = retry_policy_json[MULTIPLIER_JSON_KEY]
149
- status_codes = retry_policy_json[STATUS_CODES_JSON_KEY]
146
+ initial_delay_seconds = parse_interval_seconds get(retry_policy_json, INITIAL_DELAY_JSON_KEY)
147
+ max_delay_seconds = parse_interval_seconds get(retry_policy_json, MAX_DELAY_JSON_KEY)
148
+ multiplier = get retry_policy_json, MULTIPLIER_JSON_KEY
149
+ status_codes = get retry_policy_json, STATUS_CODES_JSON_KEY
150
150
 
151
151
  RetryPolicy.new initial_delay_seconds, max_delay_seconds, multiplier, status_codes
152
152
  end
@@ -175,6 +175,28 @@ module Gapic
175
175
  Float(timestring_nos)
176
176
  end
177
177
 
178
+ ##
179
+ # Determines if the key or its underscore form exists
180
+ #
181
+ # @param hash [Hash] hash structure
182
+ # @param key [String] lowerCamelCase string
183
+ # @return [Boolean]
184
+ #
185
+ def self.key? hash, key
186
+ hash.key?(key) || hash.key?(ActiveSupport::Inflector.underscore(key))
187
+ end
188
+
189
+ ##
190
+ # Look up a key including checking its underscore form
191
+ #
192
+ # @param hash [Hash] hash structure
193
+ # @param key [String] lowerCamelCase string
194
+ # @return [Object] the result, or `nil` if not found
195
+ #
196
+ def self.get hash, key
197
+ hash[key] || hash[ActiveSupport::Inflector.underscore(key)]
198
+ end
199
+
178
200
  ##
179
201
  # Determines if a given string can be converted to a float
180
202
  #
@@ -30,7 +30,7 @@ Gem::Specification.new do |gem|
30
30
 
31
31
  gem.add_development_dependency "google-style", "~> 1.24.0"
32
32
  gem.add_development_dependency "minitest", "~> 5.10"
33
- gem.add_development_dependency "rake", "~> 12.0"
33
+ gem.add_development_dependency "rake", ">= 12.0"
34
34
  gem.add_development_dependency "redcarpet", "~> 3.0"
35
35
  gem.add_development_dependency "simplecov", "~> 0.18"
36
36
  gem.add_development_dependency "yard", "~> 0.9"
@@ -2,27 +2,7 @@
2
2
  <%- method_service ||= service -%>
3
3
  @configure ||= begin
4
4
  default_config = <%= service.client_name %>::Configuration.new
5
- <%- if service.grpc_service_config && !service.grpc_service_config.empty? -%>
6
-
7
- <%- if service.grpc_service_config.timeout_seconds -%>
8
- default_config.timeout = <%= service.grpc_service_config.timeout_seconds %>
9
- <%- end -%>
10
- <%- if service.grpc_service_config.retry_policy -%>
11
- default_config.retry_policy = <%= indent_tail render(partial: "service/client/self_configure_retry_policy", locals: { retry_policy: service.grpc_service_config.retry_policy }), 2 %>
12
- <%- end -%>
13
- <%- end -%>
14
- <%- method_service.methods.each do |method| -%>
15
- <%- if method.grpc_service_config && !method.grpc_service_config.empty? -%>
16
-
17
- <%- if method.grpc_service_config.timeout_seconds -%>
18
- default_config.rpcs.<%= method.name %>.timeout = <%= method.grpc_service_config.timeout_seconds %>
19
- <%- end -%>
20
- <%- if method.grpc_service_config.retry_policy -%>
21
- default_config.rpcs.<%= method.name %>.retry_policy =<%= indent_tail render(partial: "service/client/self_configure_retry_policy", locals: { retry_policy: method.grpc_service_config.retry_policy }), 2 %>
22
- <%- end -%>
23
- <%- end -%>
24
- <%- end -%>
25
-
5
+ <%= render partial: "service/client/self_configure_defaults", locals: {service: service} %>
26
6
  default_config
27
7
  end
28
8
  yield @configure if block_given?
@@ -0,0 +1,22 @@
1
+ <%- assert_locals service -%>
2
+ <%- method_service ||= service -%>
3
+ <%- if service.grpc_service_config && !service.grpc_service_config.empty? -%>
4
+
5
+ <%- if service.grpc_service_config.timeout_seconds -%>
6
+ default_config.timeout = <%= service.grpc_service_config.timeout_seconds %>
7
+ <%- end -%>
8
+ <%- if service.grpc_service_config.retry_policy -%>
9
+ default_config.retry_policy = <%= indent_tail render(partial: "service/client/self_configure_retry_policy", locals: { retry_policy: service.grpc_service_config.retry_policy }), 2 %>
10
+ <%- end -%>
11
+ <%- end -%>
12
+ <%- method_service.methods.each do |method| -%>
13
+ <%- if method.grpc_service_config && !method.grpc_service_config.empty? -%>
14
+
15
+ <%- if method.grpc_service_config.timeout_seconds -%>
16
+ default_config.rpcs.<%= method.name %>.timeout = <%= method.grpc_service_config.timeout_seconds %>
17
+ <%- end -%>
18
+ <%- if method.grpc_service_config.retry_policy -%>
19
+ default_config.rpcs.<%= method.name %>.retry_policy =<%= indent_tail render(partial: "service/client/self_configure_retry_policy", locals: { retry_policy: method.grpc_service_config.retry_policy }), 2 %>
20
+ <%- end -%>
21
+ <%- end -%>
22
+ <%- end -%>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gapic-generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ernest Landrito
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2020-03-08 00:00:00.000000000 Z
13
+ date: 2020-03-09 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: actionpack
@@ -128,14 +128,14 @@ dependencies:
128
128
  name: rake
129
129
  requirement: !ruby/object:Gem::Requirement
130
130
  requirements:
131
- - - "~>"
131
+ - - ">="
132
132
  - !ruby/object:Gem::Version
133
133
  version: '12.0'
134
134
  type: :development
135
135
  prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
137
  requirements:
138
- - - "~>"
138
+ - - ">="
139
139
  - !ruby/object:Gem::Version
140
140
  version: '12.0'
141
141
  - !ruby/object:Gem::Dependency
@@ -278,6 +278,7 @@ files:
278
278
  - templates/default/service/client/_requires.erb
279
279
  - templates/default/service/client/_resource.erb
280
280
  - templates/default/service/client/_self_configure.erb
281
+ - templates/default/service/client/_self_configure_defaults.erb
281
282
  - templates/default/service/client/_self_configure_retry_policy.erb
282
283
  - templates/default/service/client/method/_def.erb
283
284
  - templates/default/service/client/method/def/_options_defaults.erb