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
@@ -1,80 +0,0 @@
1
- # encoding: utf-8
2
-
3
- ##
4
- # This file is auto-generated. DO NOT EDIT!
5
- #
6
- require 'protobuf'
7
-
8
- module Google
9
- module Protobuf
10
- ::Protobuf::Optionable.inject(self) { ::Google::Protobuf::FileOptions }
11
-
12
- ##
13
- # Message Classes
14
- #
15
- class DoubleValue < ::Protobuf::Message; end
16
- class FloatValue < ::Protobuf::Message; end
17
- class Int64Value < ::Protobuf::Message; end
18
- class UInt64Value < ::Protobuf::Message; end
19
- class Int32Value < ::Protobuf::Message; end
20
- class UInt32Value < ::Protobuf::Message; end
21
- class BoolValue < ::Protobuf::Message; end
22
- class StringValue < ::Protobuf::Message; end
23
- class BytesValue < ::Protobuf::Message; end
24
-
25
-
26
- ##
27
- # File Options
28
- #
29
- set_option :java_package, "com.google.protobuf"
30
- set_option :java_outer_classname, "WrappersProto"
31
- set_option :java_multiple_files, true
32
- set_option :go_package, "github.com/golang/protobuf/ptypes/wrappers"
33
- set_option :cc_enable_arenas, true
34
- set_option :objc_class_prefix, "GPB"
35
- set_option :csharp_namespace, "Google.Protobuf.WellKnownTypes"
36
-
37
-
38
- ##
39
- # Message Fields
40
- #
41
- class DoubleValue
42
- optional :double, :value, 1
43
- end
44
-
45
- class FloatValue
46
- optional :float, :value, 1
47
- end
48
-
49
- class Int64Value
50
- optional :int64, :value, 1
51
- end
52
-
53
- class UInt64Value
54
- optional :uint64, :value, 1
55
- end
56
-
57
- class Int32Value
58
- optional :int32, :value, 1
59
- end
60
-
61
- class UInt32Value
62
- optional :uint32, :value, 1
63
- end
64
-
65
- class BoolValue
66
- optional :bool, :value, 1
67
- end
68
-
69
- class StringValue
70
- optional :string, :value, 1
71
- end
72
-
73
- class BytesValue
74
- optional :bytes, :value, 1
75
- end
76
-
77
- end
78
-
79
- end
80
-
@@ -1,46 +0,0 @@
1
- # encoding: utf-8
2
-
3
- ##
4
- # This file is auto-generated. DO NOT EDIT!
5
- #
6
- require 'protobuf'
7
-
8
-
9
- ##
10
- # Imports
11
- #
12
- require 'google/protobuf/any.pb'
13
-
14
- module Google
15
- module Rpc
16
- ::Protobuf::Optionable.inject(self) { ::Google::Protobuf::FileOptions }
17
-
18
- ##
19
- # Message Classes
20
- #
21
- class Status < ::Protobuf::Message; end
22
-
23
-
24
- ##
25
- # File Options
26
- #
27
- set_option :java_package, "com.google.rpc"
28
- set_option :java_outer_classname, "StatusProto"
29
- set_option :java_multiple_files, true
30
- set_option :go_package, "google.golang.org/genproto/googleapis/rpc/status;status"
31
- set_option :objc_class_prefix, "RPC"
32
-
33
-
34
- ##
35
- # Message Fields
36
- #
37
- class Status
38
- optional :int32, :code, 1
39
- optional :string, :message, 2
40
- repeated ::Google::Protobuf::Any, :details, 3
41
- end
42
-
43
- end
44
-
45
- end
46
-
@@ -1,4 +0,0 @@
1
- <%- assert_locals gem -%>
2
- source "https://rubygems.org"
3
-
4
- gemspec
@@ -1,9 +0,0 @@
1
- <%- assert_locals service -%>
2
- <% @requires = capture do %>
3
- require "<%= service.rest.client_require %>"
4
- <% end %>
5
- module <%= service.module_name %>
6
- # Client for the REST transport
7
- module Rest
8
- end
9
- end
@@ -1,4 +0,0 @@
1
- <%- assert_locals method -%>
2
- raise ::ArgumentError, "request must be provided" if request.nil?
3
-
4
- request = ::Gapic::Protobuf.coerce request, to: <%= method.request_type %>
@@ -1,9 +0,0 @@
1
- <%- assert_locals method -%>
2
- unless request.is_a? ::Enumerable
3
- raise ::ArgumentError, "request must be an Enumerable" unless request.respond_to? :to_enum
4
- request = request.to_enum
5
- end
6
-
7
- request = request.lazy.map do |req|
8
- ::Gapic::Protobuf.coerce req, to: <%= method.request_type %>
9
- end
@@ -1,5 +0,0 @@
1
- <%- assert_locals method -%>
2
- <%- if method.is_deprecated? -%>
3
- # @deprecated This method is deprecated and may be removed in the next major version update.
4
- #
5
- <%- end -%>
@@ -1,6 +0,0 @@
1
- <%- assert_locals method -%>
2
- <%- if method.generate_yardoc_snippets? -%>
3
- # @example Basic example
4
- <%= indent render(partial: "snippets/snippet/structure", locals: { snippet: method.snippet }), "# " %>
5
- #
6
- <%- end -%>
@@ -1,6 +0,0 @@
1
- <%- assert_locals pattern -%>
2
- <%- pattern.arguments[0...-1].each do |arg| -%>
3
- raise ::ArgumentError, "<%= arg %> cannot contain /" if <%= arg %>.to_s.include? "/"
4
- <%- end -%>
5
-
6
- "<%= pattern.path_string %>"
@@ -1,122 +0,0 @@
1
- <%- assert_locals service -%>
2
- <%- method_service ||= service -%>
3
- ##
4
- # Configuration class for the <%= service.name %> REST API.
5
- #
6
- # This class represents the configuration for <%= service.name %> REST,
7
- # providing control over credentials, timeouts, retry behavior, logging.
8
- #
9
- # Configuration can be applied globally to all clients, or to a single client
10
- # on construction.
11
- #
12
- <%- unless method_service.methods.empty? -%>
13
- # # Examples
14
- #
15
- # To modify the global config, setting the timeout for all calls to 10 seconds:
16
- #
17
- # <%= service.client_name_full %>.configure do |config|
18
- # config.timeout = 10.0
19
- # end
20
- #
21
- # To apply the above configuration only to a new client:
22
- #
23
- # client = <%= service.client_name_full %>.new do |config|
24
- # config.timeout = 10.0
25
- # end
26
- #
27
- <%- end -%>
28
- # @!attribute [rw] endpoint
29
- # The hostname or hostname:port of the service endpoint.
30
- # Defaults to `<%= service.client_endpoint.inspect %>`.
31
- # @return [::String]
32
- # @!attribute [rw] credentials
33
- # Credentials to send with calls. You may provide any of the following types:
34
- # * (`String`) The path to a service account key file in JSON format
35
- # * (`Hash`) A service account key as a Hash
36
- # * (`Google::Auth::Credentials`) A googleauth credentials object
37
- # (see the [googleauth docs](https://googleapis.dev/ruby/googleauth/latest/index.html))
38
- # * (`Signet::OAuth2::Client`) A signet oauth2 client object
39
- # (see the [signet docs](https://googleapis.dev/ruby/signet/latest/Signet/OAuth2/Client.html))
40
- # * (`nil`) indicating no credentials
41
- # @return [::Object]
42
- # @!attribute [rw] scope
43
- # The OAuth scopes
44
- # @return [::Array<::String>]
45
- # @!attribute [rw] lib_name
46
- # The library name as recorded in instrumentation and logging
47
- # @return [::String]
48
- # @!attribute [rw] lib_version
49
- # The library version as recorded in instrumentation and logging
50
- # @return [::String]
51
- # @!attribute [rw] timeout
52
- # The call timeout in seconds.
53
- # @return [::Numeric]
54
- # @!attribute [rw] metadata
55
- # Additional REST headers to be sent with the call.
56
- # @return [::Hash{::Symbol=>::String}]
57
- #
58
- class Configuration
59
- extend ::Gapic::Config
60
-
61
- config_attr :endpoint, <%= service.client_endpoint.inspect %>, ::String
62
- config_attr :credentials, nil do |value|
63
- allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
64
- allowed.any? { |klass| klass === value }
65
- end
66
- config_attr :scope, nil, ::String, ::Array, nil
67
- config_attr :lib_name, nil, ::String, nil
68
- config_attr :lib_version, nil, ::String, nil
69
- config_attr :timeout, nil, ::Numeric, nil
70
- config_attr :metadata, nil, ::Hash, nil
71
-
72
- # @private
73
- def initialize parent_config = nil
74
- @parent_config = parent_config unless parent_config.nil?
75
-
76
- yield self if block_given?
77
- end
78
-
79
- ##
80
- # Configurations for individual RPCs
81
- # @return [Rpcs]
82
- #
83
- def rpcs
84
- @rpcs ||= begin
85
- parent_rpcs = nil
86
- parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
87
- Rpcs.new parent_rpcs
88
- end
89
- end
90
-
91
- ##
92
- # Configuration RPC class for the <%= service.name %> API.
93
- #
94
- # Includes fields providing the configuration for each RPC in this service.
95
- # Each configuration object is of type `Gapic::Config::Method` and includes
96
- # the following configuration fields:
97
- #
98
- # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
99
- #
100
- # there is one other field (`retry_policy`) that can be set
101
- # but is currently not supported for REST Gapic libraries.
102
- #
103
- class Rpcs
104
- <%- method_service.methods.each do |method| -%>
105
- ##
106
- # RPC-specific configuration for `<%= method.name %>`
107
- # @return [::Gapic::Config::Method]
108
- #
109
- attr_reader :<%= method.name %>
110
- <%- end -%>
111
-
112
- # @private
113
- def initialize parent_rpcs = nil
114
- <%- method_service.methods.each do |method| -%>
115
- <%= method.name %>_config = parent_rpcs.<%= method.name %> if parent_rpcs.respond_to? :<%= method.name %>
116
- @<%= method.name %> = ::Gapic::Config::Method.new <%= method.name %>_config
117
- <%- end -%>
118
-
119
- yield self if block_given?
120
- end
121
- end
122
- end
@@ -1,6 +0,0 @@
1
- <%- assert_locals method -%>
2
-
3
- @<%= method.service.stub_name %>.<%= method.name %> request, options do |result, response|
4
- yield result, response if block_given?
5
- return result
6
- end
@@ -1,7 +0,0 @@
1
- <%- assert_locals method -%>
2
-
3
- @<%= method.service.stub_name %>.<%= method.name %> request, options do |result, response|
4
- result = ::Gapic::Rest::PagedEnumerable.new @<%= method.service.stub_name %>, :<%= method.name %>, "<%= method.rest.pagination.response_repeated_field_name %>", request, result, options
5
- yield result, response if block_given?
6
- return result
7
- end
@@ -1,6 +0,0 @@
1
- <%- assert_locals method -%>
2
- # @yield [result, response] Access the result along with the Faraday response object
3
- # @yieldparam result [<%= method.rest.doc_response_type %>]
4
- # @yieldparam response [::Faraday::Response]
5
- #
6
- # @return [<%= method.rest.doc_response_type %>]
@@ -1,25 +0,0 @@
1
- <%- assert_locals service -%>
2
- <% @requires = capture do %>
3
- require "<%= service.proto_service_require %>"
4
- <% end %>
5
- ##
6
- # REST service stub for the <%= service.name %> service.
7
- # service stub contains baseline method implementations
8
- # including transcoding, making the REST call and deserialing the response
9
- #
10
- class <%= service.rest.service_stub_name %>
11
- def initialize endpoint:, credentials:
12
- # These require statements are intentionally placed here to initialize
13
- # the REST modules only when it's required.
14
- require "gapic/rest"
15
-
16
- @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint, credentials: credentials
17
- end
18
-
19
- <%- service.methods.each do |method| -%>
20
-
21
- <%= indent_tail render(partial: "service/rest/service_stub/method/def", locals: { method: method }), 2 %>
22
-
23
- <%= indent_tail render(partial: "service/rest/service_stub/grpc_transcoding_method/def", locals: { method: method }), 2 %>
24
- <%- end %>
25
- end
@@ -1,24 +0,0 @@
1
- <%- assert_locals method -%>
2
- ##
3
- # GRPC transcoding helper method for the <%= method.name %> REST call
4
- #
5
- # @param request_pb [<%= method.request_type %>]
6
- # A request object representing the call parameters. Required.
7
- # @return [Array(String, [String, nil], Hash{String => String})]
8
- # Uri, Body, Query string parameters
9
- def <%= method.rest.transcoding_helper_name %> request_pb
10
- uri = "<%= method.rest.uri_interpolated %>"
11
- <%- if method.rest.body? -%>
12
- body = <%= method.rest.body_interpolated %>
13
- <%- else -%>
14
- body = nil
15
- <%- end -%>
16
- query_string_params = {}
17
- <%- if method.rest.query_string_params? -%>
18
- <%- method.rest.query_string_params.each do |field| -%>
19
- <%= render partial: "service/rest/service_stub/grpc_transcoding_method/def/query_string_param", locals: { field: field } -%>
20
- <%- end -%>
21
- <%- end -%>
22
-
23
- [uri, body, query_string_params]
24
- end
@@ -1,20 +0,0 @@
1
- <%- assert_locals method -%>
2
- ##
3
- # Baseline implementation for the <%= method.name %> REST call
4
- #
5
- # @param request_pb [<%= method.rest.request_type %>]
6
- # A request object representing the call parameters. Required.
7
- # @param options [::Gapic::CallOptions]
8
- # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
9
- #
10
- # @yield [result, response] Access the result along with the Faraday response object
11
- # @yieldparam result [<%= method.rest.return_type %>]
12
- # @yieldparam response [::Faraday::Response]
13
- #
14
- # @return [<%= method.rest.return_type %>]
15
- # A result object deserialized from the server's reply
16
- def <%= method.name %> request_pb, options = nil
17
- <%= indent render(partial: "service/rest/service_stub/method/def/request", locals: { method: method }), 2 %>
18
-
19
- <%= indent render(partial: "service/rest/service_stub/method/def/response", locals: { method: method }), 2 %>
20
- end
@@ -1,17 +0,0 @@
1
- <%- assert_locals method -%>
2
-
3
- uri, <%= method.rest.body_var_name %>, <%= method.rest.query_string_params_var_name %> = <%= method.rest.transcoding_helper_name %> request_pb
4
- response = @client_stub.make_<%= method.rest.verb %>_request(
5
- uri: uri,
6
- <%- if method.rest.body? -%>
7
- body: body,
8
- <%- end -%>
9
- <%- if method.rest.query_string_params? -%>
10
- params: query_string_params,
11
- <%- end -%>
12
- options: options
13
- )
14
- result = <%= method.return_type %>.decode_json response.body, ignore_unknown_fields: true
15
-
16
- yield result, response if block_given?
17
- result
@@ -1,2 +0,0 @@
1
- <%- assert_locals method -%>
2
- assert_equal http_response, response
@@ -1,71 +0,0 @@
1
- <%- assert_locals method -%>
2
- <%- full_client_name = defined?(client_name_full) ? client_name_full : method.service.rest.client_name_full -%>
3
- <%- fields = method.fields_with_first_oneof -%>
4
- def test_<%= method.name %>
5
- # Create test objects.
6
- client_result = <%= method.return_type %>.new
7
- http_response = OpenStruct.new body: client_result.to_json
8
-
9
- call_options = {}
10
-
11
- # Create request parameters for a unary method.
12
- <%- fields.each do |field| -%>
13
- <%= field.name %> = <%= field.default_value %>
14
- <%- end -%>
15
-
16
- <%= method.name %>_client_stub = ClientStub.new http_response do |verb, uri:, body:, params:, options:|
17
- assert_equal :<%= method.rest.verb %>, verb
18
-
19
- assert options.metadata.key? :"x-goog-api-client"
20
- assert options.metadata[:"x-goog-api-client"].include? "rest"
21
- refute options.metadata[:"x-goog-api-client"].include? "grpc"
22
-
23
- <%- if method.rest.query_string_params? -%>
24
- <%- method.rest.query_string_params.each do |field| -%>
25
- assert params.key? "<%= field.camel_name %>"
26
- <%- end -%>
27
- <%- end -%>
28
- <%- if method.rest.body? %>
29
- refute_nil body
30
- <%- else -%>
31
- assert_nil body
32
- <%- end -%>
33
- end
34
-
35
- Gapic::Rest::ClientStub.stub :new, <%= method.name %>_client_stub do
36
- # Create client
37
- client = <%= full_client_name %>.new do |config|
38
- config.credentials = :dummy_value
39
- end
40
-
41
- # Use hash object
42
- client.<%= method.name %>({ <%= fields.map(&:as_kwarg).join ", " %> }) do |result, response|
43
- <%= indent_tail render(partial: "service/rest/test/method/assert_response", locals: { method: method }), 6 %>
44
- end
45
-
46
- <%- if fields.any? -%>
47
- # Use named arguments
48
- client.<%= method.name %> <%= fields.map(&:as_kwarg).join ", " %> do |result, response|
49
- <%= indent_tail render(partial: "service/rest/test/method/assert_response", locals: { method: method }), 6 %>
50
- end
51
-
52
- <%- end -%>
53
- # Use protobuf object
54
- client.<%= method.name %> <%= method.request_type %>.new(<%= fields.map(&:as_kwarg).join ", " %>) do |result, response|
55
- <%= indent_tail render(partial: "service/rest/test/method/assert_response", locals: { method: method }), 6 %>
56
- end
57
-
58
- # Use hash object with options
59
- client.<%= method.name %>({ <%= fields.map(&:as_kwarg).join ", " %> }, call_options) do |result, response|
60
- <%= indent_tail render(partial: "service/rest/test/method/assert_response", locals: { method: method }), 6 %>
61
- end
62
-
63
- # Use protobuf object with options
64
- client.<%= method.name %>(<%= method.request_type %>.new(<%= fields.map(&:as_kwarg).join ", " %>), call_options) do |result, response|
65
- <%= indent_tail render(partial: "service/rest/test/method/assert_response", locals: { method: method }), 6 %>
66
- end
67
-
68
- # Verify method calls
69
- assert_equal <%= fields.any? ? 5 : 4 %>, <%= method.name %>_client_stub.call_count
70
- end
71
- end
@@ -1,15 +0,0 @@
1
- <%- assert_locals service -%>
2
- <%= render partial: "shared/header" %>
3
- require "helper"
4
-
5
- require "gapic/grpc/service_stub"
6
-
7
- require "<%= service.service_require %>"
8
-
9
- class <%= service.client_name_full %>PathsTest < Minitest::Test
10
- <%- service.deduped_references.each do |resource| -%>
11
- <%= indent render(partial: "service/test/resource",
12
- locals: { resource: resource, service: service }), 2 %>
13
-
14
- <%- end %>
15
- end
@@ -1,71 +0,0 @@
1
- <%- assert_locals snippet -%>
2
- require "<%= snippet.require_path %>"
3
-
4
- # Create a client object. The client can be reused for multiple calls.
5
- client = <%= snippet.client_type %>.new
6
-
7
- <%- if snippet.bidi_streaming? -%>
8
- # Create an input stream
9
- input = Gapic::StreamInput.new
10
-
11
- # Call the <%= snippet.method_name %> method to start streaming.
12
- output = client.<%= snippet.method_name %> input
13
-
14
- # Send requests on the stream. For each request, pass in keyword
15
- # arguments to set fields. Be sure to close the stream when done.
16
- input << <%= snippet.request_type %>.new
17
- input << <%= snippet.request_type %>.new
18
- input.close
19
-
20
- # Handle streamed responses. These may be interleaved with inputs.
21
- # Each response is of type <%= snippet.base_response_type %>.
22
- output.each do |response|
23
- p response
24
- end
25
- <%- else -%>
26
- <%- if snippet.client_streaming? -%>
27
- # Create a stream of requests, as an Enumerator.
28
- # For each request, pass in keyword arguments to set fields.
29
- request = [
30
- <%= snippet.request_type %>.new,
31
- <%= snippet.request_type %>.new
32
- ].to_enum
33
- <%- else -%>
34
- # Create a request. To set request fields, pass in keyword arguments.
35
- request = <%= snippet.request_type %>.new
36
- <%- end -%>
37
-
38
- # Call the <%= snippet.method_name %> method.
39
- result = client.<%= snippet.method_name %> request
40
-
41
- <%- case snippet.response_kind -%>
42
- <%- when :lro -%>
43
- # The returned object is of type Gapic::Operation. You can use this
44
- # object to check the status of an operation, cancel it, or wait
45
- # for results. Here is how to block until completion:
46
- result.wait_until_done! timeout: 60
47
- if result.response?
48
- p result.response
49
- else
50
- puts "Error!"
51
- end
52
- <%- when :paged -%>
53
- # The returned object is of type Gapic::PagedEnumerable. You can
54
- # iterate over all elements by calling #each, and the enumerable
55
- # will lazily make API calls to fetch subsequent pages. Other
56
- # methods are also available for managing paging directly.
57
- result.each do |response|
58
- # Each element is of type <%= snippet.paged_response_type %>.
59
- p response
60
- end
61
- <%- when :streaming -%>
62
- # The returned object is a streamed enumerable yielding elements of
63
- # type <%= snippet.base_response_type %>.
64
- result.each do |response|
65
- p response
66
- end
67
- <%- else -%>
68
- # The returned object is of type <%= snippet.return_type %>.
69
- p result
70
- <%- end -%>
71
- <%- end -%>
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes