gapic-generator 0.11.0 → 0.45.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.
Files changed (276) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +299 -0
  3. data/CONTRIBUTING.md +1 -1
  4. data/README.md +71 -37
  5. data/bin/protoc-gen-ruby_gapic +2 -2
  6. data/lib/gapic/file_formatter.rb +23 -19
  7. data/lib/gapic/formatting_utils.rb +22 -9
  8. data/lib/gapic/gem_builder.rb +15 -17
  9. data/lib/gapic/generator/version.rb +1 -1
  10. data/lib/gapic/generators/base_generator.rb +6 -4
  11. data/lib/gapic/generators/default_generator.rb +70 -34
  12. data/lib/gapic/generators/default_generator_parameters.rb +9 -3
  13. data/lib/gapic/grpc_service_config/parser.rb +2 -2
  14. data/lib/gapic/model/api_metadata.rb +173 -0
  15. data/lib/gapic/model/method/http_annotation.rb +158 -60
  16. data/lib/gapic/model/method/lro.rb +8 -5
  17. data/lib/gapic/model/method/routing.rb +3 -18
  18. data/lib/gapic/model/mixins.rb +76 -10
  19. data/lib/gapic/model/service/nonstandard_lro_provider.rb +10 -11
  20. data/lib/gapic/package_snippets.rb +159 -0
  21. data/lib/gapic/path_pattern/parser.rb +11 -2
  22. data/lib/gapic/path_pattern/pattern.rb +18 -1
  23. data/lib/gapic/path_pattern/segment.rb +11 -4
  24. data/lib/gapic/presenters/enum_presenter.rb +14 -0
  25. data/lib/gapic/presenters/enum_value_presenter.rb +4 -1
  26. data/lib/gapic/presenters/field_presenter.rb +78 -21
  27. data/lib/gapic/presenters/gem_presenter.rb +109 -35
  28. data/lib/gapic/presenters/message_presenter.rb +15 -0
  29. data/lib/gapic/presenters/method/http_binding_presenter.rb +128 -0
  30. data/lib/gapic/presenters/method/rest_pagination_info.rb +25 -16
  31. data/lib/gapic/presenters/method_presenter.rb +109 -35
  32. data/lib/gapic/presenters/method_rest_presenter.rb +70 -137
  33. data/lib/gapic/presenters/package_presenter.rb +63 -18
  34. data/lib/gapic/presenters/resource_presenter.rb +9 -3
  35. data/lib/gapic/presenters/service/lro_client_presenter.rb +14 -14
  36. data/lib/gapic/presenters/service/mixin_client_presenter.rb +89 -0
  37. data/lib/gapic/presenters/service/sub_client_presenter.rb +84 -0
  38. data/lib/gapic/presenters/service_presenter.rb +183 -31
  39. data/lib/gapic/presenters/service_rest_presenter.rb +180 -27
  40. data/lib/gapic/presenters/snippet/client_call_presenter.rb +82 -0
  41. data/lib/gapic/presenters/snippet/client_initialization_presenter.rb +87 -0
  42. data/lib/gapic/presenters/snippet/declaration_presenter.rb +91 -0
  43. data/lib/gapic/presenters/snippet/expression_presenter.rb +135 -0
  44. data/lib/gapic/presenters/snippet/iteration_presenter.rb +118 -0
  45. data/lib/gapic/presenters/snippet/parameter_presenter.rb +67 -0
  46. data/lib/gapic/presenters/snippet/request_initialization_presenters.rb +202 -0
  47. data/lib/gapic/presenters/snippet/response_handling_presenters.rb +329 -0
  48. data/lib/gapic/presenters/snippet/statement_presenter.rb +134 -0
  49. data/lib/gapic/presenters/snippet/type_presenter.rb +98 -0
  50. data/lib/gapic/presenters/snippet_presenter.rb +199 -10
  51. data/lib/gapic/presenters.rb +2 -0
  52. data/lib/gapic/runner.rb +1 -1
  53. data/lib/gapic/schema/api.rb +49 -3
  54. data/lib/gapic/schema/loader.rb +67 -22
  55. data/lib/gapic/schema/parameter_schema.rb +8 -8
  56. data/lib/gapic/schema/proto_tools.rb +193 -0
  57. data/lib/gapic/schema/request_param_parser.rb +5 -7
  58. data/lib/gapic/schema/service_config_parser.rb +38 -4
  59. data/lib/gapic/schema/wrappers.rb +192 -31
  60. data/lib/gapic/uri_template/parser.rb +15 -7
  61. data/lib/google/cloud/tools/snippetgen/configlanguage/v1/snippet_config_language_pb.rb +104 -0
  62. data/lib/google/cloud/tools/snippetgen/snippetindex/v1/snippet_index_pb.rb +58 -0
  63. data/lib/google/protobuf/compiler/plugin_pb.rb +47 -0
  64. data/templates/default/binding_override.text.erb +6 -0
  65. data/templates/default/gem/gemfile.text.erb +12 -0
  66. data/templates/default/gem/{gemspec.erb → gemspec.text.erb} +3 -11
  67. data/templates/default/gem/{readme.erb → readme.text.erb} +10 -6
  68. data/templates/default/gem/{rubocop.erb → rubocop.text.erb} +3 -0
  69. data/templates/default/gem/{test_helper.erb → test_helper.text.erb} +4 -2
  70. data/templates/default/gem/toys.text.erb +12 -0
  71. data/templates/default/helpers/default_helper.rb +33 -1
  72. data/templates/default/lib/_binding_override.text.erb +49 -0
  73. data/templates/default/lib/{_package.erb → _package.text.erb} +6 -9
  74. data/templates/default/lib/_package_rest.text.erb +24 -0
  75. data/templates/default/lib/{_service.erb → _service.text.erb} +11 -23
  76. data/templates/default/lib/package/_self_configure.text.erb +16 -0
  77. data/templates/default/lib/package/_self_configure_defaults.text.erb +13 -0
  78. data/templates/default/lib/package/self_configure/_binding_default.text.erb +15 -0
  79. data/templates/default/lib/rest/_rest.text.erb +46 -0
  80. data/templates/default/package_rest.text.erb +6 -0
  81. data/templates/default/proto_docs/_deprecated.text.erb +9 -0
  82. data/templates/default/proto_docs/{_enum.erb → _enum.text.erb} +1 -0
  83. data/templates/default/proto_docs/{_message.erb → _message.text.erb} +2 -0
  84. data/templates/default/service/client/{_client.erb → _client.text.erb} +60 -12
  85. data/templates/default/service/client/{_config.erb → _config.text.erb} +39 -8
  86. data/templates/default/service/client/{_operations.erb → _operations.text.erb} +24 -3
  87. data/templates/default/service/client/method/{_def.erb → _def.text.erb} +2 -2
  88. data/templates/default/service/client/method/def/{_options_defaults.erb → _options_defaults.text.erb} +2 -1
  89. data/templates/default/service/client/method/def/_request_normal.text.erb +18 -0
  90. data/templates/default/service/client/method/def/_request_streaming.text.erb +23 -0
  91. data/templates/default/service/client/method/def/{_response.erb → _response.text.erb} +2 -0
  92. data/templates/default/service/client/method/def/{_response_nonstandard_lro.erb → _response_nonstandard_lro.text.erb} +1 -1
  93. data/templates/default/service/client/method/def/_response_normal.text.erb +4 -0
  94. data/templates/default/service/client/method/def/{_response_normal.erb → _response_normal_lro.text.erb} +1 -3
  95. data/templates/default/service/client/method/def/{_response_paged.erb → _response_paged.text.erb} +1 -1
  96. data/templates/default/service/client/method/docs/{_request_normal.erb → _request_normal.text.erb} +1 -1
  97. data/templates/default/service/client/method/docs/_snippets.text.erb +6 -0
  98. data/templates/default/service/client/resource/_def.text.erb +7 -0
  99. data/templates/default/service/nonstandard_lro.text.erb +6 -0
  100. data/templates/default/service/rest/client/{_client.erb → _client.text.erb} +82 -13
  101. data/templates/default/service/rest/client/_config.text.erb +178 -0
  102. data/templates/default/service/rest/client/_operations.text.erb +124 -0
  103. data/templates/default/service/rest/client/method/{_def.erb → _def.text.erb} +7 -1
  104. data/templates/default/service/rest/client/method/def/{_options_defaults.erb → _options_defaults.text.erb} +8 -3
  105. data/templates/default/service/rest/client/method/def/{_response.erb → _response.text.erb} +4 -0
  106. data/templates/default/service/rest/client/method/def/{_response_nonstandard_lro.erb → _response_nonstandard_lro.text.erb} +5 -4
  107. data/templates/default/service/rest/client/method/def/_response_normal.text.erb +5 -0
  108. data/templates/default/service/rest/client/method/def/_response_normal_lro.text.erb +7 -0
  109. data/templates/default/service/rest/client/method/def/_response_paged.text.erb +7 -0
  110. data/templates/default/service/rest/client/method/def/_response_server_streaming.text.erb +11 -0
  111. data/templates/default/service/rest/client/method/docs/{_request.erb → _request.text.erb} +1 -3
  112. data/templates/default/service/rest/client/method/docs/_result.text.erb +10 -0
  113. data/templates/default/service/rest/client/method/docs/_snippets.text.erb +6 -0
  114. data/templates/default/service/{nonstandard_lro.erb → rest/nonstandard_lro.text.erb} +1 -1
  115. data/templates/default/service/rest/operations.text.erb +6 -0
  116. data/templates/default/service/rest/service_stub/_service_stub.text.erb +63 -0
  117. data/templates/default/service/rest/service_stub/grpc_transcoding_method/_def.text.erb +37 -0
  118. data/templates/default/service/rest/service_stub/method/_def.text.erb +35 -0
  119. data/templates/default/service/rest/service_stub/method/def/_response.text.erb +37 -0
  120. data/templates/default/service/rest/test/{client.erb → client.text.erb} +3 -3
  121. data/templates/default/service/rest/test/method/_assert_response.text.erb +2 -0
  122. data/templates/default/service/rest/test/method/{_configure.erb → _configure.text.erb} +3 -2
  123. data/templates/default/service/rest/test/method/_normal.text.erb +60 -0
  124. data/templates/default/service/rest/test/method/_server.text.erb +60 -0
  125. data/templates/default/service/rest/test/method/{_setup.erb → _setup.text.erb} +26 -10
  126. data/templates/default/service/test/{_resource.erb → _resource.text.erb} +1 -1
  127. data/templates/default/service/test/{client.erb → client.text.erb} +3 -2
  128. data/templates/default/service/test/client_paths.text.erb +33 -0
  129. data/templates/default/service/test/method/{_bidi.erb → _bidi.text.erb} +1 -1
  130. data/templates/default/service/test/method/{_client.erb → _client.text.erb} +1 -1
  131. data/templates/default/service/test/method/{_configure.erb → _configure.text.erb} +2 -1
  132. data/templates/default/service/test/method/{_normal.erb → _normal.text.erb} +1 -1
  133. data/templates/default/service/test/method/{_server.erb → _server.text.erb} +1 -1
  134. data/templates/default/service/test/method/{_setup.erb → _setup.text.erb} +19 -2
  135. data/templates/default/snippets/{gemfile.erb → gemfile.text.erb} +2 -2
  136. data/templates/default/snippets/snippet/_body.text.erb +24 -0
  137. data/templates/default/snippets/snippet/_inline.text.erb +11 -0
  138. data/templates/default/snippets/snippet/_standalone.text.erb +25 -0
  139. data/templates/default/snippets/{standalone.erb → standalone.text.erb} +1 -1
  140. metadata +198 -273
  141. data/lib/google/api/annotations.pb.rb +0 -39
  142. data/lib/google/api/auth.pb.rb +0 -75
  143. data/lib/google/api/backend.pb.rb +0 -59
  144. data/lib/google/api/billing.pb.rb +0 -53
  145. data/lib/google/api/client.pb.rb +0 -43
  146. data/lib/google/api/context.pb.rb +0 -47
  147. data/lib/google/api/control.pb.rb +0 -38
  148. data/lib/google/api/documentation.pb.rb +0 -56
  149. data/lib/google/api/endpoint.pb.rb +0 -42
  150. data/lib/google/api/field_behavior.pb.rb +0 -51
  151. data/lib/google/api/http.pb.rb +0 -60
  152. data/lib/google/api/label.pb.rb +0 -49
  153. data/lib/google/api/launch_stage.pb.rb +0 -37
  154. data/lib/google/api/log.pb.rb +0 -47
  155. data/lib/google/api/logging.pb.rb +0 -48
  156. data/lib/google/api/metric.pb.rb +0 -90
  157. data/lib/google/api/monitored_resource.pb.rb +0 -68
  158. data/lib/google/api/monitoring.pb.rb +0 -48
  159. data/lib/google/api/quota.pb.rb +0 -63
  160. data/lib/google/api/resource.pb.rb +0 -80
  161. data/lib/google/api/routing.pb.rb +0 -58
  162. data/lib/google/api/service.pb.rb +0 -90
  163. data/lib/google/api/source_info.pb.rb +0 -44
  164. data/lib/google/api/system_parameter.pb.rb +0 -51
  165. data/lib/google/api/usage.pb.rb +0 -47
  166. data/lib/google/cloud/extended_operations.pb.rb +0 -57
  167. data/lib/google/longrunning/operations.pb.rb +0 -115
  168. data/lib/google/protobuf/any.pb.rb +0 -40
  169. data/lib/google/protobuf/api.pb.rb +0 -69
  170. data/lib/google/protobuf/compiler/plugin.pb.rb +0 -79
  171. data/lib/google/protobuf/descriptor.pb.rb +0 -360
  172. data/lib/google/protobuf/duration.pb.rb +0 -41
  173. data/lib/google/protobuf/empty.pb.rb +0 -36
  174. data/lib/google/protobuf/source_context.pb.rb +0 -39
  175. data/lib/google/protobuf/struct.pb.rb +0 -65
  176. data/lib/google/protobuf/type.pb.rb +0 -128
  177. data/lib/google/protobuf/wrappers.pb.rb +0 -80
  178. data/lib/google/rpc/status.pb.rb +0 -46
  179. data/templates/default/gem/gemfile.erb +0 -4
  180. data/templates/default/lib/rest/_rest.erb +0 -9
  181. data/templates/default/service/client/method/def/_request_normal.erb +0 -4
  182. data/templates/default/service/client/method/def/_request_streaming.erb +0 -9
  183. data/templates/default/service/client/method/docs/_deprecated.erb +0 -5
  184. data/templates/default/service/client/method/docs/_snippets.erb +0 -6
  185. data/templates/default/service/client/resource/_def.erb +0 -6
  186. data/templates/default/service/rest/client/_config.erb +0 -122
  187. data/templates/default/service/rest/client/method/def/_response_normal.erb +0 -6
  188. data/templates/default/service/rest/client/method/def/_response_paged.erb +0 -7
  189. data/templates/default/service/rest/client/method/docs/_result.erb +0 -6
  190. data/templates/default/service/rest/service_stub/_service_stub.erb +0 -25
  191. data/templates/default/service/rest/service_stub/grpc_transcoding_method/_def.erb +0 -24
  192. data/templates/default/service/rest/service_stub/method/_def.erb +0 -20
  193. data/templates/default/service/rest/service_stub/method/def/_response.erb +0 -17
  194. data/templates/default/service/rest/test/method/_assert_response.erb +0 -2
  195. data/templates/default/service/rest/test/method/_normal.erb +0 -71
  196. data/templates/default/service/test/client_paths.erb +0 -15
  197. data/templates/default/snippets/snippet/_structure.erb +0 -71
  198. /data/gem_templates/{binary.erb → binary.text.erb} +0 -0
  199. /data/gem_templates/{dockerfile.erb → dockerfile.text.erb} +0 -0
  200. /data/gem_templates/{entrypoint.erb → entrypoint.text.erb} +0 -0
  201. /data/gem_templates/{gapic_sh.erb → gapic_sh.text.erb} +0 -0
  202. /data/gem_templates/{gemfile.erb → gemfile.text.erb} +0 -0
  203. /data/gem_templates/{gemspec.erb → gemspec.text.erb} +0 -0
  204. /data/gem_templates/{generator.erb → generator.text.erb} +0 -0
  205. /data/gem_templates/{gitignore.erb → gitignore.text.erb} +0 -0
  206. /data/gem_templates/{rakefile.erb → rakefile.text.erb} +0 -0
  207. /data/gem_templates/{readme.erb → readme.text.erb} +0 -0
  208. /data/gem_templates/{rubocop.erb → rubocop.text.erb} +0 -0
  209. /data/gem_templates/shared/{_header.erb → _header.text.erb} +0 -0
  210. /data/gem_templates/shared/{_license.erb → _license.text.erb} +0 -0
  211. /data/gem_templates/shared/{_warning.erb → _warning.text.erb} +0 -0
  212. /data/gem_templates/{test_generator.erb → test_generator.text.erb} +0 -0
  213. /data/gem_templates/{test_helper.erb → test_helper.text.erb} +0 -0
  214. /data/gem_templates/{version.erb → version.text.erb} +0 -0
  215. /data/templates/default/gem/{_version.erb → _version.text.erb} +0 -0
  216. /data/templates/default/gem/{changelog.erb → changelog.text.erb} +0 -0
  217. /data/templates/default/gem/{entrypoint.erb → entrypoint.text.erb} +0 -0
  218. /data/templates/default/gem/{gapic_metadata_json.erb → gapic_metadata_json.text.erb} +0 -0
  219. /data/templates/default/gem/{gitignore.erb → gitignore.text.erb} +0 -0
  220. /data/templates/default/gem/{license.erb → license.text.erb} +0 -0
  221. /data/templates/default/gem/{rakefile.erb → rakefile.text.erb} +0 -0
  222. /data/templates/default/gem/{version.erb → version.text.erb} +0 -0
  223. /data/templates/default/gem/{yardopts.erb → yardopts.text.erb} +0 -0
  224. /data/templates/default/layouts/{_ruby.erb → _ruby.text.erb} +0 -0
  225. /data/templates/default/{package.erb → package.text.erb} +0 -0
  226. /data/templates/default/proto_docs/{_proto_file.erb → _proto_file.text.erb} +0 -0
  227. /data/templates/default/proto_docs/{proto_file.erb → proto_file.text.erb} +0 -0
  228. /data/templates/default/proto_docs/{readme.erb → readme.text.erb} +0 -0
  229. /data/templates/default/service/{_helpers.erb → _helpers.text.erb} +0 -0
  230. /data/templates/default/service/client/{_credentials.erb → _credentials.text.erb} +0 -0
  231. /data/templates/default/service/client/{_nonstandard_lro.erb → _nonstandard_lro.text.erb} +0 -0
  232. /data/templates/default/service/client/{_paths.erb → _paths.text.erb} +0 -0
  233. /data/templates/default/service/client/{_requires.erb → _requires.text.erb} +0 -0
  234. /data/templates/default/service/client/{_resource.erb → _resource.text.erb} +0 -0
  235. /data/templates/default/service/client/{_self_configure.erb → _self_configure.text.erb} +0 -0
  236. /data/templates/default/service/client/{_self_configure_defaults.erb → _self_configure_defaults.text.erb} +0 -0
  237. /data/templates/default/service/client/method/def/{_request.erb → _request.text.erb} +0 -0
  238. /data/templates/default/service/client/method/def/{_rescue.erb → _rescue.text.erb} +0 -0
  239. /data/templates/default/service/client/method/def/{_routing_params.erb → _routing_params.text.erb} +0 -0
  240. /data/templates/default/service/client/method/docs/{_error.erb → _error.text.erb} +0 -0
  241. /data/templates/default/service/client/method/docs/{_request.erb → _request.text.erb} +0 -0
  242. /data/templates/default/service/client/method/docs/{_request_field.erb → _request_field.text.erb} +0 -0
  243. /data/templates/default/service/client/method/docs/{_request_streaming.erb → _request_streaming.text.erb} +0 -0
  244. /data/templates/default/service/client/method/docs/{_response.erb → _response.text.erb} +0 -0
  245. /data/templates/default/service/client/method/docs/{_sample.erb → _sample.text.erb} +0 -0
  246. /data/templates/default/service/client/method/docs/{_sample_response.erb → _sample_response.text.erb} +0 -0
  247. /data/templates/default/service/client/method/docs/{_samples.erb → _samples.text.erb} +0 -0
  248. /data/templates/default/service/client/method/docs/request_field/{_arg.erb → _arg.text.erb} +0 -0
  249. /data/templates/default/service/client/method/docs/request_field/{_hash.erb → _hash.text.erb} +0 -0
  250. /data/templates/default/service/client/method/docs/sample_response/{_comment.erb → _comment.text.erb} +0 -0
  251. /data/templates/default/service/client/method/docs/sample_response/{_define.erb → _define.text.erb} +0 -0
  252. /data/templates/default/service/client/method/docs/sample_response/{_loop.erb → _loop.text.erb} +0 -0
  253. /data/templates/default/service/client/method/docs/sample_response/{_print.erb → _print.text.erb} +0 -0
  254. /data/templates/default/service/client/method/docs/sample_response/{_write_file.erb → _write_file.text.erb} +0 -0
  255. /data/templates/default/service/client/resource/{_doc.erb → _doc.text.erb} +0 -0
  256. /data/templates/default/service/client/resource/{_multi.erb → _multi.text.erb} +0 -0
  257. /data/templates/default/service/client/resource/{_single.erb → _single.text.erb} +0 -0
  258. /data/templates/default/service/{client.erb → client.text.erb} +0 -0
  259. /data/templates/default/service/{credentials.erb → credentials.text.erb} +0 -0
  260. /data/templates/default/service/{operations.erb → operations.text.erb} +0 -0
  261. /data/templates/default/service/{paths.erb → paths.text.erb} +0 -0
  262. /data/templates/default/service/rest/client/method/def/{_rescue.erb → _rescue.text.erb} +0 -0
  263. /data/templates/default/service/rest/client/method/docs/{_error.erb → _error.text.erb} +0 -0
  264. /data/templates/default/service/rest/{client.erb → client.text.erb} +0 -0
  265. /data/templates/default/service/rest/{grpc_transcoding.erb → grpc_transcoding.text.erb} +0 -0
  266. /data/templates/default/service/rest/service_stub/grpc_transcoding_method/def/{_query_string_param.erb → _query_string_param.text.erb} +0 -0
  267. /data/templates/default/service/rest/service_stub/method/def/{_request.erb → _request.text.erb} +0 -0
  268. /data/templates/default/service/rest/{service_stub.erb → service_stub.text.erb} +0 -0
  269. /data/templates/default/service/{rest.erb → rest.text.erb} +0 -0
  270. /data/templates/default/service/test/{client_operations.erb → client_operations.text.erb} +0 -0
  271. /data/templates/default/service/test/method/{_assert_response.erb → _assert_response.text.erb} +0 -0
  272. /data/templates/default/service/test/{smoke.erb → smoke.text.erb} +0 -0
  273. /data/templates/default/{service.erb → service.text.erb} +0 -0
  274. /data/templates/default/shared/{_header.erb → _header.text.erb} +0 -0
  275. /data/templates/default/shared/{_license.erb → _license.text.erb} +0 -0
  276. /data/templates/default/shared/{_warning.erb → _warning.text.erb} +0 -0
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: google/cloud/tools/snippetgen/snippetindex/v1/snippet_index.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+
8
+ descriptor_data = "\nAgoogle/cloud/tools/snippetgen/snippetindex/v1/snippet_index.proto\x12-google.cloud.tools.snippetgen.snippetindex.v1\"\xa7\x01\n\x05Index\x12T\n\x0e\x63lient_library\x18\x01 \x01(\x0b\x32<.google.cloud.tools.snippetgen.snippetindex.v1.ClientLibrary\x12H\n\x08snippets\x18\x02 \x03(\x0b\x32\x36.google.cloud.tools.snippetgen.snippetindex.v1.Snippet\"\x9f\x06\n\x07Snippet\x12\x12\n\nregion_tag\x18\x01 \x01(\t\x12\r\n\x05title\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x0c\n\x04\x66ile\x18\x04 \x01(\t\x12I\n\x08language\x18\x05 \x01(\x0e\x32\x37.google.cloud.tools.snippetgen.snippetindex.v1.Language\x12R\n\rclient_method\x18\x06 \x01(\x0b\x32;.google.cloud.tools.snippetgen.snippetindex.v1.ClientMethod\x12\x11\n\tcanonical\x18\x07 \x01(\x08\x12M\n\x06origin\x18\x08 \x01(\x0e\x32=.google.cloud.tools.snippetgen.snippetindex.v1.Snippet.Origin\x12P\n\x08segments\x18\t \x03(\x0b\x32>.google.cloud.tools.snippetgen.snippetindex.v1.Snippet.Segment\x1a\xa7\x02\n\x07Segment\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x05\x12X\n\x04type\x18\x03 \x01(\x0e\x32J.google.cloud.tools.snippetgen.snippetindex.v1.Snippet.Segment.SegmentType\"\xa5\x01\n\x0bSegmentType\x12\x1c\n\x18SEGMENT_TYPE_UNSPECIFIED\x10\x00\x12\x08\n\x04\x46ULL\x10\x01\x12\t\n\x05SHORT\x10\x02\x12\x19\n\x15\x43LIENT_INITIALIZATION\x10\x03\x12\x1a\n\x16REQUEST_INITIALIZATION\x10\x04\x12\x15\n\x11REQUEST_EXECUTION\x10\x05\x12\x15\n\x11RESPONSE_HANDLING\x10\x06\"Q\n\x06Origin\x12\x16\n\x12ORIGIN_UNSPECIFIED\x10\x00\x12\x12\n\x0e\x41PI_DEFINITION\x10\x01\x12\n\n\x06\x43ONFIG\x10\x02\x12\x0f\n\x0bHANDWRITTEN\x10\x03\"\xf2\x02\n\x0c\x43lientMethod\x12\x12\n\nshort_name\x18\x01 \x01(\t\x12\x11\n\tfull_name\x18\x02 \x01(\t\x12\r\n\x05\x61sync\x18\x03 \x01(\x08\x12Y\n\nparameters\x18\x04 \x03(\x0b\x32\x45.google.cloud.tools.snippetgen.snippetindex.v1.ClientMethod.Parameter\x12\x13\n\x0bresult_type\x18\x05 \x01(\t\x12L\n\x06\x63lient\x18\x06 \x01(\x0b\x32<.google.cloud.tools.snippetgen.snippetindex.v1.ServiceClient\x12\x45\n\x06method\x18\x07 \x01(\x0b\x32\x35.google.cloud.tools.snippetgen.snippetindex.v1.Method\x1a\'\n\tParameter\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"6\n\rServiceClient\x12\x12\n\nshort_name\x18\x01 \x01(\t\x12\x11\n\tfull_name\x18\x02 \x01(\t\"\xbb\x01\n\rClientLibrary\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12I\n\x08language\x18\x03 \x01(\x0e\x32\x37.google.cloud.tools.snippetgen.snippetindex.v1.Language\x12@\n\x04\x61pis\x18\x04 \x03(\x0b\x32\x32.google.cloud.tools.snippetgen.snippetindex.v1.Api\"x\n\x06Method\x12\x12\n\nshort_name\x18\x01 \x01(\t\x12\x11\n\tfull_name\x18\x02 \x01(\t\x12G\n\x07service\x18\x03 \x01(\x0b\x32\x36.google.cloud.tools.snippetgen.snippetindex.v1.Service\"0\n\x07Service\x12\x12\n\nshort_name\x18\x01 \x01(\t\x12\x11\n\tfull_name\x18\x02 \x01(\t\"\"\n\x03\x41pi\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t*\xef\x01\n\x08Language\x12\x18\n\x14LANGUAGE_UNSPECIFIED\x10\x00\x12\x0f\n\x0b\x43_PLUS_PLUS\x10\x01\x12\x0b\n\x07\x43_SHARP\x10\x02\x12\x08\n\x04\x44\x41RT\x10\x03\x12\n\n\x06\x45LIXIR\x10\x04\x12\n\n\x06\x45RLANG\x10\x05\x12\x0b\n\x07\x46_SHARP\x10\x06\x12\x06\n\x02GO\x10\x07\x12\x08\n\x04JAVA\x10\x08\x12\x0e\n\nJAVASCRIPT\x10\t\x12\n\n\x06KOTLIN\x10\n\x12\x07\n\x03PHP\x10\x0b\x12\n\n\x06PYTHON\x10\x0c\x12\x08\n\x04RUBY\x10\r\x12\x08\n\x04RUST\x10\x0e\x12\t\n\x05SWIFT\x10\x0f\x12\x0e\n\nTYPESCRIPT\x10\x10\x12\n\n\x06VB_NET\x10\x11\x42\x95\x01\xaa\x02-Google.Cloud.Tools.SnippetGen.SnippetIndex.V1\xca\x02-Google\\Cloud\\Tools\\SnippetGen\\SnippetIndex\\V1\xea\x02\x32Google::Cloud::Tools::SnippetGen::SnippetIndex::V1b\x06proto3"
9
+
10
+ pool = Google::Protobuf::DescriptorPool.generated_pool
11
+
12
+ begin
13
+ pool.add_serialized_file(descriptor_data)
14
+ rescue TypeError
15
+ # Compatibility code: will be removed in the next major version.
16
+ require 'google/protobuf/descriptor_pb'
17
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
18
+ parsed.clear_dependency
19
+ serialized = parsed.class.encode(parsed)
20
+ file = pool.add_serialized_file(serialized)
21
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
22
+ imports = [
23
+ ]
24
+ imports.each do |type_name, expected_filename|
25
+ import_file = pool.lookup(type_name).file_descriptor
26
+ if import_file.name != expected_filename
27
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
28
+ end
29
+ end
30
+ warn "Each proto file must use a consistent fully-qualified name."
31
+ warn "This will become an error in the next major version."
32
+ end
33
+
34
+ module Google
35
+ module Cloud
36
+ module Tools
37
+ module SnippetGen
38
+ module SnippetIndex
39
+ module V1
40
+ Index = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.tools.snippetgen.snippetindex.v1.Index").msgclass
41
+ Snippet = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.tools.snippetgen.snippetindex.v1.Snippet").msgclass
42
+ Snippet::Segment = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.tools.snippetgen.snippetindex.v1.Snippet.Segment").msgclass
43
+ Snippet::Segment::SegmentType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.tools.snippetgen.snippetindex.v1.Snippet.Segment.SegmentType").enummodule
44
+ Snippet::Origin = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.tools.snippetgen.snippetindex.v1.Snippet.Origin").enummodule
45
+ ClientMethod = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.tools.snippetgen.snippetindex.v1.ClientMethod").msgclass
46
+ ClientMethod::Parameter = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.tools.snippetgen.snippetindex.v1.ClientMethod.Parameter").msgclass
47
+ ServiceClient = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.tools.snippetgen.snippetindex.v1.ServiceClient").msgclass
48
+ ClientLibrary = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.tools.snippetgen.snippetindex.v1.ClientLibrary").msgclass
49
+ Method = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.tools.snippetgen.snippetindex.v1.Method").msgclass
50
+ Service = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.tools.snippetgen.snippetindex.v1.Service").msgclass
51
+ Api = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.tools.snippetgen.snippetindex.v1.Api").msgclass
52
+ Language = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.tools.snippetgen.snippetindex.v1.Language").enummodule
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: google/protobuf/compiler/plugin.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'google/protobuf/descriptor_pb'
8
+
9
+
10
+ descriptor_data = "\n%google/protobuf/compiler/plugin.proto\x12\x18google.protobuf.compiler\x1a google/protobuf/descriptor.proto\"F\n\x07Version\x12\r\n\x05major\x18\x01 \x01(\x05\x12\r\n\x05minor\x18\x02 \x01(\x05\x12\r\n\x05patch\x18\x03 \x01(\x05\x12\x0e\n\x06suffix\x18\x04 \x01(\t\"\xba\x01\n\x14\x43odeGeneratorRequest\x12\x18\n\x10\x66ile_to_generate\x18\x01 \x03(\t\x12\x11\n\tparameter\x18\x02 \x01(\t\x12\x38\n\nproto_file\x18\x0f \x03(\x0b\x32$.google.protobuf.FileDescriptorProto\x12;\n\x10\x63ompiler_version\x18\x03 \x01(\x0b\x32!.google.protobuf.compiler.Version\"\xc1\x02\n\x15\x43odeGeneratorResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\x12\x1a\n\x12supported_features\x18\x02 \x01(\x04\x12\x42\n\x04\x66ile\x18\x0f \x03(\x0b\x32\x34.google.protobuf.compiler.CodeGeneratorResponse.File\x1a\x7f\n\x04\x46ile\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x17\n\x0finsertion_point\x18\x02 \x01(\t\x12\x0f\n\x07\x63ontent\x18\x0f \x01(\t\x12?\n\x13generated_code_info\x18\x10 \x01(\x0b\x32\".google.protobuf.GeneratedCodeInfo\"8\n\x07\x46\x65\x61ture\x12\x10\n\x0c\x46\x45\x41TURE_NONE\x10\x00\x12\x1b\n\x17\x46\x45\x41TURE_PROTO3_OPTIONAL\x10\x01\x42r\n\x1c\x63om.google.protobuf.compilerB\x0cPluginProtosZ)google.golang.org/protobuf/types/pluginpb\xaa\x02\x18Google.Protobuf.Compiler"
11
+
12
+ pool = Google::Protobuf::DescriptorPool.generated_pool
13
+
14
+ begin
15
+ pool.add_serialized_file(descriptor_data)
16
+ rescue TypeError
17
+ # Compatibility code: will be removed in the next major version.
18
+ require 'google/protobuf/descriptor_pb'
19
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
20
+ parsed.clear_dependency
21
+ serialized = parsed.class.encode(parsed)
22
+ file = pool.add_serialized_file(serialized)
23
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
24
+ imports = [
25
+ ["google.protobuf.FileDescriptorProto", "google/protobuf/descriptor.proto"],
26
+ ]
27
+ imports.each do |type_name, expected_filename|
28
+ import_file = pool.lookup(type_name).file_descriptor
29
+ if import_file.name != expected_filename
30
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
31
+ end
32
+ end
33
+ warn "Each proto file must use a consistent fully-qualified name."
34
+ warn "This will become an error in the next major version."
35
+ end
36
+
37
+ module Google
38
+ module Protobuf
39
+ module Compiler
40
+ Version = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.compiler.Version").msgclass
41
+ CodeGeneratorRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.compiler.CodeGeneratorRequest").msgclass
42
+ CodeGeneratorResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.compiler.CodeGeneratorResponse").msgclass
43
+ CodeGeneratorResponse::File = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.compiler.CodeGeneratorResponse.File").msgclass
44
+ CodeGeneratorResponse::Feature = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.compiler.CodeGeneratorResponse.Feature").enummodule
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,6 @@
1
+ <%- assert_locals package -%>
2
+ <%= render partial: "lib/binding_override",
3
+ layout: "layouts/ruby",
4
+ locals: { package: package,
5
+ namespace: package.parent_namespace }
6
+ %>
@@ -0,0 +1,12 @@
1
+ <%- assert_locals gem -%>
2
+ source "https://rubygems.org"
3
+
4
+ gemspec
5
+
6
+ gem "google-style", "~> 1.31.0"
7
+ gem "minitest", "~> 5.22"
8
+ gem "minitest-focus", "~> 1.4"
9
+ gem "minitest-rg", "~> 5.3"
10
+ gem "rake", ">= 13.0"
11
+ gem "redcarpet", "~> 3.6"
12
+ gem "yard", "~> 0.9"
@@ -1,6 +1,7 @@
1
1
  <%- assert_locals gem -%>
2
2
  # -*- ruby -*-
3
3
  # encoding: utf-8
4
+
4
5
  require File.expand_path("lib/<%= gem.version_require %>", __dir__)
5
6
 
6
7
  Gem::Specification.new do |gem|
@@ -9,7 +10,7 @@ Gem::Specification.new do |gem|
9
10
 
10
11
  gem.authors = <%= gem.authors.inspect %>
11
12
  gem.email = <%= gem.email.inspect %>
12
- gem.description = <%= gem.description.inspect %>
13
+ gem.description = <%= gem.gemspec_description.inspect %>
13
14
  gem.summary = <%= gem.summary.inspect %>
14
15
  gem.homepage = <%= gem.homepage.inspect %>
15
16
  gem.license = <%= gem.license_name.inspect %>
@@ -21,18 +22,9 @@ Gem::Specification.new do |gem|
21
22
  <%= gem.extra_files.inspect %>
22
23
  gem.require_paths = ["lib"]
23
24
 
24
- gem.required_ruby_version = ">= 2.5"
25
+ gem.required_ruby_version = ">= 3.1"
25
26
 
26
27
  <%- gem.dependency_list.each do |name, requirements| -%>
27
28
  gem.add_dependency <%= name.inspect %>, <%= requirements.map { |v| v.inspect }.join ", " %>
28
29
  <%- end -%>
29
-
30
- gem.add_development_dependency "google-style", "~> 1.25.1"
31
- gem.add_development_dependency "minitest", "~> 5.14"
32
- gem.add_development_dependency "minitest-focus", "~> 1.1"
33
- gem.add_development_dependency "minitest-rg", "~> 5.2"
34
- gem.add_development_dependency "rake", ">= 12.0"
35
- gem.add_development_dependency "redcarpet", "~> 3.0"
36
- gem.add_development_dependency "simplecov", "~> 0.18"
37
- gem.add_development_dependency "yard", "~> 0.9"
38
30
  end
@@ -2,7 +2,11 @@
2
2
 
3
3
  <%= gem.summary %>
4
4
 
5
- <%= gem.description %>
5
+ <%- if gem.summary != gem.description %>
6
+ <% gem.readme_description.each do |line| %>
7
+ <%= line %>
8
+ <% end %>
9
+ <%- end %>
6
10
 
7
11
  <%= gem.homepage %>
8
12
 
@@ -28,11 +32,11 @@ response = client.<%= method.name %> request
28
32
 
29
33
  ## Supported Ruby Versions
30
34
 
31
- This library is supported on Ruby 2.5+.
35
+ This library is supported on Ruby 3.1+.
32
36
 
33
37
  Google provides official support for Ruby versions that are actively supported
34
38
  by Ruby Core—that is, Ruby versions that are either in normal maintenance or
35
- in security maintenance, and not end of life. Currently, this means Ruby 2.5
36
- and later. Older versions of Ruby _may_ still work, but are unsupported and not
37
- recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details
38
- about the Ruby support schedule.
39
+ in security maintenance, and not end of life. Older versions of Ruby _may_
40
+ still work, but are unsupported and not recommended. See
41
+ https://www.ruby-lang.org/en/downloads/branches/ for details about the Ruby
42
+ support schedule.
@@ -22,6 +22,9 @@ Metrics/ModuleLength:
22
22
  Enabled: false
23
23
  Metrics/PerceivedComplexity:
24
24
  Enabled: false
25
+ Naming/AccessorMethodName:
26
+ Exclude:
27
+ - "snippets/**/*.rb"
25
28
  Naming/FileName:
26
29
  Exclude:
27
30
  - "lib/<%= gem.name %>.rb"
@@ -1,8 +1,10 @@
1
1
  <%- assert_locals gem -%>
2
2
  <%= render partial: "shared/header" -%>
3
3
 
4
- require "simplecov"
5
-
6
4
  require "minitest/autorun"
7
5
  require "minitest/focus"
8
6
  require "minitest/rg"
7
+
8
+ require "grpc"
9
+
10
+ require "ostruct"
@@ -0,0 +1,12 @@
1
+ <%= render partial: "shared/header" -%>
2
+
3
+ toys_version! ">= 0.15.3"
4
+
5
+ if ENV["RUBY_COMMON_TOOLS"]
6
+ common_tools_dir = File.expand_path ENV["RUBY_COMMON_TOOLS"]
7
+ load File.join(common_tools_dir, "toys", "gapic")
8
+ else
9
+ load_git remote: "https://github.com/googleapis/ruby-common-tools.git",
10
+ path: "toys/gapic",
11
+ update: true
12
+ end
@@ -34,10 +34,29 @@ module DefaultHelper
34
34
  ret.split("\n").map(&:rstrip).join("\n")
35
35
  end
36
36
 
37
+ def wrap input, max_width
38
+ lines = []
39
+ input.split("\n").each do |line|
40
+ cur_width = 0
41
+ cur_words = []
42
+ line.split.each do |word|
43
+ if cur_width.positive? && cur_width + word.length > max_width
44
+ lines << cur_words.join(" ")
45
+ cur_width = 0
46
+ cur_words = []
47
+ end
48
+ cur_words << word
49
+ cur_width += word.length + 1
50
+ end
51
+ lines << cur_words.join(" ") if cur_width.positive?
52
+ end
53
+ lines.join "\n"
54
+ end
55
+
37
56
  def indent_tail input, spacing
38
57
  return input if input.lines.count < 2
39
58
 
40
- input.lines[0] + indent(input.lines[1..-1].join, spacing)
59
+ input.lines[0] + indent(input.lines[1..].join, spacing)
41
60
  end
42
61
 
43
62
  def format_number value
@@ -47,4 +66,17 @@ module DefaultHelper
47
66
  def assert_locals *locals
48
67
  locals.each { |local| raise "missing local in template" if local.nil? }
49
68
  end
69
+
70
+ def start_line_spacer name = :default
71
+ (@line_spacers ||= {})[name] = false
72
+ end
73
+
74
+ def line_spacer name = :default
75
+ if @line_spacers[name]
76
+ "\n"
77
+ else
78
+ @line_spacers[name] = true
79
+ ""
80
+ end
81
+ end
50
82
  end
@@ -0,0 +1,49 @@
1
+ <%- assert_locals package -%>
2
+ <% @requires = capture do %>
3
+ require "gapic/config"
4
+ <%- end -%>
5
+
6
+ <%- if package.first_service_with_rest&.generate_rest_clients? -%>
7
+ ##
8
+ # @example Loading just the REST part of this package, including all its services, and instantiating a REST client
9
+ #
10
+ # require "<%= package.package_rest_require %>"
11
+ # client = <%= package.first_service_with_rest.rest.create_client_call %>
12
+ #
13
+ <%- end -%>
14
+ module <%= package.module_name %>
15
+ ##
16
+ # @private
17
+ # Initialize the mixin bindings configuration
18
+ #
19
+ def self.configure
20
+ <%= indent render(partial: "lib/package/self_configure", locals: { package: package }), 4 %>
21
+ end
22
+
23
+ ##
24
+ # @private
25
+ # Configuration class for the <%= package.name %> package.
26
+ #
27
+ # This class contains common configuration for all services
28
+ # of the <%= package.name %> package.
29
+ #
30
+ # This configuration is for internal use of the client library classes,
31
+ # and it is not intended that the end-users will read or change it.
32
+ #
33
+ class Configuration
34
+ extend ::Gapic::Config
35
+
36
+ # @private
37
+ # Overrides for http bindings for the RPC of the mixins for this package.
38
+ # Services in this package should use these when creating clients for the mixin services.
39
+ # @return [::Hash{::Symbol=>::Array<::Gapic::Rest::GrpcTranscoder::HttpBinding>}]
40
+ config_attr :bindings_override, {}, ::Hash, nil
41
+
42
+ # @private
43
+ def initialize parent_config = nil
44
+ @parent_config = parent_config unless parent_config.nil?
45
+
46
+ yield self if block_given?
47
+ end
48
+ end
49
+ end
@@ -6,24 +6,21 @@ require "<%= service.service_require %>"
6
6
  require "<%= package.gem.version_require %>"
7
7
  <% end %>
8
8
  <%- unless package.empty? -%>
9
- <%- if package.services.first.generate_grpc_clients? -%>
10
9
  ##
11
- # To load this package, including all its services, and instantiate a <%= package.grpc_client_designation %>:
10
+ # API client module.
12
11
  #
13
- # @example
12
+ <%- if package.generate_grpc_clients? -%>
13
+ # @example Load this package, including all its services, and instantiate a gRPC client
14
14
  #
15
15
  # require "<%= package.package_require %>"
16
16
  # client = <%= package.services.first.create_client_call %>
17
17
  #
18
18
  <%- end -%>
19
- <%- if package.services.first.generate_rest_clients? -%>
20
- ##
21
- # To load this package, including all its services, and instantiate a REST client:
22
- #
23
- # @example
19
+ <%- if package.generate_rest_clients? -%>
20
+ # @example Load this package, including all its services, and instantiate a REST client
24
21
  #
25
22
  # require "<%= package.package_require %>"
26
- # client = <%= package.services.first.rest.create_client_call %>
23
+ # client = <%= package.first_service_with_rest.rest.create_client_call %>
27
24
  #
28
25
  <%- end -%>
29
26
  <%- end -%>
@@ -0,0 +1,24 @@
1
+ <%- assert_locals package -%>
2
+ <% @requires = capture do %>
3
+ <%- package.services.select { |s| s.methods_rest_bindings? }.each do |service| -%>
4
+ require "<%= service.rest.service_require %>"
5
+ <%- end -%>
6
+ <%- if package.mixin_binding_overrides? -%>
7
+ require "<%= package.mixin_binding_overrides_require %>"
8
+ <%- end -%>
9
+ require "<%= package.gem.version_require %>"
10
+ <% end %>
11
+ <%- unless package.empty? -%>
12
+ <%- if package.first_service_with_rest&.generate_rest_clients? -%>
13
+ ##
14
+ # To load just the REST part of this package, including all its services, and instantiate a REST client:
15
+ #
16
+ # @example
17
+ #
18
+ # require "<%= package.package_rest_require %>"
19
+ # client = <%= package.first_service_with_rest.rest.create_client_call %>
20
+ #
21
+ <%- end -%>
22
+ <%- end -%>
23
+ module <%= package.module_name %>
24
+ end
@@ -1,26 +1,9 @@
1
1
  <%- assert_locals service -%>
2
2
 
3
- <%- if service.generate_rest_clients? -%>
4
- <% @requires = capture do %>
5
- require "gapic/config"
6
- require "gapic/config/method"
7
-
8
- require "<%= service.gem.version_require %>"
9
-
10
- <%- unless service.generic_endpoint? -%>
11
- require "<%= service.credentials_require %>"
12
- <%- end -%>
13
- <%- if service.paths? -%>
14
- require "<%= service.paths_require %>"
15
- <%- end -%>
16
- <%- if service.nonstandard_lro_provider? -%>
17
- require "<%= service.rest.nonstandard_lro_require %>"
18
- <%- end -%>
19
- require "<%= service.rest.service_rest_require %>"
20
- <% end %>
21
- <%- else -%>
22
3
  <% @requires = capture do %>
4
+ <%- if service.generate_grpc_clients? -%>
23
5
  require "gapic/common"
6
+ <%- end -%>
24
7
  require "gapic/config"
25
8
  require "gapic/config/method"
26
9
 
@@ -32,6 +15,7 @@ require "<%= service.credentials_require %>"
32
15
  <%- if service.paths? -%>
33
16
  require "<%= service.paths_require %>"
34
17
  <%- end -%>
18
+ <%- if service.generate_grpc_clients? -%>
35
19
  <%- if service.lro? -%>
36
20
  require "<%= service.operations_require %>"
37
21
  <%- end -%>
@@ -39,24 +23,28 @@ require "<%= service.operations_require %>"
39
23
  require "<%= service.nonstandard_lro_require %>"
40
24
  <%- end -%>
41
25
  require "<%= service.client_require %>"
26
+ <%- end -%>
27
+ <%- if service.generate_rest_clients? -%>
28
+ require "<%= service.rest.service_rest_require %>"
29
+ <%- end -%>
42
30
  <% end %>
43
31
  ##
44
32
  <%- if service.doc_description -%>
45
33
  <%= indent service.doc_description, "# " %>
46
34
  #
47
35
  <%- end -%>
48
- <%- end -%>
36
+ <%= render partial: "proto_docs/deprecated", locals: { presenter: service, newline: true } -%>
49
37
  <%- if service.generate_grpc_clients? -%>
50
- # To load this service and instantiate a <%= service.grpc_client_designation %>:
38
+ # @example Load this service and instantiate a gRPC client
51
39
  #
52
40
  # require "<%= service.service_require %>"
53
41
  # client = <%= service.create_client_call %>
54
42
  #
55
43
  <%- end -%>
56
44
  <%- if service.generate_rest_clients? -%>
57
- # To load this service and instantiate a REST client:
45
+ # @example Load this service and instantiate a REST client
58
46
  #
59
- # require "<%= service.service_require %>"
47
+ # require "<%= service.rest.service_require %>"
60
48
  # client = <%= service.rest.create_client_call %>
61
49
  #
62
50
  <%- end -%>
@@ -0,0 +1,16 @@
1
+ <%- assert_locals package -%>
2
+ @configure ||= begin
3
+ namespace = <%= package.parent_namespace.split("::").reject(&:empty?).inspect %>
4
+ parent_config = while namespace.any?
5
+ parent_name = namespace.join "::"
6
+ parent_const = const_get parent_name
7
+ break parent_const.configure if parent_const.respond_to? :configure
8
+ namespace.pop
9
+ end
10
+
11
+ default_config = Configuration.new parent_config
12
+ <%= indent_tail render(partial: "lib/package/self_configure_defaults", locals: {package: package}), 2 %>
13
+ default_config
14
+ end
15
+ yield @configure if block_given?
16
+ @configure
@@ -0,0 +1,13 @@
1
+ <%- assert_locals package -%>
2
+ <%- package.first_service_with_rest.rest.mixin_presenters.each do |subclient| -%>
3
+ <%- subclient.bindings_override.each do |method, bindings| -%>
4
+ default_config.bindings_override["<%= method %>"] = [
5
+
6
+ <%- last_binding_index = bindings.count - 1 -%>
7
+ <%- bindings.each_with_index do |http_binding, index| -%>
8
+ <%- comma = last_binding_index == index ? "" : "," -%>
9
+ <%= indent render(partial: "lib/package/self_configure/binding_default", locals: { http_binding: http_binding }), 4 %><%= comma %>
10
+ <%- end -%>
11
+ ]
12
+ <%- end -%>
13
+ <%- end -%>
@@ -0,0 +1,15 @@
1
+ <%- assert_locals http_binding -%>
2
+ Gapic::Rest::GrpcTranscoder::HttpBinding.create_with_validation(
3
+ uri_method: :<%= http_binding.verb %>,
4
+ uri_template: "<%= http_binding.uri_for_transcoding %>",
5
+ matches: [
6
+ <%- http_binding.routing_params_transcoder_matches_strings.each do |match_str| -%>
7
+ <%= match_str %>
8
+ <%- end -%>
9
+ ],
10
+ <%- if http_binding.body? -%>
11
+ body: "<%= http_binding.body %>"
12
+ <%- else -%>
13
+ body: nil
14
+ <%- end -%>
15
+ )
@@ -0,0 +1,46 @@
1
+ <%- assert_locals service -%>
2
+ <% @requires = capture do %>
3
+ require "gapic/rest"
4
+ require "gapic/config"
5
+ require "gapic/config/method"
6
+
7
+ require "<%= service.gem.version_require %>"
8
+ <%- if service.package.mixin_binding_overrides? -%>
9
+ require "<%= service.package.mixin_binding_overrides_require %>"
10
+ <%- end -%>
11
+
12
+ <%- unless service.generic_endpoint? -%>
13
+ require "<%= service.credentials_require %>"
14
+ <%- end -%>
15
+ <%- if service.paths? -%>
16
+ require "<%= service.paths_require %>"
17
+ <%- end -%>
18
+ <%- if service.lro? -%>
19
+ require "<%= service.rest.operations_require %>"
20
+ <%- end -%>
21
+ <%- if service.nonstandard_lro_provider? -%>
22
+ require "<%= service.rest.nonstandard_lro_require %>"
23
+ <%- end -%>
24
+ require "<%= service.rest.client_require %>"
25
+ <% end %>
26
+ ##
27
+ <%- if service.doc_description -%>
28
+ <%= indent service.doc_description, "# " %>
29
+ #
30
+ <%- end -%>
31
+ # To load this service and instantiate a REST client:
32
+ #
33
+ # require "<%= service.rest.service_require %>"
34
+ # client = <%= service.rest.create_client_call %>
35
+ #
36
+ module <%= service.module_name %>
37
+ # Client for the REST transport
38
+ module Rest
39
+ end
40
+ end
41
+
42
+
43
+
44
+ <% @footer = capture do %>
45
+ <%= render partial: "service/helpers", locals: { service: service.rest} -%>
46
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <%- assert_locals package -%>
2
+ <%= render partial: "lib/package_rest",
3
+ layout: "layouts/ruby",
4
+ locals: { package: package,
5
+ namespace: package.parent_namespace }
6
+ %>
@@ -0,0 +1,9 @@
1
+ <%- assert_locals presenter -%>
2
+ <% newline ||= false %>
3
+ <% indentation ||= "# " %>
4
+ <%- if presenter.is_deprecated? -%>
5
+ <%= indent "@deprecated This #{presenter.type} is deprecated and may be removed in the next major version update.\n", indentation %>
6
+ <%- if newline -%>
7
+ <%= indentation %>
8
+ <%- end -%>
9
+ <%- end -%>
@@ -2,6 +2,7 @@
2
2
  <%- if enum.doc_description -%>
3
3
  <%= indent enum.doc_description, "# " %>
4
4
  <%- end -%>
5
+ <%= render partial: "proto_docs/deprecated", locals: { presenter: enum } -%>
5
6
  module <%= enum.name %>
6
7
  <%- enum.values.each do |value| -%>
7
8
 
@@ -2,8 +2,10 @@
2
2
  <%- if message.doc_description -%>
3
3
  <%= indent message.doc_description, "# " %>
4
4
  <%- end -%>
5
+ <%= render partial: "proto_docs/deprecated", locals: { presenter: message } -%>
5
6
  <%- message.fields.each do |field| -%>
6
7
  <%= indent field.doc_attribute_type, "# " %>
8
+ <%= render(partial: "proto_docs/deprecated", locals: { presenter:field, indentation: "# " }) -%>
7
9
  # @return [<%= field.output_doc_types %>]
8
10
  <%- if field.doc_description -%>
9
11
  <%= indent field.doc_description, "# " %>