gapic-generator 0.10.1 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +34 -0
  3. data/lib/gapic/generator/version.rb +1 -1
  4. data/lib/gapic/generators/default_generator.rb +2 -0
  5. data/lib/gapic/generators/default_generator_parameters.rb +3 -1
  6. data/lib/gapic/grpc_service_config/{service_config.rb → config.rb} +2 -2
  7. data/lib/gapic/grpc_service_config/parser.rb +8 -8
  8. data/lib/gapic/model/method/http_annotation.rb +123 -0
  9. data/lib/gapic/model/method/lro.rb +160 -0
  10. data/lib/gapic/model/method/routing.rb +263 -0
  11. data/lib/gapic/model/mixins.rb +181 -0
  12. data/lib/gapic/model/model_error.rb +26 -0
  13. data/lib/gapic/model/service/nonstandard_lro_provider.rb +293 -0
  14. data/lib/gapic/model.rb +22 -0
  15. data/lib/gapic/path_pattern/pattern.rb +46 -0
  16. data/lib/gapic/path_pattern/segment.rb +97 -9
  17. data/lib/gapic/presenters/gem_presenter.rb +34 -2
  18. data/lib/gapic/presenters/{service_config_presenter.rb → grpc_service_config_presenter.rb} +1 -1
  19. data/lib/gapic/presenters/method_presenter.rb +43 -3
  20. data/lib/gapic/presenters/method_rest_presenter.rb +33 -55
  21. data/lib/gapic/presenters/service/lro_client_presenter.rb +90 -0
  22. data/lib/gapic/presenters/service_presenter.rb +185 -3
  23. data/lib/gapic/presenters/service_rest_presenter.rb +81 -0
  24. data/lib/gapic/presenters/snippet_presenter.rb +1 -0
  25. data/lib/gapic/presenters.rb +3 -1
  26. data/lib/gapic/schema/api.rb +56 -2
  27. data/lib/gapic/schema/loader.rb +4 -1
  28. data/lib/gapic/schema/service_config_parser.rb +118 -0
  29. data/lib/gapic/schema/wrappers.rb +124 -1
  30. data/lib/google/api/auth.pb.rb +75 -0
  31. data/lib/google/api/backend.pb.rb +59 -0
  32. data/lib/google/api/billing.pb.rb +53 -0
  33. data/lib/google/api/context.pb.rb +47 -0
  34. data/lib/google/api/control.pb.rb +38 -0
  35. data/lib/google/api/documentation.pb.rb +56 -0
  36. data/lib/google/api/endpoint.pb.rb +42 -0
  37. data/lib/google/api/label.pb.rb +49 -0
  38. data/lib/google/api/launch_stage.pb.rb +37 -0
  39. data/lib/google/api/log.pb.rb +47 -0
  40. data/lib/google/api/logging.pb.rb +48 -0
  41. data/lib/google/api/metric.pb.rb +90 -0
  42. data/lib/google/api/monitored_resource.pb.rb +68 -0
  43. data/lib/google/api/monitoring.pb.rb +48 -0
  44. data/lib/google/api/quota.pb.rb +63 -0
  45. data/lib/google/api/routing.pb.rb +58 -0
  46. data/lib/google/api/service.pb.rb +90 -0
  47. data/lib/google/api/source_info.pb.rb +44 -0
  48. data/lib/google/api/system_parameter.pb.rb +51 -0
  49. data/lib/google/api/usage.pb.rb +47 -0
  50. data/lib/google/cloud/extended_operations.pb.rb +57 -0
  51. data/lib/google/protobuf/any.pb.rb +1 -1
  52. data/lib/google/protobuf/api.pb.rb +69 -0
  53. data/lib/google/protobuf/descriptor.pb.rb +1 -1
  54. data/lib/google/protobuf/duration.pb.rb +41 -0
  55. data/lib/google/protobuf/source_context.pb.rb +39 -0
  56. data/lib/google/protobuf/struct.pb.rb +65 -0
  57. data/lib/google/protobuf/type.pb.rb +128 -0
  58. data/lib/google/protobuf/wrappers.pb.rb +80 -0
  59. data/templates/default/gem/yardopts.erb +1 -1
  60. data/templates/default/lib/_package.erb +4 -0
  61. data/templates/default/lib/_service.erb +6 -0
  62. data/templates/default/service/client/_client.erb +20 -8
  63. data/templates/default/service/client/_nonstandard_lro.erb +57 -0
  64. data/templates/default/service/client/_self_configure_defaults.erb +2 -2
  65. data/templates/default/service/client/method/def/_options_defaults.erb +1 -8
  66. data/templates/default/service/client/method/def/_response.erb +2 -0
  67. data/templates/default/service/client/method/def/_response_nonstandard_lro.erb +23 -0
  68. data/templates/default/service/client/method/def/_routing_params.erb +36 -0
  69. data/templates/default/service/nonstandard_lro.erb +6 -0
  70. data/templates/default/service/rest/client/_client.erb +32 -5
  71. data/templates/default/service/rest/client/method/def/_response.erb +2 -2
  72. data/templates/default/service/rest/client/method/def/_response_nonstandard_lro.erb +23 -0
  73. data/templates/default/service/test/method/_assert_response.erb +3 -0
  74. metadata +61 -7
  75. data/templates/default/service/rest/client/method/def/_response_lro.erb +0 -7
@@ -0,0 +1,90 @@
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/api/auth.pb'
13
+ require 'google/api/backend.pb'
14
+ require 'google/api/billing.pb'
15
+ require 'google/api/context.pb'
16
+ require 'google/api/control.pb'
17
+ require 'google/api/documentation.pb'
18
+ require 'google/api/endpoint.pb'
19
+ require 'google/api/http.pb'
20
+ require 'google/api/label.pb'
21
+ require 'google/api/log.pb'
22
+ require 'google/api/logging.pb'
23
+ require 'google/api/metric.pb'
24
+ require 'google/api/monitored_resource.pb'
25
+ require 'google/api/monitoring.pb'
26
+ require 'google/api/quota.pb'
27
+ require 'google/api/resource.pb'
28
+ require 'google/api/source_info.pb'
29
+ require 'google/api/system_parameter.pb'
30
+ require 'google/api/usage.pb'
31
+ require 'google/protobuf/any.pb'
32
+ require 'google/protobuf/api.pb'
33
+ require 'google/protobuf/type.pb'
34
+ require 'google/protobuf/wrappers.pb'
35
+
36
+ module Google
37
+ module Api
38
+ ::Protobuf::Optionable.inject(self) { ::Google::Protobuf::FileOptions }
39
+
40
+ ##
41
+ # Message Classes
42
+ #
43
+ class Service < ::Protobuf::Message; end
44
+
45
+
46
+ ##
47
+ # File Options
48
+ #
49
+ set_option :java_package, "com.google.api"
50
+ set_option :java_outer_classname, "ServiceProto"
51
+ set_option :java_multiple_files, true
52
+ set_option :go_package, "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"
53
+ set_option :objc_class_prefix, "GAPI"
54
+
55
+
56
+ ##
57
+ # Message Fields
58
+ #
59
+ class Service
60
+ optional ::Google::Protobuf::UInt32Value, :config_version, 20
61
+ optional :string, :name, 1
62
+ optional :string, :id, 33
63
+ optional :string, :title, 2
64
+ optional :string, :producer_project_id, 22
65
+ repeated ::Google::Protobuf::Api, :apis, 3
66
+ repeated ::Google::Protobuf::Type, :types, 4
67
+ repeated ::Google::Protobuf::Enum, :enums, 5
68
+ optional ::Google::Api::Documentation, :documentation, 6
69
+ optional ::Google::Api::Backend, :backend, 8
70
+ optional ::Google::Api::Http, :http, 9
71
+ optional ::Google::Api::Quota, :quota, 10
72
+ optional ::Google::Api::Authentication, :authentication, 11
73
+ optional ::Google::Api::Context, :context, 12
74
+ optional ::Google::Api::Usage, :usage, 15
75
+ repeated ::Google::Api::Endpoint, :endpoints, 18
76
+ optional ::Google::Api::Control, :control, 21
77
+ repeated ::Google::Api::LogDescriptor, :logs, 23
78
+ repeated ::Google::Api::MetricDescriptor, :metrics, 24
79
+ repeated ::Google::Api::MonitoredResourceDescriptor, :monitored_resources, 25
80
+ optional ::Google::Api::Billing, :billing, 26
81
+ optional ::Google::Api::Logging, :logging, 27
82
+ optional ::Google::Api::Monitoring, :monitoring, 28
83
+ optional ::Google::Api::SystemParameters, :system_parameters, 29
84
+ optional ::Google::Api::SourceInfo, :source_info, 37
85
+ end
86
+
87
+ end
88
+
89
+ end
90
+
@@ -0,0 +1,44 @@
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 Api
16
+ ::Protobuf::Optionable.inject(self) { ::Google::Protobuf::FileOptions }
17
+
18
+ ##
19
+ # Message Classes
20
+ #
21
+ class SourceInfo < ::Protobuf::Message; end
22
+
23
+
24
+ ##
25
+ # File Options
26
+ #
27
+ set_option :java_package, "com.google.api"
28
+ set_option :java_outer_classname, "SourceInfoProto"
29
+ set_option :java_multiple_files, true
30
+ set_option :go_package, "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"
31
+ set_option :objc_class_prefix, "GAPI"
32
+
33
+
34
+ ##
35
+ # Message Fields
36
+ #
37
+ class SourceInfo
38
+ repeated ::Google::Protobuf::Any, :source_files, 1
39
+ end
40
+
41
+ end
42
+
43
+ end
44
+
@@ -0,0 +1,51 @@
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 Api
10
+ ::Protobuf::Optionable.inject(self) { ::Google::Protobuf::FileOptions }
11
+
12
+ ##
13
+ # Message Classes
14
+ #
15
+ class SystemParameters < ::Protobuf::Message; end
16
+ class SystemParameterRule < ::Protobuf::Message; end
17
+ class SystemParameter < ::Protobuf::Message; end
18
+
19
+
20
+ ##
21
+ # File Options
22
+ #
23
+ set_option :java_package, "com.google.api"
24
+ set_option :java_outer_classname, "SystemParameterProto"
25
+ set_option :java_multiple_files, true
26
+ set_option :go_package, "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"
27
+ set_option :objc_class_prefix, "GAPI"
28
+
29
+
30
+ ##
31
+ # Message Fields
32
+ #
33
+ class SystemParameters
34
+ repeated ::Google::Api::SystemParameterRule, :rules, 1
35
+ end
36
+
37
+ class SystemParameterRule
38
+ optional :string, :selector, 1
39
+ repeated ::Google::Api::SystemParameter, :parameters, 2
40
+ end
41
+
42
+ class SystemParameter
43
+ optional :string, :name, 1
44
+ optional :string, :http_header, 2
45
+ optional :string, :url_query_parameter, 3
46
+ end
47
+
48
+ end
49
+
50
+ end
51
+
@@ -0,0 +1,47 @@
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 Api
10
+ ::Protobuf::Optionable.inject(self) { ::Google::Protobuf::FileOptions }
11
+
12
+ ##
13
+ # Message Classes
14
+ #
15
+ class Usage < ::Protobuf::Message; end
16
+ class UsageRule < ::Protobuf::Message; end
17
+
18
+
19
+ ##
20
+ # File Options
21
+ #
22
+ set_option :java_package, "com.google.api"
23
+ set_option :java_outer_classname, "UsageProto"
24
+ set_option :java_multiple_files, true
25
+ set_option :go_package, "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"
26
+ set_option :objc_class_prefix, "GAPI"
27
+
28
+
29
+ ##
30
+ # Message Fields
31
+ #
32
+ class Usage
33
+ repeated :string, :requirements, 1
34
+ repeated ::Google::Api::UsageRule, :rules, 6
35
+ optional :string, :producer_notification_channel, 7
36
+ end
37
+
38
+ class UsageRule
39
+ optional :string, :selector, 1
40
+ optional :bool, :allow_unregistered_calls, 2
41
+ optional :bool, :skip_service_control, 3
42
+ end
43
+
44
+ end
45
+
46
+ end
47
+
@@ -0,0 +1,57 @@
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/descriptor.pb'
13
+
14
+ module Google
15
+ module Cloud
16
+ ::Protobuf::Optionable.inject(self) { ::Google::Protobuf::FileOptions }
17
+
18
+ ##
19
+ # Enum Classes
20
+ #
21
+ class OperationResponseMapping < ::Protobuf::Enum
22
+ define :UNDEFINED, 0
23
+ define :NAME, 1
24
+ define :STATUS, 2
25
+ define :ERROR_CODE, 3
26
+ define :ERROR_MESSAGE, 4
27
+ end
28
+
29
+
30
+ ##
31
+ # File Options
32
+ #
33
+ set_option :java_package, "com.google.cloud"
34
+ set_option :java_outer_classname, "ExtendedOperationsProto"
35
+ set_option :java_multiple_files, true
36
+ set_option :go_package, "google.golang.org/genproto/googleapis/cloud/extendedops;extendedops"
37
+ set_option :objc_class_prefix, "GAPI"
38
+
39
+
40
+ ##
41
+ # Extended Message Fields
42
+ #
43
+ class ::Google::Protobuf::FieldOptions < ::Protobuf::Message
44
+ optional ::Google::Cloud::OperationResponseMapping, :".google.cloud.operation_field", 1149, :extension => true
45
+ optional :string, :".google.cloud.operation_request_field", 1150, :extension => true
46
+ optional :string, :".google.cloud.operation_response_field", 1151, :extension => true
47
+ end
48
+
49
+ class ::Google::Protobuf::MethodOptions < ::Protobuf::Message
50
+ optional :string, :".google.cloud.operation_service", 1249, :extension => true
51
+ optional :bool, :".google.cloud.operation_polling_method", 1250, :extension => true
52
+ end
53
+
54
+ end
55
+
56
+ end
57
+
@@ -21,7 +21,7 @@ module Google
21
21
  set_option :java_package, "com.google.protobuf"
22
22
  set_option :java_outer_classname, "AnyProto"
23
23
  set_option :java_multiple_files, true
24
- set_option :go_package, "google.golang.org/protobuf/types/known/anypb"
24
+ set_option :go_package, "github.com/golang/protobuf/ptypes/any"
25
25
  set_option :objc_class_prefix, "GPB"
26
26
  set_option :csharp_namespace, "Google.Protobuf.WellKnownTypes"
27
27
 
@@ -0,0 +1,69 @@
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/source_context.pb'
13
+ require 'google/protobuf/type.pb'
14
+
15
+ module Google
16
+ module Protobuf
17
+ ::Protobuf::Optionable.inject(self) { ::Google::Protobuf::FileOptions }
18
+
19
+ ##
20
+ # Message Classes
21
+ #
22
+ class Api < ::Protobuf::Message; end
23
+ class Method < ::Protobuf::Message; end
24
+ class Mixin < ::Protobuf::Message; end
25
+
26
+
27
+ ##
28
+ # File Options
29
+ #
30
+ set_option :java_package, "com.google.protobuf"
31
+ set_option :java_outer_classname, "ApiProto"
32
+ set_option :java_multiple_files, true
33
+ set_option :go_package, "google.golang.org/genproto/protobuf/api;api"
34
+ set_option :objc_class_prefix, "GPB"
35
+ set_option :csharp_namespace, "Google.Protobuf.WellKnownTypes"
36
+
37
+
38
+ ##
39
+ # Message Fields
40
+ #
41
+ class Api
42
+ optional :string, :name, 1
43
+ repeated ::Google::Protobuf::Method, :methods, 2
44
+ repeated ::Google::Protobuf::Option, :options, 3
45
+ optional :string, :version, 4
46
+ optional ::Google::Protobuf::SourceContext, :source_context, 5
47
+ repeated ::Google::Protobuf::Mixin, :mixins, 6
48
+ optional ::Google::Protobuf::Syntax, :syntax, 7
49
+ end
50
+
51
+ class Method
52
+ optional :string, :name, 1
53
+ optional :string, :request_type_url, 2
54
+ optional :bool, :request_streaming, 3
55
+ optional :string, :response_type_url, 4
56
+ optional :bool, :response_streaming, 5
57
+ repeated ::Google::Protobuf::Option, :options, 6
58
+ optional ::Google::Protobuf::Syntax, :syntax, 7
59
+ end
60
+
61
+ class Mixin
62
+ optional :string, :name, 1
63
+ optional :string, :root, 2
64
+ end
65
+
66
+ end
67
+
68
+ end
69
+
@@ -121,7 +121,7 @@ module Google
121
121
  set_option :java_package, "com.google.protobuf"
122
122
  set_option :java_outer_classname, "DescriptorProtos"
123
123
  set_option :optimize_for, ::Google::Protobuf::FileOptions::OptimizeMode::SPEED
124
- set_option :go_package, "google.golang.org/protobuf/types/descriptorpb"
124
+ set_option :go_package, "github.com/golang/protobuf/protoc-gen-go/descriptor;descriptor"
125
125
  set_option :cc_enable_arenas, true
126
126
  set_option :objc_class_prefix, "GPB"
127
127
  set_option :csharp_namespace, "Google.Protobuf.Reflection"
@@ -0,0 +1,41 @@
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 Duration < ::Protobuf::Message; end
16
+
17
+
18
+ ##
19
+ # File Options
20
+ #
21
+ set_option :java_package, "com.google.protobuf"
22
+ set_option :java_outer_classname, "DurationProto"
23
+ set_option :java_multiple_files, true
24
+ set_option :go_package, "github.com/golang/protobuf/ptypes/duration"
25
+ set_option :cc_enable_arenas, true
26
+ set_option :objc_class_prefix, "GPB"
27
+ set_option :csharp_namespace, "Google.Protobuf.WellKnownTypes"
28
+
29
+
30
+ ##
31
+ # Message Fields
32
+ #
33
+ class Duration
34
+ optional :int64, :seconds, 1
35
+ optional :int32, :nanos, 2
36
+ end
37
+
38
+ end
39
+
40
+ end
41
+
@@ -0,0 +1,39 @@
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 SourceContext < ::Protobuf::Message; end
16
+
17
+
18
+ ##
19
+ # File Options
20
+ #
21
+ set_option :java_package, "com.google.protobuf"
22
+ set_option :java_outer_classname, "SourceContextProto"
23
+ set_option :java_multiple_files, true
24
+ set_option :go_package, "google.golang.org/genproto/protobuf/source_context;source_context"
25
+ set_option :objc_class_prefix, "GPB"
26
+ set_option :csharp_namespace, "Google.Protobuf.WellKnownTypes"
27
+
28
+
29
+ ##
30
+ # Message Fields
31
+ #
32
+ class SourceContext
33
+ optional :string, :file_name, 1
34
+ end
35
+
36
+ end
37
+
38
+ end
39
+
@@ -0,0 +1,65 @@
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
+ # Enum Classes
14
+ #
15
+ class NullValue < ::Protobuf::Enum
16
+ define :NULL_VALUE, 0
17
+ end
18
+
19
+
20
+ ##
21
+ # Message Classes
22
+ #
23
+ class Struct < ::Protobuf::Message
24
+ end
25
+
26
+ class Value < ::Protobuf::Message; end
27
+ class ListValue < ::Protobuf::Message; end
28
+
29
+
30
+ ##
31
+ # File Options
32
+ #
33
+ set_option :java_package, "com.google.protobuf"
34
+ set_option :java_outer_classname, "StructProto"
35
+ set_option :java_multiple_files, true
36
+ set_option :go_package, "github.com/golang/protobuf/ptypes/struct;structpb"
37
+ set_option :cc_enable_arenas, true
38
+ set_option :objc_class_prefix, "GPB"
39
+ set_option :csharp_namespace, "Google.Protobuf.WellKnownTypes"
40
+
41
+
42
+ ##
43
+ # Message Fields
44
+ #
45
+ class Struct
46
+ map :string, ::Google::Protobuf::Value, :fields, 1
47
+ end
48
+
49
+ class Value
50
+ optional ::Google::Protobuf::NullValue, :null_value, 1
51
+ optional :double, :number_value, 2
52
+ optional :string, :string_value, 3
53
+ optional :bool, :bool_value, 4
54
+ optional ::Google::Protobuf::Struct, :struct_value, 5
55
+ optional ::Google::Protobuf::ListValue, :list_value, 6
56
+ end
57
+
58
+ class ListValue
59
+ repeated ::Google::Protobuf::Value, :values, 1
60
+ end
61
+
62
+ end
63
+
64
+ end
65
+
@@ -0,0 +1,128 @@
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
+ require 'google/protobuf/source_context.pb'
14
+
15
+ module Google
16
+ module Protobuf
17
+ ::Protobuf::Optionable.inject(self) { ::Google::Protobuf::FileOptions }
18
+
19
+ ##
20
+ # Enum Classes
21
+ #
22
+ class Syntax < ::Protobuf::Enum
23
+ define :SYNTAX_PROTO2, 0
24
+ define :SYNTAX_PROTO3, 1
25
+ end
26
+
27
+
28
+ ##
29
+ # Message Classes
30
+ #
31
+ class Type < ::Protobuf::Message; end
32
+ class Field < ::Protobuf::Message
33
+ class Kind < ::Protobuf::Enum
34
+ define :TYPE_UNKNOWN, 0
35
+ define :TYPE_DOUBLE, 1
36
+ define :TYPE_FLOAT, 2
37
+ define :TYPE_INT64, 3
38
+ define :TYPE_UINT64, 4
39
+ define :TYPE_INT32, 5
40
+ define :TYPE_FIXED64, 6
41
+ define :TYPE_FIXED32, 7
42
+ define :TYPE_BOOL, 8
43
+ define :TYPE_STRING, 9
44
+ define :TYPE_GROUP, 10
45
+ define :TYPE_MESSAGE, 11
46
+ define :TYPE_BYTES, 12
47
+ define :TYPE_UINT32, 13
48
+ define :TYPE_ENUM, 14
49
+ define :TYPE_SFIXED32, 15
50
+ define :TYPE_SFIXED64, 16
51
+ define :TYPE_SINT32, 17
52
+ define :TYPE_SINT64, 18
53
+ end
54
+
55
+ class Cardinality < ::Protobuf::Enum
56
+ define :CARDINALITY_UNKNOWN, 0
57
+ define :CARDINALITY_OPTIONAL, 1
58
+ define :CARDINALITY_REQUIRED, 2
59
+ define :CARDINALITY_REPEATED, 3
60
+ end
61
+
62
+ end
63
+
64
+ class Enum < ::Protobuf::Message; end
65
+ class EnumValue < ::Protobuf::Message; end
66
+ class Option < ::Protobuf::Message; end
67
+
68
+
69
+ ##
70
+ # File Options
71
+ #
72
+ set_option :java_package, "com.google.protobuf"
73
+ set_option :java_outer_classname, "TypeProto"
74
+ set_option :java_multiple_files, true
75
+ set_option :go_package, "google.golang.org/genproto/protobuf/ptype;ptype"
76
+ set_option :cc_enable_arenas, true
77
+ set_option :objc_class_prefix, "GPB"
78
+ set_option :csharp_namespace, "Google.Protobuf.WellKnownTypes"
79
+
80
+
81
+ ##
82
+ # Message Fields
83
+ #
84
+ class Type
85
+ optional :string, :name, 1
86
+ repeated ::Google::Protobuf::Field, :fields, 2
87
+ repeated :string, :oneofs, 3
88
+ repeated ::Google::Protobuf::Option, :options, 4
89
+ optional ::Google::Protobuf::SourceContext, :source_context, 5
90
+ optional ::Google::Protobuf::Syntax, :syntax, 6
91
+ end
92
+
93
+ class Field
94
+ optional ::Google::Protobuf::Field::Kind, :kind, 1
95
+ optional ::Google::Protobuf::Field::Cardinality, :cardinality, 2
96
+ optional :int32, :number, 3
97
+ optional :string, :name, 4
98
+ optional :string, :type_url, 6
99
+ optional :int32, :oneof_index, 7
100
+ optional :bool, :packed, 8
101
+ repeated ::Google::Protobuf::Option, :options, 9
102
+ optional :string, :json_name, 10
103
+ optional :string, :default_value, 11
104
+ end
105
+
106
+ class Enum
107
+ optional :string, :name, 1
108
+ repeated ::Google::Protobuf::EnumValue, :enumvalue, 2
109
+ repeated ::Google::Protobuf::Option, :options, 3
110
+ optional ::Google::Protobuf::SourceContext, :source_context, 4
111
+ optional ::Google::Protobuf::Syntax, :syntax, 5
112
+ end
113
+
114
+ class EnumValue
115
+ optional :string, :name, 1
116
+ optional :int32, :number, 2
117
+ repeated ::Google::Protobuf::Option, :options, 3
118
+ end
119
+
120
+ class Option
121
+ optional :string, :name, 1
122
+ optional ::Google::Protobuf::Any, :value, 2
123
+ end
124
+
125
+ end
126
+
127
+ end
128
+