protobuf 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. data/.gitignore +5 -0
  2. data/Gemfile +3 -0
  3. data/Gemfile.lock +28 -0
  4. data/README.md +216 -0
  5. data/Rakefile +1 -0
  6. data/bin/rpc_server +117 -0
  7. data/bin/rprotoc +46 -0
  8. data/examples/addressbook.pb.rb +55 -0
  9. data/examples/addressbook.proto +24 -0
  10. data/examples/reading_a_message.rb +32 -0
  11. data/examples/writing_a_message.rb +46 -0
  12. data/lib/protobuf.rb +6 -0
  13. data/lib/protobuf/common/exceptions.rb +11 -0
  14. data/lib/protobuf/common/logger.rb +64 -0
  15. data/lib/protobuf/common/util.rb +59 -0
  16. data/lib/protobuf/common/wire_type.rb +10 -0
  17. data/lib/protobuf/compiler/compiler.rb +52 -0
  18. data/lib/protobuf/compiler/nodes.rb +323 -0
  19. data/lib/protobuf/compiler/proto.y +216 -0
  20. data/lib/protobuf/compiler/proto2.ebnf +79 -0
  21. data/lib/protobuf/compiler/proto_parser.rb +1425 -0
  22. data/lib/protobuf/compiler/template/rpc_bin.erb +4 -0
  23. data/lib/protobuf/compiler/template/rpc_client.erb +18 -0
  24. data/lib/protobuf/compiler/template/rpc_service.erb +25 -0
  25. data/lib/protobuf/compiler/template/rpc_service_implementation.erb +42 -0
  26. data/lib/protobuf/compiler/visitors.rb +302 -0
  27. data/lib/protobuf/descriptor/descriptor.proto +286 -0
  28. data/lib/protobuf/descriptor/descriptor.rb +55 -0
  29. data/lib/protobuf/descriptor/descriptor_builder.rb +143 -0
  30. data/lib/protobuf/descriptor/descriptor_proto.rb +138 -0
  31. data/lib/protobuf/descriptor/enum_descriptor.rb +33 -0
  32. data/lib/protobuf/descriptor/field_descriptor.rb +49 -0
  33. data/lib/protobuf/descriptor/file_descriptor.rb +37 -0
  34. data/lib/protobuf/message/decoder.rb +83 -0
  35. data/lib/protobuf/message/encoder.rb +46 -0
  36. data/lib/protobuf/message/enum.rb +62 -0
  37. data/lib/protobuf/message/extend.rb +8 -0
  38. data/lib/protobuf/message/field.rb +701 -0
  39. data/lib/protobuf/message/message.rb +402 -0
  40. data/lib/protobuf/message/protoable.rb +38 -0
  41. data/lib/protobuf/rpc/buffer.rb +74 -0
  42. data/lib/protobuf/rpc/client.rb +268 -0
  43. data/lib/protobuf/rpc/client_connection.rb +225 -0
  44. data/lib/protobuf/rpc/error.rb +34 -0
  45. data/lib/protobuf/rpc/error/client_error.rb +31 -0
  46. data/lib/protobuf/rpc/error/server_error.rb +43 -0
  47. data/lib/protobuf/rpc/rpc.pb.rb +107 -0
  48. data/lib/protobuf/rpc/server.rb +183 -0
  49. data/lib/protobuf/rpc/service.rb +244 -0
  50. data/lib/protobuf/rpc/stat.rb +70 -0
  51. data/lib/protobuf/version.rb +3 -0
  52. data/proto/rpc.proto +73 -0
  53. data/protobuf.gemspec +25 -0
  54. data/script/mk_parser +2 -0
  55. data/spec/functional/embedded_service_spec.rb +7 -0
  56. data/spec/proto/test.pb.rb +31 -0
  57. data/spec/proto/test.proto +31 -0
  58. data/spec/proto/test_service.rb +30 -0
  59. data/spec/proto/test_service_impl.rb +17 -0
  60. data/spec/spec_helper.rb +26 -0
  61. data/spec/unit/client_spec.rb +128 -0
  62. data/spec/unit/common/logger_spec.rb +121 -0
  63. data/spec/unit/enum_spec.rb +13 -0
  64. data/spec/unit/message_spec.rb +67 -0
  65. data/spec/unit/server_spec.rb +27 -0
  66. data/spec/unit/service_spec.rb +75 -0
  67. data/test/check_unbuild.rb +30 -0
  68. data/test/data/data.bin +3 -0
  69. data/test/data/data_source.py +14 -0
  70. data/test/data/types.bin +0 -0
  71. data/test/data/types_source.py +22 -0
  72. data/test/data/unk.png +0 -0
  73. data/test/proto/addressbook.pb.rb +66 -0
  74. data/test/proto/addressbook.proto +33 -0
  75. data/test/proto/addressbook_base.pb.rb +58 -0
  76. data/test/proto/addressbook_base.proto +26 -0
  77. data/test/proto/addressbook_ext.pb.rb +20 -0
  78. data/test/proto/addressbook_ext.proto +6 -0
  79. data/test/proto/collision.pb.rb +17 -0
  80. data/test/proto/collision.proto +5 -0
  81. data/test/proto/ext_collision.pb.rb +24 -0
  82. data/test/proto/ext_collision.proto +8 -0
  83. data/test/proto/ext_range.pb.rb +22 -0
  84. data/test/proto/ext_range.proto +7 -0
  85. data/test/proto/float_default.proto +10 -0
  86. data/test/proto/lowercase.pb.rb +30 -0
  87. data/test/proto/lowercase.proto +9 -0
  88. data/test/proto/merge.pb.rb +39 -0
  89. data/test/proto/merge.proto +15 -0
  90. data/test/proto/nested.pb.rb +30 -0
  91. data/test/proto/nested.proto +9 -0
  92. data/test/proto/optional_field.pb.rb +35 -0
  93. data/test/proto/optional_field.proto +12 -0
  94. data/test/proto/packed.pb.rb +22 -0
  95. data/test/proto/packed.proto +6 -0
  96. data/test/proto/rpc.proto +6 -0
  97. data/test/proto/types.pb.rb +84 -0
  98. data/test/proto/types.proto +37 -0
  99. data/test/test_addressbook.rb +56 -0
  100. data/test/test_compiler.rb +325 -0
  101. data/test/test_descriptor.rb +122 -0
  102. data/test/test_enum_value.rb +41 -0
  103. data/test/test_extension.rb +36 -0
  104. data/test/test_lowercase.rb +11 -0
  105. data/test/test_message.rb +128 -0
  106. data/test/test_optional_field.rb +103 -0
  107. data/test/test_packed_field.rb +40 -0
  108. data/test/test_parse.rb +15 -0
  109. data/test/test_repeated_types.rb +132 -0
  110. data/test/test_serialize.rb +61 -0
  111. data/test/test_standard_message.rb +96 -0
  112. data/test/test_types.rb +226 -0
  113. metadata +261 -0
metadata ADDED
@@ -0,0 +1,261 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: protobuf
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 1.0.0
6
+ platform: ruby
7
+ authors:
8
+ - BJ Neilsen
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2011-11-06 00:00:00 -06:00
14
+ default_executable:
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: eventmachine
18
+ prerelease: false
19
+ requirement: &id001 !ruby/object:Gem::Requirement
20
+ none: false
21
+ requirements:
22
+ - - ~>
23
+ - !ruby/object:Gem::Version
24
+ version: 0.12.10
25
+ type: :runtime
26
+ version_requirements: *id001
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ prerelease: false
30
+ requirement: &id002 !ruby/object:Gem::Requirement
31
+ none: false
32
+ requirements:
33
+ - - ~>
34
+ - !ruby/object:Gem::Version
35
+ version: 0.8.7
36
+ type: :development
37
+ version_requirements: *id002
38
+ - !ruby/object:Gem::Dependency
39
+ name: rspec
40
+ prerelease: false
41
+ requirement: &id003 !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ~>
45
+ - !ruby/object:Gem::Version
46
+ version: 2.7.0
47
+ type: :development
48
+ version_requirements: *id003
49
+ description: |-
50
+ Ruby implementation for Protocol Buffers. Works with other protobuf rpc implementations (e.g. Java, Python, C++).
51
+
52
+ This gem has diverged from https://github.com/macks/ruby-protobuf. All credit for serialization and rprotoc work most certainly goes to the original authors. All RPC implementation code (client/server/service) was written and is maintained by this author. Attempts to reconcile the original codebase with the current RPC implementation went unsuccessful.
53
+ email:
54
+ - bj.neilsen@gmail.com
55
+ executables:
56
+ - rpc_server
57
+ - rprotoc
58
+ extensions: []
59
+
60
+ extra_rdoc_files: []
61
+
62
+ files:
63
+ - .gitignore
64
+ - Gemfile
65
+ - Gemfile.lock
66
+ - README.md
67
+ - Rakefile
68
+ - bin/rpc_server
69
+ - bin/rprotoc
70
+ - examples/addressbook.pb.rb
71
+ - examples/addressbook.proto
72
+ - examples/reading_a_message.rb
73
+ - examples/writing_a_message.rb
74
+ - lib/protobuf.rb
75
+ - lib/protobuf/common/exceptions.rb
76
+ - lib/protobuf/common/logger.rb
77
+ - lib/protobuf/common/util.rb
78
+ - lib/protobuf/common/wire_type.rb
79
+ - lib/protobuf/compiler/compiler.rb
80
+ - lib/protobuf/compiler/nodes.rb
81
+ - lib/protobuf/compiler/proto.y
82
+ - lib/protobuf/compiler/proto2.ebnf
83
+ - lib/protobuf/compiler/proto_parser.rb
84
+ - lib/protobuf/compiler/template/rpc_bin.erb
85
+ - lib/protobuf/compiler/template/rpc_client.erb
86
+ - lib/protobuf/compiler/template/rpc_service.erb
87
+ - lib/protobuf/compiler/template/rpc_service_implementation.erb
88
+ - lib/protobuf/compiler/visitors.rb
89
+ - lib/protobuf/descriptor/descriptor.proto
90
+ - lib/protobuf/descriptor/descriptor.rb
91
+ - lib/protobuf/descriptor/descriptor_builder.rb
92
+ - lib/protobuf/descriptor/descriptor_proto.rb
93
+ - lib/protobuf/descriptor/enum_descriptor.rb
94
+ - lib/protobuf/descriptor/field_descriptor.rb
95
+ - lib/protobuf/descriptor/file_descriptor.rb
96
+ - lib/protobuf/message/decoder.rb
97
+ - lib/protobuf/message/encoder.rb
98
+ - lib/protobuf/message/enum.rb
99
+ - lib/protobuf/message/extend.rb
100
+ - lib/protobuf/message/field.rb
101
+ - lib/protobuf/message/message.rb
102
+ - lib/protobuf/message/protoable.rb
103
+ - lib/protobuf/rpc/buffer.rb
104
+ - lib/protobuf/rpc/client.rb
105
+ - lib/protobuf/rpc/client_connection.rb
106
+ - lib/protobuf/rpc/error.rb
107
+ - lib/protobuf/rpc/error/client_error.rb
108
+ - lib/protobuf/rpc/error/server_error.rb
109
+ - lib/protobuf/rpc/rpc.pb.rb
110
+ - lib/protobuf/rpc/server.rb
111
+ - lib/protobuf/rpc/service.rb
112
+ - lib/protobuf/rpc/stat.rb
113
+ - lib/protobuf/version.rb
114
+ - proto/rpc.proto
115
+ - protobuf.gemspec
116
+ - script/mk_parser
117
+ - spec/functional/embedded_service_spec.rb
118
+ - spec/proto/test.pb.rb
119
+ - spec/proto/test.proto
120
+ - spec/proto/test_service.rb
121
+ - spec/proto/test_service_impl.rb
122
+ - spec/spec_helper.rb
123
+ - spec/unit/client_spec.rb
124
+ - spec/unit/common/logger_spec.rb
125
+ - spec/unit/enum_spec.rb
126
+ - spec/unit/message_spec.rb
127
+ - spec/unit/server_spec.rb
128
+ - spec/unit/service_spec.rb
129
+ - test/check_unbuild.rb
130
+ - test/data/data.bin
131
+ - test/data/data_source.py
132
+ - test/data/types.bin
133
+ - test/data/types_source.py
134
+ - test/data/unk.png
135
+ - test/proto/addressbook.pb.rb
136
+ - test/proto/addressbook.proto
137
+ - test/proto/addressbook_base.pb.rb
138
+ - test/proto/addressbook_base.proto
139
+ - test/proto/addressbook_ext.pb.rb
140
+ - test/proto/addressbook_ext.proto
141
+ - test/proto/collision.pb.rb
142
+ - test/proto/collision.proto
143
+ - test/proto/ext_collision.pb.rb
144
+ - test/proto/ext_collision.proto
145
+ - test/proto/ext_range.pb.rb
146
+ - test/proto/ext_range.proto
147
+ - test/proto/float_default.proto
148
+ - test/proto/lowercase.pb.rb
149
+ - test/proto/lowercase.proto
150
+ - test/proto/merge.pb.rb
151
+ - test/proto/merge.proto
152
+ - test/proto/nested.pb.rb
153
+ - test/proto/nested.proto
154
+ - test/proto/optional_field.pb.rb
155
+ - test/proto/optional_field.proto
156
+ - test/proto/packed.pb.rb
157
+ - test/proto/packed.proto
158
+ - test/proto/rpc.proto
159
+ - test/proto/types.pb.rb
160
+ - test/proto/types.proto
161
+ - test/test_addressbook.rb
162
+ - test/test_compiler.rb
163
+ - test/test_descriptor.rb
164
+ - test/test_enum_value.rb
165
+ - test/test_extension.rb
166
+ - test/test_lowercase.rb
167
+ - test/test_message.rb
168
+ - test/test_optional_field.rb
169
+ - test/test_packed_field.rb
170
+ - test/test_parse.rb
171
+ - test/test_repeated_types.rb
172
+ - test/test_serialize.rb
173
+ - test/test_standard_message.rb
174
+ - test/test_types.rb
175
+ has_rdoc: true
176
+ homepage: https://github.com/localshred/protobuf
177
+ licenses: []
178
+
179
+ post_install_message:
180
+ rdoc_options: []
181
+
182
+ require_paths:
183
+ - lib
184
+ required_ruby_version: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ">="
188
+ - !ruby/object:Gem::Version
189
+ version: "0"
190
+ required_rubygems_version: !ruby/object:Gem::Requirement
191
+ none: false
192
+ requirements:
193
+ - - ">="
194
+ - !ruby/object:Gem::Version
195
+ version: "0"
196
+ requirements: []
197
+
198
+ rubyforge_project:
199
+ rubygems_version: 1.5.0
200
+ signing_key:
201
+ specification_version: 3
202
+ summary: Ruby implementation for Protocol Buffers. Works with other protobuf rpc implementations (e.g. Java, Python, C++).
203
+ test_files:
204
+ - spec/functional/embedded_service_spec.rb
205
+ - spec/proto/test.pb.rb
206
+ - spec/proto/test.proto
207
+ - spec/proto/test_service.rb
208
+ - spec/proto/test_service_impl.rb
209
+ - spec/spec_helper.rb
210
+ - spec/unit/client_spec.rb
211
+ - spec/unit/common/logger_spec.rb
212
+ - spec/unit/enum_spec.rb
213
+ - spec/unit/message_spec.rb
214
+ - spec/unit/server_spec.rb
215
+ - spec/unit/service_spec.rb
216
+ - test/check_unbuild.rb
217
+ - test/data/data.bin
218
+ - test/data/data_source.py
219
+ - test/data/types.bin
220
+ - test/data/types_source.py
221
+ - test/data/unk.png
222
+ - test/proto/addressbook.pb.rb
223
+ - test/proto/addressbook.proto
224
+ - test/proto/addressbook_base.pb.rb
225
+ - test/proto/addressbook_base.proto
226
+ - test/proto/addressbook_ext.pb.rb
227
+ - test/proto/addressbook_ext.proto
228
+ - test/proto/collision.pb.rb
229
+ - test/proto/collision.proto
230
+ - test/proto/ext_collision.pb.rb
231
+ - test/proto/ext_collision.proto
232
+ - test/proto/ext_range.pb.rb
233
+ - test/proto/ext_range.proto
234
+ - test/proto/float_default.proto
235
+ - test/proto/lowercase.pb.rb
236
+ - test/proto/lowercase.proto
237
+ - test/proto/merge.pb.rb
238
+ - test/proto/merge.proto
239
+ - test/proto/nested.pb.rb
240
+ - test/proto/nested.proto
241
+ - test/proto/optional_field.pb.rb
242
+ - test/proto/optional_field.proto
243
+ - test/proto/packed.pb.rb
244
+ - test/proto/packed.proto
245
+ - test/proto/rpc.proto
246
+ - test/proto/types.pb.rb
247
+ - test/proto/types.proto
248
+ - test/test_addressbook.rb
249
+ - test/test_compiler.rb
250
+ - test/test_descriptor.rb
251
+ - test/test_enum_value.rb
252
+ - test/test_extension.rb
253
+ - test/test_lowercase.rb
254
+ - test/test_message.rb
255
+ - test/test_optional_field.rb
256
+ - test/test_packed_field.rb
257
+ - test/test_parse.rb
258
+ - test/test_repeated_types.rb
259
+ - test/test_serialize.rb
260
+ - test/test_standard_message.rb
261
+ - test/test_types.rb