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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: protobuffy
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.6.0
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - BJ Neilsen
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2016-08-19 00:00:00.000000000 Z
15
+ date: 2017-03-08 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: activesupport
@@ -20,14 +20,14 @@ dependencies:
20
20
  requirements:
21
21
  - - ">="
22
22
  - !ruby/object:Gem::Version
23
- version: '0'
23
+ version: '3.2'
24
24
  type: :runtime
25
25
  prerelease: false
26
26
  version_requirements: !ruby/object:Gem::Requirement
27
27
  requirements:
28
28
  - - ">="
29
29
  - !ruby/object:Gem::Version
30
- version: '0'
30
+ version: '3.2'
31
31
  - !ruby/object:Gem::Dependency
32
32
  name: middleware
33
33
  requirement: !ruby/object:Gem::Requirement
@@ -43,21 +43,21 @@ dependencies:
43
43
  - !ruby/object:Gem::Version
44
44
  version: '0'
45
45
  - !ruby/object:Gem::Dependency
46
- name: multi_json
46
+ name: thor
47
47
  requirement: !ruby/object:Gem::Requirement
48
48
  requirements:
49
- - - "~>"
49
+ - - ">="
50
50
  - !ruby/object:Gem::Version
51
- version: '1.0'
51
+ version: '0'
52
52
  type: :runtime
53
53
  prerelease: false
54
54
  version_requirements: !ruby/object:Gem::Requirement
55
55
  requirements:
56
- - - "~>"
56
+ - - ">="
57
57
  - !ruby/object:Gem::Version
58
- version: '1.0'
58
+ version: '0'
59
59
  - !ruby/object:Gem::Dependency
60
- name: thor
60
+ name: thread_safe
61
61
  requirement: !ruby/object:Gem::Requirement
62
62
  requirements:
63
63
  - - ">="
@@ -71,19 +71,33 @@ dependencies:
71
71
  - !ruby/object:Gem::Version
72
72
  version: '0'
73
73
  - !ruby/object:Gem::Dependency
74
- name: json
74
+ name: ffi-rzmq
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ type: :development
81
+ prerelease: false
82
+ version_requirements: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
87
+ - !ruby/object:Gem::Dependency
88
+ name: rake
75
89
  requirement: !ruby/object:Gem::Requirement
76
90
  requirements:
77
91
  - - "<"
78
92
  - !ruby/object:Gem::Version
79
- version: '2.0'
80
- type: :runtime
93
+ version: '11.0'
94
+ type: :development
81
95
  prerelease: false
82
96
  version_requirements: !ruby/object:Gem::Requirement
83
97
  requirements:
84
98
  - - "<"
85
99
  - !ruby/object:Gem::Version
86
- version: '2.0'
100
+ version: '11.0'
87
101
  - !ruby/object:Gem::Dependency
88
102
  name: rack
89
103
  requirement: !ruby/object:Gem::Requirement
@@ -113,21 +127,49 @@ dependencies:
113
127
  - !ruby/object:Gem::Version
114
128
  version: '0'
115
129
  - !ruby/object:Gem::Dependency
116
- name: ffi-rzmq
130
+ name: rspec
117
131
  requirement: !ruby/object:Gem::Requirement
118
132
  requirements:
119
133
  - - ">="
120
134
  - !ruby/object:Gem::Version
121
- version: '0'
135
+ version: '3.0'
122
136
  type: :development
123
137
  prerelease: false
124
138
  version_requirements: !ruby/object:Gem::Requirement
125
139
  requirements:
126
140
  - - ">="
127
141
  - !ruby/object:Gem::Version
128
- version: '0'
142
+ version: '3.0'
129
143
  - !ruby/object:Gem::Dependency
130
- name: pry-nav
144
+ name: rubocop
145
+ requirement: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - "~>"
148
+ - !ruby/object:Gem::Version
149
+ version: 0.38.0
150
+ type: :development
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - "~>"
155
+ - !ruby/object:Gem::Version
156
+ version: 0.38.0
157
+ - !ruby/object:Gem::Dependency
158
+ name: parser
159
+ requirement: !ruby/object:Gem::Requirement
160
+ requirements:
161
+ - - '='
162
+ - !ruby/object:Gem::Version
163
+ version: 2.3.0.6
164
+ type: :development
165
+ prerelease: false
166
+ version_requirements: !ruby/object:Gem::Requirement
167
+ requirements:
168
+ - - '='
169
+ - !ruby/object:Gem::Version
170
+ version: 2.3.0.6
171
+ - !ruby/object:Gem::Dependency
172
+ name: simplecov
131
173
  requirement: !ruby/object:Gem::Requirement
132
174
  requirements:
133
175
  - - ">="
@@ -141,7 +183,7 @@ dependencies:
141
183
  - !ruby/object:Gem::Version
142
184
  version: '0'
143
185
  - !ruby/object:Gem::Dependency
144
- name: rake
186
+ name: timecop
145
187
  requirement: !ruby/object:Gem::Requirement
146
188
  requirements:
147
189
  - - ">="
@@ -155,21 +197,21 @@ dependencies:
155
197
  - !ruby/object:Gem::Version
156
198
  version: '0'
157
199
  - !ruby/object:Gem::Dependency
158
- name: rspec
200
+ name: yard
159
201
  requirement: !ruby/object:Gem::Requirement
160
202
  requirements:
161
- - - '='
203
+ - - ">="
162
204
  - !ruby/object:Gem::Version
163
- version: 2.99.0
205
+ version: '0'
164
206
  type: :development
165
207
  prerelease: false
166
208
  version_requirements: !ruby/object:Gem::Requirement
167
209
  requirements:
168
- - - '='
210
+ - - ">="
169
211
  - !ruby/object:Gem::Version
170
- version: 2.99.0
212
+ version: '0'
171
213
  - !ruby/object:Gem::Dependency
172
- name: simplecov
214
+ name: pry-byebug
173
215
  requirement: !ruby/object:Gem::Requirement
174
216
  requirements:
175
217
  - - ">="
@@ -183,7 +225,7 @@ dependencies:
183
225
  - !ruby/object:Gem::Version
184
226
  version: '0'
185
227
  - !ruby/object:Gem::Dependency
186
- name: yard
228
+ name: pry-stack_explorer
187
229
  requirement: !ruby/object:Gem::Requirement
188
230
  requirements:
189
231
  - - ">="
@@ -197,7 +239,7 @@ dependencies:
197
239
  - !ruby/object:Gem::Version
198
240
  version: '0'
199
241
  - !ruby/object:Gem::Dependency
200
- name: timecop
242
+ name: varint
201
243
  requirement: !ruby/object:Gem::Requirement
202
244
  requirements:
203
245
  - - ">="
@@ -238,6 +280,8 @@ extensions: []
238
280
  extra_rdoc_files: []
239
281
  files:
240
282
  - ".gitignore"
283
+ - ".rubocop.yml"
284
+ - ".rubocop_todo.yml"
241
285
  - ".travis.yml"
242
286
  - ".yardopts"
243
287
  - CHANGES.md
@@ -256,11 +300,12 @@ files:
256
300
  - examples/lib/example/reverse-client.rb
257
301
  - examples/lib/example/reverse-service.rb
258
302
  - examples/lib/example/reverse.pb.rb
303
+ - install-protobuf.sh
259
304
  - lib/protobuf.rb
260
305
  - lib/protobuf/cli.rb
261
306
  - lib/protobuf/code_generator.rb
262
307
  - lib/protobuf/decoder.rb
263
- - lib/protobuf/deprecator.rb
308
+ - lib/protobuf/deprecation.rb
264
309
  - lib/protobuf/descriptors.rb
265
310
  - lib/protobuf/descriptors/google/protobuf/compiler/plugin.pb.rb
266
311
  - lib/protobuf/descriptors/google/protobuf/descriptor.pb.rb
@@ -297,21 +342,21 @@ files:
297
342
  - lib/protobuf/generators/file_generator.rb
298
343
  - lib/protobuf/generators/group_generator.rb
299
344
  - lib/protobuf/generators/message_generator.rb
345
+ - lib/protobuf/generators/option_generator.rb
300
346
  - lib/protobuf/generators/printable.rb
301
347
  - lib/protobuf/generators/service_generator.rb
302
348
  - lib/protobuf/http.rb
303
349
  - lib/protobuf/lifecycle.rb
304
- - lib/protobuf/logger.rb
350
+ - lib/protobuf/logging.rb
305
351
  - lib/protobuf/message.rb
306
352
  - lib/protobuf/message/fields.rb
307
353
  - lib/protobuf/message/serialization.rb
308
354
  - lib/protobuf/optionable.rb
309
355
  - lib/protobuf/rpc/buffer.rb
310
356
  - lib/protobuf/rpc/client.rb
311
- - lib/protobuf/rpc/connector.rb
312
357
  - lib/protobuf/rpc/connectors/base.rb
313
- - lib/protobuf/rpc/connectors/common.rb
314
358
  - lib/protobuf/rpc/connectors/http.rb
359
+ - lib/protobuf/rpc/connectors/ping.rb
315
360
  - lib/protobuf/rpc/connectors/socket.rb
316
361
  - lib/protobuf/rpc/connectors/zmq.rb
317
362
  - lib/protobuf/rpc/dynamic_discovery.pb.rb
@@ -347,6 +392,8 @@ files:
347
392
  - lib/protobuf/statsd.rb
348
393
  - lib/protobuf/tasks.rb
349
394
  - lib/protobuf/tasks/compile.rake
395
+ - lib/protobuf/varint.rb
396
+ - lib/protobuf/varint_pure.rb
350
397
  - lib/protobuf/version.rb
351
398
  - lib/protobuf/wire_type.rb
352
399
  - lib/protobuf/zmq.rb
@@ -357,17 +404,32 @@ files:
357
404
  - protobuffy.gemspec
358
405
  - spec/benchmark/tasks.rb
359
406
  - spec/bin/protoc-gen-ruby_spec.rb
360
- - spec/data/data.bin
361
- - spec/data/types.bin
362
407
  - spec/encoding/all_types_spec.rb
363
408
  - spec/encoding/extreme_values_spec.rb
409
+ - spec/functional/class_inheritance_spec.rb
410
+ - spec/functional/code_generator_spec.rb
364
411
  - spec/functional/socket_server_spec.rb
365
412
  - spec/functional/zmq_server_spec.rb
366
413
  - spec/lib/protobuf/cli_spec.rb
367
414
  - spec/lib/protobuf/code_generator_spec.rb
368
415
  - spec/lib/protobuf/enum_spec.rb
416
+ - spec/lib/protobuf/field/bool_field_spec.rb
417
+ - spec/lib/protobuf/field/double_field_spec.rb
418
+ - spec/lib/protobuf/field/enum_field_spec.rb
419
+ - spec/lib/protobuf/field/field_array_spec.rb
420
+ - spec/lib/protobuf/field/fixed32_field_spec.rb
421
+ - spec/lib/protobuf/field/fixed64_field_spec.rb
422
+ - spec/lib/protobuf/field/float_field_spec.rb
369
423
  - spec/lib/protobuf/field/int32_field_spec.rb
424
+ - spec/lib/protobuf/field/int64_field_spec.rb
425
+ - spec/lib/protobuf/field/message_field_spec.rb
426
+ - spec/lib/protobuf/field/sfixed32_field_spec.rb
427
+ - spec/lib/protobuf/field/sfixed64_field_spec.rb
428
+ - spec/lib/protobuf/field/sint32_field_spec.rb
429
+ - spec/lib/protobuf/field/sint64_field_spec.rb
370
430
  - spec/lib/protobuf/field/string_field_spec.rb
431
+ - spec/lib/protobuf/field/uint32_field_spec.rb
432
+ - spec/lib/protobuf/field/uint64_field_spec.rb
371
433
  - spec/lib/protobuf/field_spec.rb
372
434
  - spec/lib/protobuf/generators/base_spec.rb
373
435
  - spec/lib/protobuf/generators/enum_generator_spec.rb
@@ -377,15 +439,13 @@ files:
377
439
  - spec/lib/protobuf/generators/message_generator_spec.rb
378
440
  - spec/lib/protobuf/generators/service_generator_spec.rb
379
441
  - spec/lib/protobuf/lifecycle_spec.rb
380
- - spec/lib/protobuf/logger_spec.rb
381
442
  - spec/lib/protobuf/message_spec.rb
382
443
  - spec/lib/protobuf/optionable_spec.rb
383
444
  - spec/lib/protobuf/rpc/client_spec.rb
384
- - spec/lib/protobuf/rpc/connector_spec.rb
385
445
  - spec/lib/protobuf/rpc/connectors/base_spec.rb
386
- - spec/lib/protobuf/rpc/connectors/common_spec.rb
387
446
  - spec/lib/protobuf/rpc/connectors/connector_spec.rb
388
447
  - spec/lib/protobuf/rpc/connectors/http_spec.rb
448
+ - spec/lib/protobuf/rpc/connectors/ping_spec.rb
389
449
  - spec/lib/protobuf/rpc/connectors/socket_spec.rb
390
450
  - spec/lib/protobuf/rpc/connectors/zmq_spec.rb
391
451
  - spec/lib/protobuf/rpc/middleware/exception_handler_spec.rb
@@ -403,36 +463,36 @@ files:
403
463
  - spec/lib/protobuf/rpc/service_filters_spec.rb
404
464
  - spec/lib/protobuf/rpc/service_spec.rb
405
465
  - spec/lib/protobuf/rpc/stat_spec.rb
466
+ - spec/lib/protobuf/varint_spec.rb
406
467
  - spec/lib/protobuf_spec.rb
407
468
  - spec/spec_helper.rb
408
469
  - spec/support/all.rb
409
470
  - spec/support/packed_field.rb
471
+ - spec/support/protos/all_types.data.bin
472
+ - spec/support/protos/all_types.data.txt
473
+ - spec/support/protos/enum.pb.rb
474
+ - spec/support/protos/enum.proto
475
+ - spec/support/protos/extreme_values.data.bin
476
+ - spec/support/protos/google_unittest.bin
477
+ - spec/support/protos/google_unittest.pb.rb
478
+ - spec/support/protos/google_unittest.proto
479
+ - spec/support/protos/google_unittest_custom_options.bin
480
+ - spec/support/protos/google_unittest_custom_options.pb.rb
481
+ - spec/support/protos/google_unittest_custom_options.proto
482
+ - spec/support/protos/google_unittest_import.pb.rb
483
+ - spec/support/protos/google_unittest_import.proto
484
+ - spec/support/protos/google_unittest_import_public.pb.rb
485
+ - spec/support/protos/google_unittest_import_public.proto
486
+ - spec/support/protos/multi_field_extensions.pb.rb
487
+ - spec/support/protos/multi_field_extensions.proto
488
+ - spec/support/protos/resource.pb.rb
489
+ - spec/support/protos/resource.proto
490
+ - spec/support/resource_service.rb
410
491
  - spec/support/server.rb
411
- - spec/support/test/all_types.data.bin
412
- - spec/support/test/all_types.data.txt
413
- - spec/support/test/defaults.pb.rb
414
- - spec/support/test/defaults.proto
415
- - spec/support/test/enum.pb.rb
416
- - spec/support/test/enum.proto
417
- - spec/support/test/extended.pb.rb
418
- - spec/support/test/extended.proto
419
- - spec/support/test/extreme_values.data.bin
420
- - spec/support/test/google_unittest.pb.rb
421
- - spec/support/test/google_unittest.proto
422
- - spec/support/test/google_unittest_import.pb.rb
423
- - spec/support/test/google_unittest_import.proto
424
- - spec/support/test/google_unittest_import_public.pb.rb
425
- - spec/support/test/google_unittest_import_public.proto
426
- - spec/support/test/multi_field_extensions.pb.rb
427
- - spec/support/test/multi_field_extensions.proto
428
- - spec/support/test/resource.pb.rb
429
- - spec/support/test/resource.proto
430
- - spec/support/test/resource_service.rb
431
492
  - spec/support/test_app_file.rb
432
- - spec/support/tolerance_matcher.rb
433
493
  homepage: https://github.com/lookout/protobuffy
434
494
  licenses:
435
- - WTFPL
495
+ - MIT
436
496
  metadata: {}
437
497
  post_install_message:
438
498
  rdoc_options: []
@@ -450,7 +510,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
450
510
  version: '0'
451
511
  requirements: []
452
512
  rubyforge_project:
453
- rubygems_version: 2.6.6
513
+ rubygems_version: 2.6.10
454
514
  signing_key:
455
515
  specification_version: 4
456
516
  summary: Google Protocol Buffers serialization and RPC implementation for Ruby.
@@ -1,42 +0,0 @@
1
- module Protobuf
2
- module Deprecator
3
-
4
- def warn_deprecated(old_method, new_method)
5
- $stderr.puts %Q{[DEPRECATED] #{self.name}.#{old_method} is deprecated and will disappear in a future version.
6
- Please use #{self.name}.#{new_method} instead.\n}
7
- end
8
-
9
- # Given deprecations should be a hash whose keys are the new methods
10
- # and values are a list of deprecated methods that should send to t
11
- def deprecate_method(old_method, new_method)
12
- class_eval(<<-DEPRECATED, __FILE__, __LINE__ + 1)
13
- def #{old_method}(*args)
14
- warn_deprecated("#{old_method}", "#{new_method}")
15
- new_meth = method("#{new_method}")
16
- if new_meth.arity == 0
17
- __send__("#{new_method}")
18
- else
19
- __send__("#{new_method}", *args)
20
- end
21
- end
22
- DEPRECATED
23
- end
24
-
25
- # Given deprecations should be a hash whose keys are the new methods
26
- # and values are a list of deprecated methods that should send to t
27
- def deprecate_class_method(old_method, new_method)
28
- class_eval(<<-DEPRECATED, __FILE__, __LINE__ + 1)
29
- def self.#{old_method}(*args)
30
- warn_deprecated("#{old_method}", "#{new_method}")
31
- new_meth = method("#{new_method}")
32
- if new_meth.arity == 0
33
- __send__("#{new_method}")
34
- else
35
- __send__("#{new_method}", *args)
36
- end
37
- end
38
- DEPRECATED
39
- end
40
-
41
- end
42
- end
@@ -1,93 +0,0 @@
1
- require 'logger'
2
-
3
- module Protobuf
4
- class Logger < ::Logger
5
-
6
- class << self
7
- attr_accessor :file, :level
8
-
9
- # Stub out the log methods for Protobuf::Logger as singleton methods
10
- [:debug, :info, :warn, :error, :fatal, :any, :add, :log].each do |m|
11
- define_method(m) do |*params, &block|
12
- instance && instance.__send__(m, *params, &block)
13
- end
14
- end
15
- end
16
-
17
- # One-line file/level/logger configuration. If logger is
18
- # specified, file and level are ignored.
19
- #
20
- # @param options [Hash] Hash of options for the logger
21
- # @option :logger [::Logger] Logger instance to use underneath.
22
- # @option :file [String] File name to log to. Ignored if :logger is specified
23
- # @option :level [Logger::Severity] Level to log at. Ignored if :logger is specified
24
- def self.configure(options)
25
- @__instance = options.fetch(:logger, nil)
26
- self.file = options.fetch(:file, false)
27
- self.level = options.fetch(:level, false)
28
- end
29
-
30
- # Use to reset the instance
31
- def self.reset_device!
32
- self.file = self.level = @__instance = nil
33
- end
34
-
35
- # Singleton instance
36
- def self.instance
37
- @__instance ||= begin
38
- log = nil
39
-
40
- if @file && @level
41
- log = new(self.file)
42
- log.level = self.level
43
- end
44
-
45
- log
46
- end
47
- end
48
-
49
- #
50
- # LogMethods module for log method including, e.g.:
51
- #
52
- # class MyClass
53
- # include Protobuf::Logger::LogMethods
54
- # ...
55
- # end
56
- #
57
- # Produce a module to allow "include" in other classes to avoid
58
- # cluttering the namespace of the including class with the other methods defined above
59
- #
60
- module LogMethods
61
- [:debug, :info, :warn, :error, :fatal, :any, :add, :log].each do |m|
62
- define_method("log_#{m}") do |*params, &block|
63
- params.map! { |message| sign_message(message) }
64
- ::Protobuf::Logger.__send__(m, *params, &block)
65
- end
66
- end
67
-
68
- # When included, also extend the LogMethods module for class access.
69
- def self.included(base)
70
- base.extend(LogMethods)
71
- end
72
-
73
- # We often want to log an exception, so let's make that a core
74
- # concern of the logger.
75
- #
76
- def log_exception(ex)
77
- log_error { ex.message }
78
- log_error { ex.backtrace[0..5].join("\n") }
79
- log_debug { ex.backtrace.join("\n") }
80
- end
81
-
82
- def log_signature
83
- @_log_signature ||= "[#{self.class == Class ? self.name : self.class.name}]"
84
- end
85
-
86
- def sign_message(message)
87
- "#{log_signature} #{message}"
88
- end
89
-
90
- end
91
-
92
- end
93
- end