protobuffy 3.6.0 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
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
-