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