prepor-protobuf 3.5.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 (182) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +21 -0
  3. data/.rubocop.yml +51 -0
  4. data/.rubocop_todo.yml +89 -0
  5. data/.travis.yml +25 -0
  6. data/.yardopts +5 -0
  7. data/CHANGES.md +256 -0
  8. data/CONTRIBUTING.md +16 -0
  9. data/Gemfile +3 -0
  10. data/LICENSE.txt +22 -0
  11. data/README.md +33 -0
  12. data/Rakefile +64 -0
  13. data/bin/protoc-gen-ruby +16 -0
  14. data/bin/rpc_server +5 -0
  15. data/install-protobuf.sh +28 -0
  16. data/lib/protobuf.rb +100 -0
  17. data/lib/protobuf/cli.rb +242 -0
  18. data/lib/protobuf/code_generator.rb +44 -0
  19. data/lib/protobuf/decoder.rb +73 -0
  20. data/lib/protobuf/deprecation.rb +112 -0
  21. data/lib/protobuf/descriptors.rb +3 -0
  22. data/lib/protobuf/descriptors/google/protobuf/compiler/plugin.pb.rb +48 -0
  23. data/lib/protobuf/descriptors/google/protobuf/descriptor.pb.rb +251 -0
  24. data/lib/protobuf/encoder.rb +67 -0
  25. data/lib/protobuf/enum.rb +303 -0
  26. data/lib/protobuf/exceptions.rb +9 -0
  27. data/lib/protobuf/field.rb +74 -0
  28. data/lib/protobuf/field/base_field.rb +267 -0
  29. data/lib/protobuf/field/bool_field.rb +59 -0
  30. data/lib/protobuf/field/bytes_field.rb +82 -0
  31. data/lib/protobuf/field/double_field.rb +25 -0
  32. data/lib/protobuf/field/enum_field.rb +68 -0
  33. data/lib/protobuf/field/field_array.rb +87 -0
  34. data/lib/protobuf/field/fixed32_field.rb +25 -0
  35. data/lib/protobuf/field/fixed64_field.rb +28 -0
  36. data/lib/protobuf/field/float_field.rb +41 -0
  37. data/lib/protobuf/field/int32_field.rb +21 -0
  38. data/lib/protobuf/field/int64_field.rb +21 -0
  39. data/lib/protobuf/field/integer_field.rb +23 -0
  40. data/lib/protobuf/field/message_field.rb +65 -0
  41. data/lib/protobuf/field/sfixed32_field.rb +27 -0
  42. data/lib/protobuf/field/sfixed64_field.rb +28 -0
  43. data/lib/protobuf/field/signed_integer_field.rb +29 -0
  44. data/lib/protobuf/field/sint32_field.rb +21 -0
  45. data/lib/protobuf/field/sint64_field.rb +21 -0
  46. data/lib/protobuf/field/string_field.rb +34 -0
  47. data/lib/protobuf/field/uint32_field.rb +21 -0
  48. data/lib/protobuf/field/uint64_field.rb +21 -0
  49. data/lib/protobuf/field/varint_field.rb +73 -0
  50. data/lib/protobuf/generators/base.rb +70 -0
  51. data/lib/protobuf/generators/enum_generator.rb +41 -0
  52. data/lib/protobuf/generators/extension_generator.rb +27 -0
  53. data/lib/protobuf/generators/field_generator.rb +131 -0
  54. data/lib/protobuf/generators/file_generator.rb +135 -0
  55. data/lib/protobuf/generators/group_generator.rb +112 -0
  56. data/lib/protobuf/generators/message_generator.rb +98 -0
  57. data/lib/protobuf/generators/printable.rb +160 -0
  58. data/lib/protobuf/generators/service_generator.rb +26 -0
  59. data/lib/protobuf/lifecycle.rb +33 -0
  60. data/lib/protobuf/logging.rb +39 -0
  61. data/lib/protobuf/message.rb +193 -0
  62. data/lib/protobuf/message/fields.rb +133 -0
  63. data/lib/protobuf/message/serialization.rb +89 -0
  64. data/lib/protobuf/optionable.rb +23 -0
  65. data/lib/protobuf/rpc/buffer.rb +77 -0
  66. data/lib/protobuf/rpc/client.rb +168 -0
  67. data/lib/protobuf/rpc/connector.rb +19 -0
  68. data/lib/protobuf/rpc/connectors/base.rb +55 -0
  69. data/lib/protobuf/rpc/connectors/common.rb +176 -0
  70. data/lib/protobuf/rpc/connectors/socket.rb +73 -0
  71. data/lib/protobuf/rpc/connectors/zmq.rb +322 -0
  72. data/lib/protobuf/rpc/dynamic_discovery.pb.rb +49 -0
  73. data/lib/protobuf/rpc/env.rb +58 -0
  74. data/lib/protobuf/rpc/error.rb +28 -0
  75. data/lib/protobuf/rpc/error/client_error.rb +31 -0
  76. data/lib/protobuf/rpc/error/server_error.rb +43 -0
  77. data/lib/protobuf/rpc/middleware.rb +25 -0
  78. data/lib/protobuf/rpc/middleware/exception_handler.rb +36 -0
  79. data/lib/protobuf/rpc/middleware/logger.rb +91 -0
  80. data/lib/protobuf/rpc/middleware/request_decoder.rb +83 -0
  81. data/lib/protobuf/rpc/middleware/response_encoder.rb +88 -0
  82. data/lib/protobuf/rpc/middleware/runner.rb +18 -0
  83. data/lib/protobuf/rpc/rpc.pb.rb +55 -0
  84. data/lib/protobuf/rpc/server.rb +39 -0
  85. data/lib/protobuf/rpc/servers/socket/server.rb +123 -0
  86. data/lib/protobuf/rpc/servers/socket/worker.rb +56 -0
  87. data/lib/protobuf/rpc/servers/socket_runner.rb +40 -0
  88. data/lib/protobuf/rpc/servers/zmq/broker.rb +193 -0
  89. data/lib/protobuf/rpc/servers/zmq/server.rb +320 -0
  90. data/lib/protobuf/rpc/servers/zmq/util.rb +48 -0
  91. data/lib/protobuf/rpc/servers/zmq/worker.rb +104 -0
  92. data/lib/protobuf/rpc/servers/zmq_runner.rb +62 -0
  93. data/lib/protobuf/rpc/service.rb +179 -0
  94. data/lib/protobuf/rpc/service_directory.rb +253 -0
  95. data/lib/protobuf/rpc/service_dispatcher.rb +46 -0
  96. data/lib/protobuf/rpc/service_filters.rb +272 -0
  97. data/lib/protobuf/rpc/stat.rb +97 -0
  98. data/lib/protobuf/socket.rb +21 -0
  99. data/lib/protobuf/tasks.rb +1 -0
  100. data/lib/protobuf/tasks/compile.rake +61 -0
  101. data/lib/protobuf/version.rb +3 -0
  102. data/lib/protobuf/wire_type.rb +10 -0
  103. data/lib/protobuf/zmq.rb +21 -0
  104. data/proto/dynamic_discovery.proto +44 -0
  105. data/proto/google/protobuf/compiler/plugin.proto +147 -0
  106. data/proto/google/protobuf/descriptor.proto +620 -0
  107. data/proto/rpc.proto +62 -0
  108. data/protobuf.gemspec +51 -0
  109. data/spec/benchmark/tasks.rb +139 -0
  110. data/spec/bin/protoc-gen-ruby_spec.rb +23 -0
  111. data/spec/data/data.bin +3 -0
  112. data/spec/data/types.bin +0 -0
  113. data/spec/encoding/all_types_spec.rb +105 -0
  114. data/spec/encoding/extreme_values_spec.rb +0 -0
  115. data/spec/functional/class_inheritance_spec.rb +52 -0
  116. data/spec/functional/socket_server_spec.rb +59 -0
  117. data/spec/functional/zmq_server_spec.rb +105 -0
  118. data/spec/lib/protobuf/cli_spec.rb +273 -0
  119. data/spec/lib/protobuf/code_generator_spec.rb +60 -0
  120. data/spec/lib/protobuf/enum_spec.rb +265 -0
  121. data/spec/lib/protobuf/field/bool_field_spec.rb +51 -0
  122. data/spec/lib/protobuf/field/field_array_spec.rb +69 -0
  123. data/spec/lib/protobuf/field/float_field_spec.rb +55 -0
  124. data/spec/lib/protobuf/field/int32_field_spec.rb +89 -0
  125. data/spec/lib/protobuf/field/string_field_spec.rb +45 -0
  126. data/spec/lib/protobuf/field_spec.rb +191 -0
  127. data/spec/lib/protobuf/generators/base_spec.rb +84 -0
  128. data/spec/lib/protobuf/generators/enum_generator_spec.rb +73 -0
  129. data/spec/lib/protobuf/generators/extension_generator_spec.rb +42 -0
  130. data/spec/lib/protobuf/generators/field_generator_spec.rb +102 -0
  131. data/spec/lib/protobuf/generators/file_generator_spec.rb +32 -0
  132. data/spec/lib/protobuf/generators/message_generator_spec.rb +0 -0
  133. data/spec/lib/protobuf/generators/service_generator_spec.rb +46 -0
  134. data/spec/lib/protobuf/lifecycle_spec.rb +94 -0
  135. data/spec/lib/protobuf/message_spec.rb +526 -0
  136. data/spec/lib/protobuf/optionable_spec.rb +46 -0
  137. data/spec/lib/protobuf/rpc/client_spec.rb +66 -0
  138. data/spec/lib/protobuf/rpc/connector_spec.rb +26 -0
  139. data/spec/lib/protobuf/rpc/connectors/base_spec.rb +50 -0
  140. data/spec/lib/protobuf/rpc/connectors/common_spec.rb +170 -0
  141. data/spec/lib/protobuf/rpc/connectors/socket_spec.rb +36 -0
  142. data/spec/lib/protobuf/rpc/connectors/zmq_spec.rb +117 -0
  143. data/spec/lib/protobuf/rpc/middleware/exception_handler_spec.rb +62 -0
  144. data/spec/lib/protobuf/rpc/middleware/logger_spec.rb +49 -0
  145. data/spec/lib/protobuf/rpc/middleware/request_decoder_spec.rb +115 -0
  146. data/spec/lib/protobuf/rpc/middleware/response_encoder_spec.rb +75 -0
  147. data/spec/lib/protobuf/rpc/servers/socket_server_spec.rb +38 -0
  148. data/spec/lib/protobuf/rpc/servers/zmq/server_spec.rb +43 -0
  149. data/spec/lib/protobuf/rpc/servers/zmq/util_spec.rb +55 -0
  150. data/spec/lib/protobuf/rpc/servers/zmq/worker_spec.rb +35 -0
  151. data/spec/lib/protobuf/rpc/service_directory_spec.rb +293 -0
  152. data/spec/lib/protobuf/rpc/service_dispatcher_spec.rb +52 -0
  153. data/spec/lib/protobuf/rpc/service_filters_spec.rb +517 -0
  154. data/spec/lib/protobuf/rpc/service_spec.rb +162 -0
  155. data/spec/lib/protobuf/rpc/stat_spec.rb +68 -0
  156. data/spec/lib/protobuf_spec.rb +98 -0
  157. data/spec/spec_helper.rb +44 -0
  158. data/spec/support/all.rb +6 -0
  159. data/spec/support/packed_field.rb +22 -0
  160. data/spec/support/server.rb +64 -0
  161. data/spec/support/test/all_types.data.bin +0 -0
  162. data/spec/support/test/all_types.data.txt +119 -0
  163. data/spec/support/test/defaults.pb.rb +27 -0
  164. data/spec/support/test/defaults.proto +9 -0
  165. data/spec/support/test/enum.pb.rb +55 -0
  166. data/spec/support/test/enum.proto +34 -0
  167. data/spec/support/test/extended.pb.rb +18 -0
  168. data/spec/support/test/extended.proto +10 -0
  169. data/spec/support/test/extreme_values.data.bin +0 -0
  170. data/spec/support/test/google_unittest.pb.rb +537 -0
  171. data/spec/support/test/google_unittest.proto +713 -0
  172. data/spec/support/test/google_unittest_import.pb.rb +39 -0
  173. data/spec/support/test/google_unittest_import.proto +64 -0
  174. data/spec/support/test/google_unittest_import_public.pb.rb +10 -0
  175. data/spec/support/test/google_unittest_import_public.proto +38 -0
  176. data/spec/support/test/multi_field_extensions.pb.rb +58 -0
  177. data/spec/support/test/multi_field_extensions.proto +33 -0
  178. data/spec/support/test/resource.pb.rb +119 -0
  179. data/spec/support/test/resource.proto +94 -0
  180. data/spec/support/test/resource_service.rb +23 -0
  181. data/spec/support/test_app_file.rb +2 -0
  182. metadata +502 -0
@@ -0,0 +1,119 @@
1
+ optional_int32: 101
2
+ optional_int64: 102
3
+ optional_uint32: 103
4
+ optional_uint64: 104
5
+ optional_sint32: 105
6
+ optional_sint64: 106
7
+ optional_fixed32: 107
8
+ optional_fixed64: 108
9
+ optional_sfixed32: 109
10
+ optional_sfixed64: 110
11
+ optional_float: 111
12
+ optional_double: 112
13
+ optional_bool: true
14
+ optional_string: "115"
15
+ optional_bytes: "116"
16
+ optional_nested_message {
17
+ bb: 118
18
+ }
19
+ optional_foreign_message {
20
+ c: 119
21
+ }
22
+ optional_import_message {
23
+ d: 120
24
+ }
25
+ optional_nested_enum: BAZ
26
+ optional_foreign_enum: FOREIGN_BAZ
27
+ optional_import_enum: IMPORT_BAZ
28
+ optional_string_piece: "124"
29
+ optional_cord: "125"
30
+ optional_public_import_message {
31
+ e: 126
32
+ }
33
+ optional_lazy_message {
34
+ bb: 127
35
+ }
36
+ repeated_int32: 201
37
+ repeated_int32: 301
38
+ repeated_int64: 202
39
+ repeated_int64: 302
40
+ repeated_uint32: 203
41
+ repeated_uint32: 303
42
+ repeated_uint64: 204
43
+ repeated_uint64: 304
44
+ repeated_sint32: 205
45
+ repeated_sint32: 305
46
+ repeated_sint64: 206
47
+ repeated_sint64: 306
48
+ repeated_fixed32: 207
49
+ repeated_fixed32: 307
50
+ repeated_fixed64: 208
51
+ repeated_fixed64: 308
52
+ repeated_sfixed32: 209
53
+ repeated_sfixed32: 309
54
+ repeated_sfixed64: 210
55
+ repeated_sfixed64: 310
56
+ repeated_float: 211
57
+ repeated_float: 311
58
+ repeated_double: 212
59
+ repeated_double: 312
60
+ repeated_bool: true
61
+ repeated_bool: false
62
+ repeated_string: "215"
63
+ repeated_string: "315"
64
+ repeated_bytes: "216"
65
+ repeated_bytes: "316"
66
+ repeated_nested_message {
67
+ bb: 218
68
+ }
69
+ repeated_nested_message {
70
+ bb: 318
71
+ }
72
+ repeated_foreign_message {
73
+ c: 219
74
+ }
75
+ repeated_foreign_message {
76
+ c: 319
77
+ }
78
+ repeated_import_message {
79
+ d: 220
80
+ }
81
+ repeated_import_message {
82
+ d: 320
83
+ }
84
+ repeated_nested_enum: BAR
85
+ repeated_nested_enum: BAZ
86
+ repeated_foreign_enum: FOREIGN_BAR
87
+ repeated_foreign_enum: FOREIGN_BAZ
88
+ repeated_import_enum: IMPORT_BAR
89
+ repeated_import_enum: IMPORT_BAZ
90
+ repeated_string_piece: "224"
91
+ repeated_string_piece: "324"
92
+ repeated_cord: "225"
93
+ repeated_cord: "325"
94
+ repeated_lazy_message {
95
+ bb: 227
96
+ }
97
+ repeated_lazy_message {
98
+ bb: 327
99
+ }
100
+ default_int32: 401
101
+ default_int64: 402
102
+ default_uint32: 403
103
+ default_uint64: 404
104
+ default_sint32: 405
105
+ default_sint64: 406
106
+ default_fixed32: 407
107
+ default_fixed64: 408
108
+ default_sfixed32: 409
109
+ default_sfixed64: 410
110
+ default_float: 411
111
+ default_double: 412
112
+ default_bool: false
113
+ default_string: "415"
114
+ default_bytes: "416"
115
+ default_nested_enum: FOO
116
+ default_foreign_enum: FOREIGN_FOO
117
+ default_import_enum: IMPORT_FOO
118
+ default_string_piece: "424"
119
+ default_cord: "425"
@@ -0,0 +1,27 @@
1
+ # encoding: utf-8
2
+
3
+ ##
4
+ # This file is auto-generated. DO NOT EDIT!
5
+ #
6
+ require 'protobuf/message'
7
+
8
+ module Test
9
+
10
+ ##
11
+ # Message Classes
12
+ #
13
+ class Defaults < ::Protobuf::Message; end
14
+
15
+
16
+ ##
17
+ # Message Fields
18
+ #
19
+ class Defaults
20
+ optional :bytes, :escaped_bytes, 1, :default => "\000\001\007\010\014\n\r\t\013\\\\'\"\376"
21
+ optional :double, :infinity_default, 2, :default => ::Float::INFINITY
22
+ optional :float, :neg_infinity_default, 3, :default => -::Float::INFINITY
23
+ optional :double, :nan_default, 4, :default => ::Float::NAN
24
+ end
25
+
26
+ end
27
+
@@ -0,0 +1,9 @@
1
+ package test;
2
+
3
+ message Defaults {
4
+ optional bytes escaped_bytes = 1 [default = "\0\001\a\b\f\n\r\t\v\\\'\"\xfe"];
5
+ optional double infinity_default = 2 [default = inf];
6
+ optional float neg_infinity_default = 3 [default = -inf];
7
+ optional double nan_default = 4 [default = nan];
8
+ }
9
+
@@ -0,0 +1,55 @@
1
+ # encoding: utf-8
2
+
3
+ ##
4
+ # This file is auto-generated. DO NOT EDIT!
5
+ #
6
+ require 'protobuf/message'
7
+
8
+ module Test
9
+
10
+ ##
11
+ # Enum Classes
12
+ #
13
+ class EnumTestType < ::Protobuf::Enum
14
+ define :ONE, 1
15
+ define :TWO, 2
16
+ end
17
+
18
+ class AliasedEnum < ::Protobuf::Enum
19
+ set_option :allow_alias
20
+
21
+ define :THREE, 3
22
+ define :TRES, 3
23
+ define :FOUR, 4
24
+ define :CUATRO, 4
25
+ end
26
+
27
+
28
+ ##
29
+ # Message Classes
30
+ #
31
+ class EnumTestMessage < ::Protobuf::Message; end
32
+
33
+
34
+ ##
35
+ # Message Fields
36
+ #
37
+ class EnumTestMessage
38
+ optional ::Test::EnumTestType, :non_default_enum, 1
39
+ optional ::Test::EnumTestType, :default_enum, 2, :default => ::Test::EnumTestType::ONE
40
+ repeated ::Test::EnumTestType, :repeated_enums, 3
41
+ optional ::Test::AliasedEnum, :alias_non_default_enum, 4
42
+ optional ::Test::AliasedEnum, :alias_default_enum, 5, :default => ::Test::AliasedEnum::CUATRO
43
+ repeated ::Test::AliasedEnum, :alias_repeated_enums, 6
44
+ end
45
+
46
+
47
+ ##
48
+ # Extended Message Fields
49
+ #
50
+ class ::Test::Resource < ::Protobuf::Message
51
+ optional :int32, :ext_other_file_defined_field, 200, :extension => true
52
+ end
53
+
54
+ end
55
+
@@ -0,0 +1,34 @@
1
+ package test;
2
+ import 'test/resource.proto';
3
+
4
+ // Test extending another message from an imported file.
5
+
6
+ enum EnumTestType {
7
+ ONE = 1;
8
+ TWO = 2;
9
+ }
10
+
11
+ // Uses aliases
12
+ enum AliasedEnum {
13
+ option allow_alias = true;
14
+
15
+ THREE = 3;
16
+ TRES = 3;
17
+
18
+ FOUR = 4;
19
+ CUATRO = 4;
20
+ }
21
+
22
+ message EnumTestMessage {
23
+ optional EnumTestType non_default_enum = 1;
24
+ optional EnumTestType default_enum = 2 [default=ONE];
25
+ repeated EnumTestType repeated_enums = 3;
26
+
27
+ optional AliasedEnum alias_non_default_enum = 4;
28
+ optional AliasedEnum alias_default_enum = 5 [default=CUATRO];
29
+ repeated AliasedEnum alias_repeated_enums = 6;
30
+ }
31
+
32
+ extend test.Resource {
33
+ optional int32 ext_other_file_defined_field = 200;
34
+ }
@@ -0,0 +1,18 @@
1
+ # encoding: utf-8
2
+
3
+ ##
4
+ # This file is auto-generated. DO NOT EDIT!
5
+ #
6
+ require 'protobuf/message'
7
+
8
+ module Test
9
+
10
+ ##
11
+ # Extended Message Fields
12
+ #
13
+ class ::Test::Resource < ::Protobuf::Message
14
+ optional :int64, :deleted_at, 300, :extension => true
15
+ end
16
+
17
+ end
18
+
@@ -0,0 +1,10 @@
1
+ package test;
2
+ import 'test/resource.proto';
3
+
4
+ // Test that we will re-open a class and add
5
+ // extension fields to it even if there are no
6
+ // message or enum definitions in this FileDescriptor.
7
+
8
+ extend test.Resource {
9
+ optional int64 deleted_at = 300;
10
+ }
@@ -0,0 +1,537 @@
1
+ # encoding: utf-8
2
+
3
+ ##
4
+ # This file is auto-generated. DO NOT EDIT!
5
+ #
6
+ require 'protobuf/message'
7
+ require 'protobuf/rpc/service'
8
+
9
+ module GoogleUnittest
10
+
11
+ ##
12
+ # Enum Classes
13
+ #
14
+ class ForeignEnum < ::Protobuf::Enum
15
+ define :FOREIGN_FOO, 4
16
+ define :FOREIGN_BAR, 5
17
+ define :FOREIGN_BAZ, 6
18
+ end
19
+
20
+ class TestSparseEnum < ::Protobuf::Enum
21
+ define :SPARSE_A, 123
22
+ define :SPARSE_B, 62374
23
+ define :SPARSE_C, 12589234
24
+ define :SPARSE_D, -15
25
+ define :SPARSE_E, -53452
26
+ define :SPARSE_F, 0
27
+ define :SPARSE_G, 2
28
+ end
29
+
30
+
31
+ ##
32
+ # Message Classes
33
+ #
34
+ class TestAllTypes < ::Protobuf::Message
35
+ class NestedEnum < ::Protobuf::Enum
36
+ define :FOO, 1
37
+ define :BAR, 2
38
+ define :BAZ, 3
39
+ end
40
+
41
+ class NestedMessage < ::Protobuf::Message; end
42
+
43
+ end
44
+
45
+ class TestDeprecatedFields < ::Protobuf::Message; end
46
+ class ForeignMessage < ::Protobuf::Message; end
47
+ class TestAllExtensions < ::Protobuf::Message; end
48
+ class TestNestedExtension < ::Protobuf::Message; end
49
+ class TestRequired < ::Protobuf::Message; end
50
+ class TestRequiredForeign < ::Protobuf::Message; end
51
+ class TestForeignNested < ::Protobuf::Message; end
52
+ class TestEmptyMessage < ::Protobuf::Message; end
53
+ class TestEmptyMessageWithExtensions < ::Protobuf::Message; end
54
+ class TestMultipleExtensionRanges < ::Protobuf::Message; end
55
+ class TestReallyLargeTagNumber < ::Protobuf::Message; end
56
+ class TestRecursiveMessage < ::Protobuf::Message; end
57
+ class TestMutualRecursionA < ::Protobuf::Message; end
58
+ class TestMutualRecursionB < ::Protobuf::Message; end
59
+ class TestDupFieldNumber < ::Protobuf::Message; end
60
+ class TestEagerMessage < ::Protobuf::Message; end
61
+ class TestLazyMessage < ::Protobuf::Message; end
62
+ class TestNestedMessageHasBits < ::Protobuf::Message
63
+ class NestedMessage < ::Protobuf::Message; end
64
+
65
+ end
66
+
67
+ class TestCamelCaseFieldNames < ::Protobuf::Message; end
68
+ class TestFieldOrderings < ::Protobuf::Message; end
69
+ class TestExtremeDefaultValues < ::Protobuf::Message; end
70
+ class SparseEnumMessage < ::Protobuf::Message; end
71
+ class OneString < ::Protobuf::Message; end
72
+ class MoreString < ::Protobuf::Message; end
73
+ class OneBytes < ::Protobuf::Message; end
74
+ class MoreBytes < ::Protobuf::Message; end
75
+ class TestPackedTypes < ::Protobuf::Message; end
76
+ class TestUnpackedTypes < ::Protobuf::Message; end
77
+ class TestPackedExtensions < ::Protobuf::Message; end
78
+ class TestDynamicExtensions < ::Protobuf::Message
79
+ class DynamicEnumType < ::Protobuf::Enum
80
+ define :DYNAMIC_FOO, 2200
81
+ define :DYNAMIC_BAR, 2201
82
+ define :DYNAMIC_BAZ, 2202
83
+ end
84
+
85
+ class DynamicMessageType < ::Protobuf::Message; end
86
+
87
+ end
88
+
89
+ class TestRepeatedScalarDifferentTagSizes < ::Protobuf::Message; end
90
+ class TestParsingMerge < ::Protobuf::Message
91
+ class RepeatedFieldsGenerator < ::Protobuf::Message; end
92
+
93
+ end
94
+
95
+ class TestCommentInjectionMessage < ::Protobuf::Message; end
96
+ class FooRequest < ::Protobuf::Message; end
97
+ class FooResponse < ::Protobuf::Message; end
98
+ class FooClientMessage < ::Protobuf::Message; end
99
+ class FooServerMessage < ::Protobuf::Message; end
100
+ class BarRequest < ::Protobuf::Message; end
101
+ class BarResponse < ::Protobuf::Message; end
102
+
103
+
104
+ ##
105
+ # Message Fields
106
+ #
107
+ class TestAllTypes
108
+ class NestedMessage
109
+ optional :int32, :bb, 1
110
+ end
111
+
112
+ optional :int32, :optional_int32, 1
113
+ optional :int64, :optional_int64, 2
114
+ optional :uint32, :optional_uint32, 3
115
+ optional :uint64, :optional_uint64, 4
116
+ optional :sint32, :optional_sint32, 5
117
+ optional :sint64, :optional_sint64, 6
118
+ optional :fixed32, :optional_fixed32, 7
119
+ optional :fixed64, :optional_fixed64, 8
120
+ optional :sfixed32, :optional_sfixed32, 9
121
+ optional :sfixed64, :optional_sfixed64, 10
122
+ optional :float, :optional_float, 11
123
+ optional :double, :optional_double, 12
124
+ optional :bool, :optional_bool, 13
125
+ optional :string, :optional_string, 14
126
+ optional :bytes, :optional_bytes, 15
127
+ optional ::GoogleUnittest::TestAllTypes::NestedMessage, :optional_nested_message, 18
128
+ optional ::GoogleUnittest::ForeignMessage, :optional_foreign_message, 19
129
+ optional ::GoogleUnittestImport::ImportMessage, :optional_import_message, 20
130
+ optional ::GoogleUnittest::TestAllTypes::NestedEnum, :optional_nested_enum, 21
131
+ optional ::GoogleUnittest::ForeignEnum, :optional_foreign_enum, 22
132
+ optional ::GoogleUnittestImport::ImportEnum, :optional_import_enum, 23
133
+ optional :string, :optional_string_piece, 24
134
+ optional :string, :optional_cord, 25
135
+ optional ::GoogleUnittestImport::PublicImportMessage, :optional_public_import_message, 26
136
+ optional ::GoogleUnittest::TestAllTypes::NestedMessage, :optional_lazy_message, 27
137
+ repeated :int32, :repeated_int32, 31
138
+ repeated :int64, :repeated_int64, 32
139
+ repeated :uint32, :repeated_uint32, 33
140
+ repeated :uint64, :repeated_uint64, 34
141
+ repeated :sint32, :repeated_sint32, 35
142
+ repeated :sint64, :repeated_sint64, 36
143
+ repeated :fixed32, :repeated_fixed32, 37
144
+ repeated :fixed64, :repeated_fixed64, 38
145
+ repeated :sfixed32, :repeated_sfixed32, 39
146
+ repeated :sfixed64, :repeated_sfixed64, 40
147
+ repeated :float, :repeated_float, 41
148
+ repeated :double, :repeated_double, 42
149
+ repeated :bool, :repeated_bool, 43
150
+ repeated :string, :repeated_string, 44
151
+ repeated :bytes, :repeated_bytes, 45
152
+ repeated ::GoogleUnittest::TestAllTypes::NestedMessage, :repeated_nested_message, 48
153
+ repeated ::GoogleUnittest::ForeignMessage, :repeated_foreign_message, 49
154
+ repeated ::GoogleUnittestImport::ImportMessage, :repeated_import_message, 50
155
+ repeated ::GoogleUnittest::TestAllTypes::NestedEnum, :repeated_nested_enum, 51
156
+ repeated ::GoogleUnittest::ForeignEnum, :repeated_foreign_enum, 52
157
+ repeated ::GoogleUnittestImport::ImportEnum, :repeated_import_enum, 53
158
+ repeated :string, :repeated_string_piece, 54
159
+ repeated :string, :repeated_cord, 55
160
+ repeated ::GoogleUnittest::TestAllTypes::NestedMessage, :repeated_lazy_message, 57
161
+ optional :int32, :default_int32, 61, :default => 41
162
+ optional :int64, :default_int64, 62, :default => 42
163
+ optional :uint32, :default_uint32, 63, :default => 43
164
+ optional :uint64, :default_uint64, 64, :default => 44
165
+ optional :sint32, :default_sint32, 65, :default => -45
166
+ optional :sint64, :default_sint64, 66, :default => 46
167
+ optional :fixed32, :default_fixed32, 67, :default => 47
168
+ optional :fixed64, :default_fixed64, 68, :default => 48
169
+ optional :sfixed32, :default_sfixed32, 69, :default => 49
170
+ optional :sfixed64, :default_sfixed64, 70, :default => -50
171
+ optional :float, :default_float, 71, :default => 51.5
172
+ optional :double, :default_double, 72, :default => 52000
173
+ optional :bool, :default_bool, 73, :default => true
174
+ optional :string, :default_string, 74, :default => "hello"
175
+ optional :bytes, :default_bytes, 75, :default => "world"
176
+ optional ::GoogleUnittest::TestAllTypes::NestedEnum, :default_nested_enum, 81, :default => ::GoogleUnittest::TestAllTypes::NestedEnum::BAR
177
+ optional ::GoogleUnittest::ForeignEnum, :default_foreign_enum, 82, :default => ::GoogleUnittest::ForeignEnum::FOREIGN_BAR
178
+ optional ::GoogleUnittestImport::ImportEnum, :default_import_enum, 83, :default => ::GoogleUnittestImport::ImportEnum::IMPORT_BAR
179
+ optional :string, :default_string_piece, 84, :default => "abc"
180
+ optional :string, :default_cord, 85, :default => "123"
181
+ end
182
+
183
+ class TestDeprecatedFields
184
+ optional :int32, :deprecated_int32, 1, :deprecated => true
185
+ end
186
+
187
+ class ForeignMessage
188
+ optional :int32, :c, 1
189
+ end
190
+
191
+ class TestAllExtensions
192
+ # Extension Fields
193
+ extensions 1...536870912
194
+ optional :int32, :optional_int32_extension, 1, :extension => true
195
+ optional :int64, :optional_int64_extension, 2, :extension => true
196
+ optional :uint32, :optional_uint32_extension, 3, :extension => true
197
+ optional :uint64, :optional_uint64_extension, 4, :extension => true
198
+ optional :sint32, :optional_sint32_extension, 5, :extension => true
199
+ optional :sint64, :optional_sint64_extension, 6, :extension => true
200
+ optional :fixed32, :optional_fixed32_extension, 7, :extension => true
201
+ optional :fixed64, :optional_fixed64_extension, 8, :extension => true
202
+ optional :sfixed32, :optional_sfixed32_extension, 9, :extension => true
203
+ optional :sfixed64, :optional_sfixed64_extension, 10, :extension => true
204
+ optional :float, :optional_float_extension, 11, :extension => true
205
+ optional :double, :optional_double_extension, 12, :extension => true
206
+ optional :bool, :optional_bool_extension, 13, :extension => true
207
+ optional :string, :optional_string_extension, 14, :extension => true
208
+ optional :bytes, :optional_bytes_extension, 15, :extension => true
209
+ optional ::GoogleUnittest::TestAllTypes::NestedMessage, :optional_nested_message_extension, 18, :extension => true
210
+ optional ::GoogleUnittest::ForeignMessage, :optional_foreign_message_extension, 19, :extension => true
211
+ optional ::GoogleUnittestImport::ImportMessage, :optional_import_message_extension, 20, :extension => true
212
+ optional ::GoogleUnittest::TestAllTypes::NestedEnum, :optional_nested_enum_extension, 21, :extension => true
213
+ optional ::GoogleUnittest::ForeignEnum, :optional_foreign_enum_extension, 22, :extension => true
214
+ optional ::GoogleUnittestImport::ImportEnum, :optional_import_enum_extension, 23, :extension => true
215
+ optional :string, :optional_string_piece_extension, 24, :extension => true
216
+ optional :string, :optional_cord_extension, 25, :extension => true
217
+ optional ::GoogleUnittestImport::PublicImportMessage, :optional_public_import_message_extension, 26, :extension => true
218
+ optional ::GoogleUnittest::TestAllTypes::NestedMessage, :optional_lazy_message_extension, 27, :extension => true
219
+ repeated :int32, :repeated_int32_extension, 31, :extension => true
220
+ repeated :int64, :repeated_int64_extension, 32, :extension => true
221
+ repeated :uint32, :repeated_uint32_extension, 33, :extension => true
222
+ repeated :uint64, :repeated_uint64_extension, 34, :extension => true
223
+ repeated :sint32, :repeated_sint32_extension, 35, :extension => true
224
+ repeated :sint64, :repeated_sint64_extension, 36, :extension => true
225
+ repeated :fixed32, :repeated_fixed32_extension, 37, :extension => true
226
+ repeated :fixed64, :repeated_fixed64_extension, 38, :extension => true
227
+ repeated :sfixed32, :repeated_sfixed32_extension, 39, :extension => true
228
+ repeated :sfixed64, :repeated_sfixed64_extension, 40, :extension => true
229
+ repeated :float, :repeated_float_extension, 41, :extension => true
230
+ repeated :double, :repeated_double_extension, 42, :extension => true
231
+ repeated :bool, :repeated_bool_extension, 43, :extension => true
232
+ repeated :string, :repeated_string_extension, 44, :extension => true
233
+ repeated :bytes, :repeated_bytes_extension, 45, :extension => true
234
+ repeated ::GoogleUnittest::TestAllTypes::NestedMessage, :repeated_nested_message_extension, 48, :extension => true
235
+ repeated ::GoogleUnittest::ForeignMessage, :repeated_foreign_message_extension, 49, :extension => true
236
+ repeated ::GoogleUnittestImport::ImportMessage, :repeated_import_message_extension, 50, :extension => true
237
+ repeated ::GoogleUnittest::TestAllTypes::NestedEnum, :repeated_nested_enum_extension, 51, :extension => true
238
+ repeated ::GoogleUnittest::ForeignEnum, :repeated_foreign_enum_extension, 52, :extension => true
239
+ repeated ::GoogleUnittestImport::ImportEnum, :repeated_import_enum_extension, 53, :extension => true
240
+ repeated :string, :repeated_string_piece_extension, 54, :extension => true
241
+ repeated :string, :repeated_cord_extension, 55, :extension => true
242
+ repeated ::GoogleUnittest::TestAllTypes::NestedMessage, :repeated_lazy_message_extension, 57, :extension => true
243
+ optional :int32, :default_int32_extension, 61, :default => 41, :extension => true
244
+ optional :int64, :default_int64_extension, 62, :default => 42, :extension => true
245
+ optional :uint32, :default_uint32_extension, 63, :default => 43, :extension => true
246
+ optional :uint64, :default_uint64_extension, 64, :default => 44, :extension => true
247
+ optional :sint32, :default_sint32_extension, 65, :default => -45, :extension => true
248
+ optional :sint64, :default_sint64_extension, 66, :default => 46, :extension => true
249
+ optional :fixed32, :default_fixed32_extension, 67, :default => 47, :extension => true
250
+ optional :fixed64, :default_fixed64_extension, 68, :default => 48, :extension => true
251
+ optional :sfixed32, :default_sfixed32_extension, 69, :default => 49, :extension => true
252
+ optional :sfixed64, :default_sfixed64_extension, 70, :default => -50, :extension => true
253
+ optional :float, :default_float_extension, 71, :default => 51.5, :extension => true
254
+ optional :double, :default_double_extension, 72, :default => 52000, :extension => true
255
+ optional :bool, :default_bool_extension, 73, :default => true, :extension => true
256
+ optional :string, :default_string_extension, 74, :default => "hello", :extension => true
257
+ optional :bytes, :default_bytes_extension, 75, :default => "world", :extension => true
258
+ optional ::GoogleUnittest::TestAllTypes::NestedEnum, :default_nested_enum_extension, 81, :default => ::GoogleUnittest::TestAllTypes::NestedEnum::BAR, :extension => true
259
+ optional ::GoogleUnittest::ForeignEnum, :default_foreign_enum_extension, 82, :default => ::GoogleUnittest::ForeignEnum::FOREIGN_BAR, :extension => true
260
+ optional ::GoogleUnittestImport::ImportEnum, :default_import_enum_extension, 83, :default => ::GoogleUnittestImport::ImportEnum::IMPORT_BAR, :extension => true
261
+ optional :string, :default_string_piece_extension, 84, :default => "abc", :extension => true
262
+ optional :string, :default_cord_extension, 85, :default => "123", :extension => true
263
+ optional :string, :test, 1002, :default => "test", :extension => true
264
+ optional ::GoogleUnittest::TestRequired, :single, 1000, :extension => true
265
+ repeated ::GoogleUnittest::TestRequired, :multi, 1001, :extension => true
266
+ end
267
+
268
+ class TestRequired
269
+ required :int32, :a, 1
270
+ optional :int32, :dummy2, 2
271
+ required :int32, :b, 3
272
+ optional :int32, :dummy4, 4
273
+ optional :int32, :dummy5, 5
274
+ optional :int32, :dummy6, 6
275
+ optional :int32, :dummy7, 7
276
+ optional :int32, :dummy8, 8
277
+ optional :int32, :dummy9, 9
278
+ optional :int32, :dummy10, 10
279
+ optional :int32, :dummy11, 11
280
+ optional :int32, :dummy12, 12
281
+ optional :int32, :dummy13, 13
282
+ optional :int32, :dummy14, 14
283
+ optional :int32, :dummy15, 15
284
+ optional :int32, :dummy16, 16
285
+ optional :int32, :dummy17, 17
286
+ optional :int32, :dummy18, 18
287
+ optional :int32, :dummy19, 19
288
+ optional :int32, :dummy20, 20
289
+ optional :int32, :dummy21, 21
290
+ optional :int32, :dummy22, 22
291
+ optional :int32, :dummy23, 23
292
+ optional :int32, :dummy24, 24
293
+ optional :int32, :dummy25, 25
294
+ optional :int32, :dummy26, 26
295
+ optional :int32, :dummy27, 27
296
+ optional :int32, :dummy28, 28
297
+ optional :int32, :dummy29, 29
298
+ optional :int32, :dummy30, 30
299
+ optional :int32, :dummy31, 31
300
+ optional :int32, :dummy32, 32
301
+ required :int32, :c, 33
302
+ end
303
+
304
+ class TestRequiredForeign
305
+ optional ::GoogleUnittest::TestRequired, :optional_message, 1
306
+ repeated ::GoogleUnittest::TestRequired, :repeated_message, 2
307
+ optional :int32, :dummy, 3
308
+ end
309
+
310
+ class TestForeignNested
311
+ optional ::GoogleUnittest::TestAllTypes::NestedMessage, :foreign_nested, 1
312
+ end
313
+
314
+ class TestReallyLargeTagNumber
315
+ optional :int32, :a, 1
316
+ optional :int32, :bb, 268435455
317
+ end
318
+
319
+ class TestRecursiveMessage
320
+ optional ::GoogleUnittest::TestRecursiveMessage, :a, 1
321
+ optional :int32, :i, 2
322
+ end
323
+
324
+ class TestMutualRecursionA
325
+ optional ::GoogleUnittest::TestMutualRecursionB, :bb, 1
326
+ end
327
+
328
+ class TestMutualRecursionB
329
+ optional ::GoogleUnittest::TestMutualRecursionA, :a, 1
330
+ optional :int32, :optional_int32, 2
331
+ end
332
+
333
+ class TestDupFieldNumber
334
+ optional :int32, :a, 1
335
+ end
336
+
337
+ class TestEagerMessage
338
+ optional ::GoogleUnittest::TestAllTypes, :sub_message, 1
339
+ end
340
+
341
+ class TestLazyMessage
342
+ optional ::GoogleUnittest::TestAllTypes, :sub_message, 1
343
+ end
344
+
345
+ class TestNestedMessageHasBits
346
+ class NestedMessage
347
+ repeated :int32, :nestedmessage_repeated_int32, 1
348
+ repeated ::GoogleUnittest::ForeignMessage, :nestedmessage_repeated_foreignmessage, 2
349
+ end
350
+
351
+ optional ::GoogleUnittest::TestNestedMessageHasBits::NestedMessage, :optional_nested_message, 1
352
+ end
353
+
354
+ class TestCamelCaseFieldNames
355
+ optional :int32, :PrimitiveField, 1
356
+ optional :string, :StringField, 2
357
+ optional ::GoogleUnittest::ForeignEnum, :EnumField, 3
358
+ optional ::GoogleUnittest::ForeignMessage, :MessageField, 4
359
+ optional :string, :StringPieceField, 5
360
+ optional :string, :CordField, 6
361
+ repeated :int32, :RepeatedPrimitiveField, 7
362
+ repeated :string, :RepeatedStringField, 8
363
+ repeated ::GoogleUnittest::ForeignEnum, :RepeatedEnumField, 9
364
+ repeated ::GoogleUnittest::ForeignMessage, :RepeatedMessageField, 10
365
+ repeated :string, :RepeatedStringPieceField, 11
366
+ repeated :string, :RepeatedCordField, 12
367
+ end
368
+
369
+ class TestFieldOrderings
370
+ optional :string, :my_string, 11
371
+ optional :int64, :my_int, 1
372
+ optional :float, :my_float, 101
373
+ # Extension Fields
374
+ extensions 2...11
375
+ extensions 12...101
376
+ optional :string, :my_extension_string, 50, :extension => true
377
+ optional :int32, :my_extension_int, 5, :extension => true
378
+ end
379
+
380
+ class TestExtremeDefaultValues
381
+ optional :bytes, :escaped_bytes, 1, :default => "\000\001\007\010\014\n\r\t\013\\\\'\"\376"
382
+ optional :uint32, :large_uint32, 2, :default => 4294967295
383
+ optional :uint64, :large_uint64, 3, :default => 18446744073709551615
384
+ optional :int32, :small_int32, 4, :default => -2147483647
385
+ optional :int64, :small_int64, 5, :default => -9223372036854775807
386
+ optional :int32, :really_small_int32, 21, :default => -2147483648
387
+ optional :int64, :really_small_int64, 22, :default => -9223372036854775808
388
+ optional :string, :utf8_string, 6, :default => "ሴ"
389
+ optional :float, :zero_float, 7, :default => 0
390
+ optional :float, :one_float, 8, :default => 1
391
+ optional :float, :small_float, 9, :default => 1.5
392
+ optional :float, :negative_one_float, 10, :default => -1
393
+ optional :float, :negative_float, 11, :default => -1.5
394
+ optional :float, :large_float, 12, :default => 2e+08
395
+ optional :float, :small_negative_float, 13, :default => -8e-28
396
+ optional :double, :inf_double, 14, :default => ::Float::INFINITY
397
+ optional :double, :neg_inf_double, 15, :default => -::Float::INFINITY
398
+ optional :double, :nan_double, 16, :default => ::Float::NAN
399
+ optional :float, :inf_float, 17, :default => ::Float::INFINITY
400
+ optional :float, :neg_inf_float, 18, :default => -::Float::INFINITY
401
+ optional :float, :nan_float, 19, :default => ::Float::NAN
402
+ optional :string, :cpp_trigraph, 20, :default => "? ? ?? ?? ??? ??/ ??-"
403
+ optional :string, :string_with_zero, 23, :default => "hello"
404
+ optional :bytes, :bytes_with_zero, 24, :default => "wor\000ld"
405
+ optional :string, :string_piece_with_zero, 25, :default => "abc"
406
+ optional :string, :cord_with_zero, 26, :default => "123"
407
+ end
408
+
409
+ class SparseEnumMessage
410
+ optional ::GoogleUnittest::TestSparseEnum, :sparse_enum, 1
411
+ end
412
+
413
+ class OneString
414
+ optional :string, :data, 1
415
+ end
416
+
417
+ class MoreString
418
+ repeated :string, :data, 1
419
+ end
420
+
421
+ class OneBytes
422
+ optional :bytes, :data, 1
423
+ end
424
+
425
+ class MoreBytes
426
+ repeated :bytes, :data, 1
427
+ end
428
+
429
+ class TestPackedTypes
430
+ repeated :int32, :packed_int32, 90, :packed => true
431
+ repeated :int64, :packed_int64, 91, :packed => true
432
+ repeated :uint32, :packed_uint32, 92, :packed => true
433
+ repeated :uint64, :packed_uint64, 93, :packed => true
434
+ repeated :sint32, :packed_sint32, 94, :packed => true
435
+ repeated :sint64, :packed_sint64, 95, :packed => true
436
+ repeated :fixed32, :packed_fixed32, 96, :packed => true
437
+ repeated :fixed64, :packed_fixed64, 97, :packed => true
438
+ repeated :sfixed32, :packed_sfixed32, 98, :packed => true
439
+ repeated :sfixed64, :packed_sfixed64, 99, :packed => true
440
+ repeated :float, :packed_float, 100, :packed => true
441
+ repeated :double, :packed_double, 101, :packed => true
442
+ repeated :bool, :packed_bool, 102, :packed => true
443
+ repeated ::GoogleUnittest::ForeignEnum, :packed_enum, 103, :packed => true
444
+ end
445
+
446
+ class TestUnpackedTypes
447
+ repeated :int32, :unpacked_int32, 90
448
+ repeated :int64, :unpacked_int64, 91
449
+ repeated :uint32, :unpacked_uint32, 92
450
+ repeated :uint64, :unpacked_uint64, 93
451
+ repeated :sint32, :unpacked_sint32, 94
452
+ repeated :sint64, :unpacked_sint64, 95
453
+ repeated :fixed32, :unpacked_fixed32, 96
454
+ repeated :fixed64, :unpacked_fixed64, 97
455
+ repeated :sfixed32, :unpacked_sfixed32, 98
456
+ repeated :sfixed64, :unpacked_sfixed64, 99
457
+ repeated :float, :unpacked_float, 100
458
+ repeated :double, :unpacked_double, 101
459
+ repeated :bool, :unpacked_bool, 102
460
+ repeated ::GoogleUnittest::ForeignEnum, :unpacked_enum, 103
461
+ end
462
+
463
+ class TestPackedExtensions
464
+ # Extension Fields
465
+ extensions 1...536870912
466
+ repeated :int32, :packed_int32_extension, 90, :packed => true, :extension => true
467
+ repeated :int64, :packed_int64_extension, 91, :packed => true, :extension => true
468
+ repeated :uint32, :packed_uint32_extension, 92, :packed => true, :extension => true
469
+ repeated :uint64, :packed_uint64_extension, 93, :packed => true, :extension => true
470
+ repeated :sint32, :packed_sint32_extension, 94, :packed => true, :extension => true
471
+ repeated :sint64, :packed_sint64_extension, 95, :packed => true, :extension => true
472
+ repeated :fixed32, :packed_fixed32_extension, 96, :packed => true, :extension => true
473
+ repeated :fixed64, :packed_fixed64_extension, 97, :packed => true, :extension => true
474
+ repeated :sfixed32, :packed_sfixed32_extension, 98, :packed => true, :extension => true
475
+ repeated :sfixed64, :packed_sfixed64_extension, 99, :packed => true, :extension => true
476
+ repeated :float, :packed_float_extension, 100, :packed => true, :extension => true
477
+ repeated :double, :packed_double_extension, 101, :packed => true, :extension => true
478
+ repeated :bool, :packed_bool_extension, 102, :packed => true, :extension => true
479
+ repeated ::GoogleUnittest::ForeignEnum, :packed_enum_extension, 103, :packed => true, :extension => true
480
+ end
481
+
482
+ class TestDynamicExtensions
483
+ class DynamicMessageType
484
+ optional :int32, :dynamic_field, 2100
485
+ end
486
+
487
+ optional :fixed32, :scalar_extension, 2000
488
+ optional ::GoogleUnittest::ForeignEnum, :enum_extension, 2001
489
+ optional ::GoogleUnittest::TestDynamicExtensions::DynamicEnumType, :dynamic_enum_extension, 2002
490
+ optional ::GoogleUnittest::ForeignMessage, :message_extension, 2003
491
+ optional ::GoogleUnittest::TestDynamicExtensions::DynamicMessageType, :dynamic_message_extension, 2004
492
+ repeated :string, :repeated_extension, 2005
493
+ repeated :sint32, :packed_extension, 2006, :packed => true
494
+ end
495
+
496
+ class TestRepeatedScalarDifferentTagSizes
497
+ repeated :fixed32, :repeated_fixed32, 12
498
+ repeated :int32, :repeated_int32, 13
499
+ repeated :fixed64, :repeated_fixed64, 2046
500
+ repeated :int64, :repeated_int64, 2047
501
+ repeated :float, :repeated_float, 262142
502
+ repeated :uint64, :repeated_uint64, 262143
503
+ end
504
+
505
+ class TestParsingMerge
506
+ class RepeatedFieldsGenerator
507
+ repeated ::GoogleUnittest::TestAllTypes, :field1, 1
508
+ repeated ::GoogleUnittest::TestAllTypes, :field2, 2
509
+ repeated ::GoogleUnittest::TestAllTypes, :field3, 3
510
+ repeated ::GoogleUnittest::TestAllTypes, :ext1, 1000
511
+ repeated ::GoogleUnittest::TestAllTypes, :ext2, 1001
512
+ end
513
+
514
+ required ::GoogleUnittest::TestAllTypes, :required_all_types, 1
515
+ optional ::GoogleUnittest::TestAllTypes, :optional_all_types, 2
516
+ repeated ::GoogleUnittest::TestAllTypes, :repeated_all_types, 3
517
+ # Extension Fields
518
+ extensions 1000...536870912
519
+ optional ::GoogleUnittest::TestAllTypes, :optional_ext, 1000, :extension => true
520
+ repeated ::GoogleUnittest::TestAllTypes, :repeated_ext, 1001, :extension => true
521
+ end
522
+
523
+ class TestCommentInjectionMessage
524
+ optional :string, :a, 1, :default => "*/ <- Neither should this."
525
+ end
526
+
527
+
528
+ ##
529
+ # Service Classes
530
+ #
531
+ class TestService < ::Protobuf::Rpc::Service
532
+ rpc :foo, ::GoogleUnittest::FooRequest, ::GoogleUnittest::FooResponse
533
+ rpc :bar, ::GoogleUnittest::BarRequest, ::GoogleUnittest::BarResponse
534
+ end
535
+
536
+ end
537
+