protobuf 3.6.12 → 3.7.0.pre0

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 (47) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +4 -4
  3. data/CHANGES.md +14 -3
  4. data/lib/protobuf/descriptors/google/protobuf/descriptor.pb.rb +39 -2
  5. data/lib/protobuf/field.rb +2 -2
  6. data/lib/protobuf/field/base_field.rb +27 -84
  7. data/lib/protobuf/field/bool_field.rb +3 -13
  8. data/lib/protobuf/field/bytes_field.rb +10 -26
  9. data/lib/protobuf/field/enum_field.rb +10 -20
  10. data/lib/protobuf/field/message_field.rb +13 -23
  11. data/lib/protobuf/generators/enum_generator.rb +1 -0
  12. data/lib/protobuf/generators/field_generator.rb +8 -2
  13. data/lib/protobuf/generators/file_generator.rb +8 -0
  14. data/lib/protobuf/generators/service_generator.rb +2 -2
  15. data/lib/protobuf/message.rb +47 -12
  16. data/lib/protobuf/message/fields.rb +80 -8
  17. data/lib/protobuf/rpc/connectors/common.rb +1 -1
  18. data/lib/protobuf/rpc/connectors/ping.rb +2 -2
  19. data/lib/protobuf/rpc/connectors/zmq.rb +1 -1
  20. data/lib/protobuf/rpc/middleware/exception_handler.rb +0 -4
  21. data/lib/protobuf/rpc/middleware/logger.rb +0 -4
  22. data/lib/protobuf/rpc/middleware/request_decoder.rb +16 -11
  23. data/lib/protobuf/rpc/middleware/response_encoder.rb +20 -15
  24. data/lib/protobuf/rpc/service.rb +10 -2
  25. data/lib/protobuf/rpc/service_directory.rb +0 -8
  26. data/lib/protobuf/rpc/service_dispatcher.rb +6 -5
  27. data/lib/protobuf/rpc/service_filters.rb +30 -8
  28. data/lib/protobuf/version.rb +1 -1
  29. data/proto/google/protobuf/descriptor.proto +190 -31
  30. data/spec/lib/protobuf/field/bool_field_spec.rb +33 -7
  31. data/spec/lib/protobuf/field/enum_field_spec.rb +26 -0
  32. data/spec/lib/protobuf/field/float_field_spec.rb +32 -1
  33. data/spec/lib/protobuf/field/int32_field_spec.rb +32 -1
  34. data/spec/lib/protobuf/field/message_field_spec.rb +79 -0
  35. data/spec/lib/protobuf/field/string_field_spec.rb +34 -0
  36. data/spec/lib/protobuf/field_spec.rb +1 -0
  37. data/spec/lib/protobuf/generators/enum_generator_spec.rb +9 -0
  38. data/spec/lib/protobuf/generators/service_generator_spec.rb +9 -0
  39. data/spec/lib/protobuf/message_spec.rb +328 -63
  40. data/spec/lib/protobuf/rpc/connectors/ping_spec.rb +3 -3
  41. data/spec/lib/protobuf/rpc/service_dispatcher_spec.rb +18 -1
  42. data/spec/support/protos/enum.pb.rb +1 -1
  43. data/spec/support/protos/google_unittest.pb.rb +113 -111
  44. data/spec/support/protos/google_unittest.proto +7 -0
  45. data/spec/support/protos/multi_field_extensions.pb.rb +1 -1
  46. data/spec/support/protos/resource.pb.rb +9 -9
  47. metadata +79 -5
@@ -55,14 +55,14 @@ require "protobuf/zmq"
55
55
 
56
56
  describe "#timeout" do
57
57
  it "uses the default value" do
58
- expect(subject.timeout).to eq(0.2)
58
+ expect(subject.timeout).to eq(5)
59
59
  end
60
60
 
61
61
  context "when environment variable is set" do
62
- before { ::ENV["PB_RPC_PING_PORT_TIMEOUT"] = "100" }
62
+ before { ::ENV["PB_RPC_PING_PORT_TIMEOUT"] = "1" }
63
63
 
64
64
  it "uses the environmet variable" do
65
- expect(subject.timeout).to eq(0.1)
65
+ expect(subject.timeout).to eq(1)
66
66
  end
67
67
  end
68
68
  end
@@ -16,6 +16,7 @@ RSpec.describe Protobuf::Rpc::ServiceDispatcher do
16
16
  let(:request_type) { service_class.rpcs[method_name].request_type }
17
17
  let(:response) { response_type.new(:name => 'required') }
18
18
  let(:response_type) { service_class.rpcs[method_name].response_type }
19
+
19
20
  let(:rpc_service) { service_class.new(env) }
20
21
  let(:service_class) { Test::ResourceService }
21
22
  let(:service_name) { service_class.to_s }
@@ -28,8 +29,24 @@ RSpec.describe Protobuf::Rpc::ServiceDispatcher do
28
29
  before { allow(rpc_service).to receive(:response).and_return(response) }
29
30
 
30
31
  it "dispatches the request" do
31
- stack_env = subject._call(env)
32
+ stack_env = subject.call(env)
32
33
  expect(stack_env.response).to eq response
33
34
  end
35
+
36
+ context "when the given RPC method is not implemented" do
37
+ let(:method_name) { :find_not_implemented }
38
+
39
+ it "raises a method not found exception" do
40
+ expect { subject.call(env) }.to raise_exception(Protobuf::Rpc::MethodNotFound)
41
+ end
42
+ end
43
+
44
+ context "when the given RPC method is implemented and a NoMethodError is raised" do
45
+ before { allow(rpc_service).to receive(:callable_rpc_method).and_return(-> { rpc_service.__send__(:foo) }) }
46
+
47
+ it "raises the exeception" do
48
+ expect { subject.call(env) }.to raise_exception(NoMethodError)
49
+ end
50
+ end
34
51
  end
35
52
  end
@@ -54,7 +54,7 @@ module Test
54
54
  # Extended Message Fields
55
55
  #
56
56
  class ::Test::Resource < ::Protobuf::Message
57
- optional :int32, :ext_other_file_defined_field, 200, :extension => true
57
+ optional :int32, :".test.ext_other_file_defined_field", 200, :extension => true
58
58
  end
59
59
 
60
60
  end
@@ -69,6 +69,7 @@ module Protobuf_unittest
69
69
  class OptionalGroup_extension < ::Protobuf::Message; end
70
70
  class RepeatedGroup_extension < ::Protobuf::Message; end
71
71
  class TestNestedExtension < ::Protobuf::Message; end
72
+ class TestMoreNestedExtension < ::Protobuf::Message; end
72
73
  class TestRequired < ::Protobuf::Message; end
73
74
  class TestRequiredForeign < ::Protobuf::Message; end
74
75
  class TestForeignNested < ::Protobuf::Message; end
@@ -283,85 +284,86 @@ module Protobuf_unittest
283
284
  class TestAllExtensions
284
285
  # Extension Fields
285
286
  extensions 1...536870912
286
- optional :int32, :optional_int32_extension, 1, :extension => true
287
- optional :int64, :optional_int64_extension, 2, :extension => true
288
- optional :uint32, :optional_uint32_extension, 3, :extension => true
289
- optional :uint64, :optional_uint64_extension, 4, :extension => true
290
- optional :sint32, :optional_sint32_extension, 5, :extension => true
291
- optional :sint64, :optional_sint64_extension, 6, :extension => true
292
- optional :fixed32, :optional_fixed32_extension, 7, :extension => true
293
- optional :fixed64, :optional_fixed64_extension, 8, :extension => true
294
- optional :sfixed32, :optional_sfixed32_extension, 9, :extension => true
295
- optional :sfixed64, :optional_sfixed64_extension, 10, :extension => true
296
- optional :float, :optional_float_extension, 11, :extension => true
297
- optional :double, :optional_double_extension, 12, :extension => true
298
- optional :bool, :optional_bool_extension, 13, :extension => true
299
- optional :string, :optional_string_extension, 14, :extension => true
300
- optional :bytes, :optional_bytes_extension, 15, :extension => true
301
- optional ::Protobuf_unittest::OptionalGroup_extension, :optionalgroup_extension, 16, :extension => true
302
- optional ::Protobuf_unittest::TestAllTypes::NestedMessage, :optional_nested_message_extension, 18, :extension => true
303
- optional ::Protobuf_unittest::ForeignMessage, :optional_foreign_message_extension, 19, :extension => true
304
- optional ::Protobuf_unittest_import::ImportMessage, :optional_import_message_extension, 20, :extension => true
305
- optional ::Protobuf_unittest::TestAllTypes::NestedEnum, :optional_nested_enum_extension, 21, :extension => true
306
- optional ::Protobuf_unittest::ForeignEnum, :optional_foreign_enum_extension, 22, :extension => true
307
- optional ::Protobuf_unittest_import::ImportEnum, :optional_import_enum_extension, 23, :extension => true
308
- optional :string, :optional_string_piece_extension, 24, :extension => true
309
- optional :string, :optional_cord_extension, 25, :extension => true
310
- optional ::Protobuf_unittest_import::PublicImportMessage, :optional_public_import_message_extension, 26, :extension => true
311
- optional ::Protobuf_unittest::TestAllTypes::NestedMessage, :optional_lazy_message_extension, 27, :extension => true
312
- repeated :int32, :repeated_int32_extension, 31, :extension => true
313
- repeated :int64, :repeated_int64_extension, 32, :extension => true
314
- repeated :uint32, :repeated_uint32_extension, 33, :extension => true
315
- repeated :uint64, :repeated_uint64_extension, 34, :extension => true
316
- repeated :sint32, :repeated_sint32_extension, 35, :extension => true
317
- repeated :sint64, :repeated_sint64_extension, 36, :extension => true
318
- repeated :fixed32, :repeated_fixed32_extension, 37, :extension => true
319
- repeated :fixed64, :repeated_fixed64_extension, 38, :extension => true
320
- repeated :sfixed32, :repeated_sfixed32_extension, 39, :extension => true
321
- repeated :sfixed64, :repeated_sfixed64_extension, 40, :extension => true
322
- repeated :float, :repeated_float_extension, 41, :extension => true
323
- repeated :double, :repeated_double_extension, 42, :extension => true
324
- repeated :bool, :repeated_bool_extension, 43, :extension => true
325
- repeated :string, :repeated_string_extension, 44, :extension => true
326
- repeated :bytes, :repeated_bytes_extension, 45, :extension => true
327
- repeated ::Protobuf_unittest::RepeatedGroup_extension, :repeatedgroup_extension, 46, :extension => true
328
- repeated ::Protobuf_unittest::TestAllTypes::NestedMessage, :repeated_nested_message_extension, 48, :extension => true
329
- repeated ::Protobuf_unittest::ForeignMessage, :repeated_foreign_message_extension, 49, :extension => true
330
- repeated ::Protobuf_unittest_import::ImportMessage, :repeated_import_message_extension, 50, :extension => true
331
- repeated ::Protobuf_unittest::TestAllTypes::NestedEnum, :repeated_nested_enum_extension, 51, :extension => true
332
- repeated ::Protobuf_unittest::ForeignEnum, :repeated_foreign_enum_extension, 52, :extension => true
333
- repeated ::Protobuf_unittest_import::ImportEnum, :repeated_import_enum_extension, 53, :extension => true
334
- repeated :string, :repeated_string_piece_extension, 54, :extension => true
335
- repeated :string, :repeated_cord_extension, 55, :extension => true
336
- repeated ::Protobuf_unittest::TestAllTypes::NestedMessage, :repeated_lazy_message_extension, 57, :extension => true
337
- optional :int32, :default_int32_extension, 61, :default => 41, :extension => true
338
- optional :int64, :default_int64_extension, 62, :default => 42, :extension => true
339
- optional :uint32, :default_uint32_extension, 63, :default => 43, :extension => true
340
- optional :uint64, :default_uint64_extension, 64, :default => 44, :extension => true
341
- optional :sint32, :default_sint32_extension, 65, :default => -45, :extension => true
342
- optional :sint64, :default_sint64_extension, 66, :default => 46, :extension => true
343
- optional :fixed32, :default_fixed32_extension, 67, :default => 47, :extension => true
344
- optional :fixed64, :default_fixed64_extension, 68, :default => 48, :extension => true
345
- optional :sfixed32, :default_sfixed32_extension, 69, :default => 49, :extension => true
346
- optional :sfixed64, :default_sfixed64_extension, 70, :default => -50, :extension => true
347
- optional :float, :default_float_extension, 71, :default => 51.5, :extension => true
348
- optional :double, :default_double_extension, 72, :default => 52000, :extension => true
349
- optional :bool, :default_bool_extension, 73, :default => true, :extension => true
350
- optional :string, :default_string_extension, 74, :default => "hello", :extension => true
351
- optional :bytes, :default_bytes_extension, 75, :default => "world", :extension => true
352
- optional ::Protobuf_unittest::TestAllTypes::NestedEnum, :default_nested_enum_extension, 81, :default => ::Protobuf_unittest::TestAllTypes::NestedEnum::BAR, :extension => true
353
- optional ::Protobuf_unittest::ForeignEnum, :default_foreign_enum_extension, 82, :default => ::Protobuf_unittest::ForeignEnum::FOREIGN_BAR, :extension => true
354
- optional ::Protobuf_unittest_import::ImportEnum, :default_import_enum_extension, 83, :default => ::Protobuf_unittest_import::ImportEnum::IMPORT_BAR, :extension => true
355
- optional :string, :default_string_piece_extension, 84, :default => "abc", :extension => true
356
- optional :string, :default_cord_extension, 85, :default => "123", :extension => true
357
- optional :uint32, :oneof_uint32_extension, 111, :extension => true
358
- optional ::Protobuf_unittest::TestAllTypes::NestedMessage, :oneof_nested_message_extension, 112, :extension => true
359
- optional :string, :oneof_string_extension, 113, :extension => true
360
- optional :bytes, :oneof_bytes_extension, 114, :extension => true
361
- optional :string, :test, 1002, :default => "test", :extension => true
362
- optional :string, :nested_string_extension, 1003, :extension => true
363
- optional ::Protobuf_unittest::TestRequired, :single, 1000, :extension => true
364
- repeated ::Protobuf_unittest::TestRequired, :multi, 1001, :extension => true
287
+ optional :int32, :".protobuf_unittest.optional_int32_extension", 1, :extension => true
288
+ optional :int64, :".protobuf_unittest.optional_int64_extension", 2, :extension => true
289
+ optional :uint32, :".protobuf_unittest.optional_uint32_extension", 3, :extension => true
290
+ optional :uint64, :".protobuf_unittest.optional_uint64_extension", 4, :extension => true
291
+ optional :sint32, :".protobuf_unittest.optional_sint32_extension", 5, :extension => true
292
+ optional :sint64, :".protobuf_unittest.optional_sint64_extension", 6, :extension => true
293
+ optional :fixed32, :".protobuf_unittest.optional_fixed32_extension", 7, :extension => true
294
+ optional :fixed64, :".protobuf_unittest.optional_fixed64_extension", 8, :extension => true
295
+ optional :sfixed32, :".protobuf_unittest.optional_sfixed32_extension", 9, :extension => true
296
+ optional :sfixed64, :".protobuf_unittest.optional_sfixed64_extension", 10, :extension => true
297
+ optional :float, :".protobuf_unittest.optional_float_extension", 11, :extension => true
298
+ optional :double, :".protobuf_unittest.optional_double_extension", 12, :extension => true
299
+ optional :bool, :".protobuf_unittest.optional_bool_extension", 13, :extension => true
300
+ optional :string, :".protobuf_unittest.optional_string_extension", 14, :extension => true
301
+ optional :bytes, :".protobuf_unittest.optional_bytes_extension", 15, :extension => true
302
+ optional ::Protobuf_unittest::OptionalGroup_extension, :".protobuf_unittest.optionalgroup_extension", 16, :extension => true
303
+ optional ::Protobuf_unittest::TestAllTypes::NestedMessage, :".protobuf_unittest.optional_nested_message_extension", 18, :extension => true
304
+ optional ::Protobuf_unittest::ForeignMessage, :".protobuf_unittest.optional_foreign_message_extension", 19, :extension => true
305
+ optional ::Protobuf_unittest_import::ImportMessage, :".protobuf_unittest.optional_import_message_extension", 20, :extension => true
306
+ optional ::Protobuf_unittest::TestAllTypes::NestedEnum, :".protobuf_unittest.optional_nested_enum_extension", 21, :extension => true
307
+ optional ::Protobuf_unittest::ForeignEnum, :".protobuf_unittest.optional_foreign_enum_extension", 22, :extension => true
308
+ optional ::Protobuf_unittest_import::ImportEnum, :".protobuf_unittest.optional_import_enum_extension", 23, :extension => true
309
+ optional :string, :".protobuf_unittest.optional_string_piece_extension", 24, :extension => true
310
+ optional :string, :".protobuf_unittest.optional_cord_extension", 25, :extension => true
311
+ optional ::Protobuf_unittest_import::PublicImportMessage, :".protobuf_unittest.optional_public_import_message_extension", 26, :extension => true
312
+ optional ::Protobuf_unittest::TestAllTypes::NestedMessage, :".protobuf_unittest.optional_lazy_message_extension", 27, :extension => true
313
+ repeated :int32, :".protobuf_unittest.repeated_int32_extension", 31, :extension => true
314
+ repeated :int64, :".protobuf_unittest.repeated_int64_extension", 32, :extension => true
315
+ repeated :uint32, :".protobuf_unittest.repeated_uint32_extension", 33, :extension => true
316
+ repeated :uint64, :".protobuf_unittest.repeated_uint64_extension", 34, :extension => true
317
+ repeated :sint32, :".protobuf_unittest.repeated_sint32_extension", 35, :extension => true
318
+ repeated :sint64, :".protobuf_unittest.repeated_sint64_extension", 36, :extension => true
319
+ repeated :fixed32, :".protobuf_unittest.repeated_fixed32_extension", 37, :extension => true
320
+ repeated :fixed64, :".protobuf_unittest.repeated_fixed64_extension", 38, :extension => true
321
+ repeated :sfixed32, :".protobuf_unittest.repeated_sfixed32_extension", 39, :extension => true
322
+ repeated :sfixed64, :".protobuf_unittest.repeated_sfixed64_extension", 40, :extension => true
323
+ repeated :float, :".protobuf_unittest.repeated_float_extension", 41, :extension => true
324
+ repeated :double, :".protobuf_unittest.repeated_double_extension", 42, :extension => true
325
+ repeated :bool, :".protobuf_unittest.repeated_bool_extension", 43, :extension => true
326
+ repeated :string, :".protobuf_unittest.repeated_string_extension", 44, :extension => true
327
+ repeated :bytes, :".protobuf_unittest.repeated_bytes_extension", 45, :extension => true
328
+ repeated ::Protobuf_unittest::RepeatedGroup_extension, :".protobuf_unittest.repeatedgroup_extension", 46, :extension => true
329
+ repeated ::Protobuf_unittest::TestAllTypes::NestedMessage, :".protobuf_unittest.repeated_nested_message_extension", 48, :extension => true
330
+ repeated ::Protobuf_unittest::ForeignMessage, :".protobuf_unittest.repeated_foreign_message_extension", 49, :extension => true
331
+ repeated ::Protobuf_unittest_import::ImportMessage, :".protobuf_unittest.repeated_import_message_extension", 50, :extension => true
332
+ repeated ::Protobuf_unittest::TestAllTypes::NestedEnum, :".protobuf_unittest.repeated_nested_enum_extension", 51, :extension => true
333
+ repeated ::Protobuf_unittest::ForeignEnum, :".protobuf_unittest.repeated_foreign_enum_extension", 52, :extension => true
334
+ repeated ::Protobuf_unittest_import::ImportEnum, :".protobuf_unittest.repeated_import_enum_extension", 53, :extension => true
335
+ repeated :string, :".protobuf_unittest.repeated_string_piece_extension", 54, :extension => true
336
+ repeated :string, :".protobuf_unittest.repeated_cord_extension", 55, :extension => true
337
+ repeated ::Protobuf_unittest::TestAllTypes::NestedMessage, :".protobuf_unittest.repeated_lazy_message_extension", 57, :extension => true
338
+ optional :int32, :".protobuf_unittest.default_int32_extension", 61, :default => 41, :extension => true
339
+ optional :int64, :".protobuf_unittest.default_int64_extension", 62, :default => 42, :extension => true
340
+ optional :uint32, :".protobuf_unittest.default_uint32_extension", 63, :default => 43, :extension => true
341
+ optional :uint64, :".protobuf_unittest.default_uint64_extension", 64, :default => 44, :extension => true
342
+ optional :sint32, :".protobuf_unittest.default_sint32_extension", 65, :default => -45, :extension => true
343
+ optional :sint64, :".protobuf_unittest.default_sint64_extension", 66, :default => 46, :extension => true
344
+ optional :fixed32, :".protobuf_unittest.default_fixed32_extension", 67, :default => 47, :extension => true
345
+ optional :fixed64, :".protobuf_unittest.default_fixed64_extension", 68, :default => 48, :extension => true
346
+ optional :sfixed32, :".protobuf_unittest.default_sfixed32_extension", 69, :default => 49, :extension => true
347
+ optional :sfixed64, :".protobuf_unittest.default_sfixed64_extension", 70, :default => -50, :extension => true
348
+ optional :float, :".protobuf_unittest.default_float_extension", 71, :default => 51.5, :extension => true
349
+ optional :double, :".protobuf_unittest.default_double_extension", 72, :default => 52000, :extension => true
350
+ optional :bool, :".protobuf_unittest.default_bool_extension", 73, :default => true, :extension => true
351
+ optional :string, :".protobuf_unittest.default_string_extension", 74, :default => "hello", :extension => true
352
+ optional :bytes, :".protobuf_unittest.default_bytes_extension", 75, :default => "world", :extension => true
353
+ optional ::Protobuf_unittest::TestAllTypes::NestedEnum, :".protobuf_unittest.default_nested_enum_extension", 81, :default => ::Protobuf_unittest::TestAllTypes::NestedEnum::BAR, :extension => true
354
+ optional ::Protobuf_unittest::ForeignEnum, :".protobuf_unittest.default_foreign_enum_extension", 82, :default => ::Protobuf_unittest::ForeignEnum::FOREIGN_BAR, :extension => true
355
+ optional ::Protobuf_unittest_import::ImportEnum, :".protobuf_unittest.default_import_enum_extension", 83, :default => ::Protobuf_unittest_import::ImportEnum::IMPORT_BAR, :extension => true
356
+ optional :string, :".protobuf_unittest.default_string_piece_extension", 84, :default => "abc", :extension => true
357
+ optional :string, :".protobuf_unittest.default_cord_extension", 85, :default => "123", :extension => true
358
+ optional :uint32, :".protobuf_unittest.oneof_uint32_extension", 111, :extension => true
359
+ optional ::Protobuf_unittest::TestAllTypes::NestedMessage, :".protobuf_unittest.oneof_nested_message_extension", 112, :extension => true
360
+ optional :string, :".protobuf_unittest.oneof_string_extension", 113, :extension => true
361
+ optional :bytes, :".protobuf_unittest.oneof_bytes_extension", 114, :extension => true
362
+ optional :string, :".protobuf_unittest.TestNestedExtension.test", 1002, :default => "test", :extension => true
363
+ optional :string, :".protobuf_unittest.TestNestedExtension.nested_string_extension", 1003, :extension => true
364
+ optional :string, :".protobuf_unittest.TestMoreNestedExtension.test", 1004, :default => "a different test", :extension => true
365
+ optional ::Protobuf_unittest::TestRequired, :".protobuf_unittest.TestRequired.single", 1000, :extension => true
366
+ repeated ::Protobuf_unittest::TestRequired, :".protobuf_unittest.TestRequired.multi", 1001, :extension => true
365
367
  end
366
368
 
367
369
  class OptionalGroup_extension
@@ -496,8 +498,8 @@ module Protobuf_unittest
496
498
  # Extension Fields
497
499
  extensions 2...11
498
500
  extensions 12...101
499
- optional :string, :my_extension_string, 50, :extension => true
500
- optional :int32, :my_extension_int, 5, :extension => true
501
+ optional :string, :".protobuf_unittest.my_extension_string", 50, :extension => true
502
+ optional :int32, :".protobuf_unittest.my_extension_int", 5, :extension => true
501
503
  end
502
504
 
503
505
  class TestExtremeDefaultValues
@@ -671,39 +673,39 @@ module Protobuf_unittest
671
673
  class TestPackedExtensions
672
674
  # Extension Fields
673
675
  extensions 1...536870912
674
- repeated :int32, :packed_int32_extension, 90, :packed => true, :extension => true
675
- repeated :int64, :packed_int64_extension, 91, :packed => true, :extension => true
676
- repeated :uint32, :packed_uint32_extension, 92, :packed => true, :extension => true
677
- repeated :uint64, :packed_uint64_extension, 93, :packed => true, :extension => true
678
- repeated :sint32, :packed_sint32_extension, 94, :packed => true, :extension => true
679
- repeated :sint64, :packed_sint64_extension, 95, :packed => true, :extension => true
680
- repeated :fixed32, :packed_fixed32_extension, 96, :packed => true, :extension => true
681
- repeated :fixed64, :packed_fixed64_extension, 97, :packed => true, :extension => true
682
- repeated :sfixed32, :packed_sfixed32_extension, 98, :packed => true, :extension => true
683
- repeated :sfixed64, :packed_sfixed64_extension, 99, :packed => true, :extension => true
684
- repeated :float, :packed_float_extension, 100, :packed => true, :extension => true
685
- repeated :double, :packed_double_extension, 101, :packed => true, :extension => true
686
- repeated :bool, :packed_bool_extension, 102, :packed => true, :extension => true
687
- repeated ::Protobuf_unittest::ForeignEnum, :packed_enum_extension, 103, :packed => true, :extension => true
676
+ repeated :int32, :".protobuf_unittest.packed_int32_extension", 90, :packed => true, :extension => true
677
+ repeated :int64, :".protobuf_unittest.packed_int64_extension", 91, :packed => true, :extension => true
678
+ repeated :uint32, :".protobuf_unittest.packed_uint32_extension", 92, :packed => true, :extension => true
679
+ repeated :uint64, :".protobuf_unittest.packed_uint64_extension", 93, :packed => true, :extension => true
680
+ repeated :sint32, :".protobuf_unittest.packed_sint32_extension", 94, :packed => true, :extension => true
681
+ repeated :sint64, :".protobuf_unittest.packed_sint64_extension", 95, :packed => true, :extension => true
682
+ repeated :fixed32, :".protobuf_unittest.packed_fixed32_extension", 96, :packed => true, :extension => true
683
+ repeated :fixed64, :".protobuf_unittest.packed_fixed64_extension", 97, :packed => true, :extension => true
684
+ repeated :sfixed32, :".protobuf_unittest.packed_sfixed32_extension", 98, :packed => true, :extension => true
685
+ repeated :sfixed64, :".protobuf_unittest.packed_sfixed64_extension", 99, :packed => true, :extension => true
686
+ repeated :float, :".protobuf_unittest.packed_float_extension", 100, :packed => true, :extension => true
687
+ repeated :double, :".protobuf_unittest.packed_double_extension", 101, :packed => true, :extension => true
688
+ repeated :bool, :".protobuf_unittest.packed_bool_extension", 102, :packed => true, :extension => true
689
+ repeated ::Protobuf_unittest::ForeignEnum, :".protobuf_unittest.packed_enum_extension", 103, :packed => true, :extension => true
688
690
  end
689
691
 
690
692
  class TestUnpackedExtensions
691
693
  # Extension Fields
692
694
  extensions 1...536870912
693
- repeated :int32, :unpacked_int32_extension, 90, :extension => true
694
- repeated :int64, :unpacked_int64_extension, 91, :extension => true
695
- repeated :uint32, :unpacked_uint32_extension, 92, :extension => true
696
- repeated :uint64, :unpacked_uint64_extension, 93, :extension => true
697
- repeated :sint32, :unpacked_sint32_extension, 94, :extension => true
698
- repeated :sint64, :unpacked_sint64_extension, 95, :extension => true
699
- repeated :fixed32, :unpacked_fixed32_extension, 96, :extension => true
700
- repeated :fixed64, :unpacked_fixed64_extension, 97, :extension => true
701
- repeated :sfixed32, :unpacked_sfixed32_extension, 98, :extension => true
702
- repeated :sfixed64, :unpacked_sfixed64_extension, 99, :extension => true
703
- repeated :float, :unpacked_float_extension, 100, :extension => true
704
- repeated :double, :unpacked_double_extension, 101, :extension => true
705
- repeated :bool, :unpacked_bool_extension, 102, :extension => true
706
- repeated ::Protobuf_unittest::ForeignEnum, :unpacked_enum_extension, 103, :extension => true
695
+ repeated :int32, :".protobuf_unittest.unpacked_int32_extension", 90, :extension => true
696
+ repeated :int64, :".protobuf_unittest.unpacked_int64_extension", 91, :extension => true
697
+ repeated :uint32, :".protobuf_unittest.unpacked_uint32_extension", 92, :extension => true
698
+ repeated :uint64, :".protobuf_unittest.unpacked_uint64_extension", 93, :extension => true
699
+ repeated :sint32, :".protobuf_unittest.unpacked_sint32_extension", 94, :extension => true
700
+ repeated :sint64, :".protobuf_unittest.unpacked_sint64_extension", 95, :extension => true
701
+ repeated :fixed32, :".protobuf_unittest.unpacked_fixed32_extension", 96, :extension => true
702
+ repeated :fixed64, :".protobuf_unittest.unpacked_fixed64_extension", 97, :extension => true
703
+ repeated :sfixed32, :".protobuf_unittest.unpacked_sfixed32_extension", 98, :extension => true
704
+ repeated :sfixed64, :".protobuf_unittest.unpacked_sfixed64_extension", 99, :extension => true
705
+ repeated :float, :".protobuf_unittest.unpacked_float_extension", 100, :extension => true
706
+ repeated :double, :".protobuf_unittest.unpacked_double_extension", 101, :extension => true
707
+ repeated :bool, :".protobuf_unittest.unpacked_bool_extension", 102, :extension => true
708
+ repeated ::Protobuf_unittest::ForeignEnum, :".protobuf_unittest.unpacked_enum_extension", 103, :extension => true
707
709
  end
708
710
 
709
711
  class TestDynamicExtensions
@@ -763,8 +765,8 @@ module Protobuf_unittest
763
765
  repeated ::Protobuf_unittest::TestParsingMerge::RepeatedGroup, :repeatedgroup, 20
764
766
  # Extension Fields
765
767
  extensions 1000...536870912
766
- optional ::Protobuf_unittest::TestAllTypes, :optional_ext, 1000, :extension => true
767
- repeated ::Protobuf_unittest::TestAllTypes, :repeated_ext, 1001, :extension => true
768
+ optional ::Protobuf_unittest::TestAllTypes, :".protobuf_unittest.TestParsingMerge.optional_ext", 1000, :extension => true
769
+ repeated ::Protobuf_unittest::TestAllTypes, :".protobuf_unittest.TestParsingMerge.repeated_ext", 1001, :extension => true
768
770
  end
769
771
 
770
772
  class TestCommentInjectionMessage
@@ -336,6 +336,13 @@ message TestNestedExtension {
336
336
  }
337
337
  }
338
338
 
339
+ message TestMoreNestedExtension {
340
+ extend TestAllExtensions {
341
+ // Check that duplicate field names in different namespaces work
342
+ optional string test = 1004 [default="a different test"];
343
+ }
344
+ }
345
+
339
346
  // We have separate messages for testing required fields because it's
340
347
  // annoying to have to fill in required fields in TestProto in order to
341
348
  // do anything with it. Note that we don't need to test every type of
@@ -37,7 +37,7 @@ module Test
37
37
  required ::Test::Header::Type, :type, 1
38
38
  # Extension Fields
39
39
  extensions 100...536870912
40
- optional ::Test::PayloadA, :payload, 100, :extension => true
40
+ optional ::Test::PayloadA, :".test.PayloadA.payload", 100, :extension => true
41
41
  end
42
42
 
43
43
  class PayloadA
@@ -67,11 +67,11 @@ module Test
67
67
  repeated ::Test::StatusType, :repeated_enum, 4
68
68
  # Extension Fields
69
69
  extensions 100...536870912
70
- optional :bool, :ext_is_searchable, 100, :extension => true
71
- optional :bool, :ext_is_hidden, 101, :extension => true
72
- optional ::Test::Searchable::SearchType, :ext_search_type, 102, :default => ::Test::Searchable::SearchType::FLAT, :extension => true
73
- optional :bool, :ext_nested_in_level_one, 105, :extension => true
74
- optional :bool, :ext_dup_field, 106, :extension => true
70
+ optional :bool, :".test.Searchable.ext_is_searchable", 100, :extension => true
71
+ optional :bool, :".test.Searchable.ext_is_hidden", 101, :extension => true
72
+ optional ::Test::Searchable::SearchType, :".test.Searchable.ext_search_type", 102, :default => ::Test::Searchable::SearchType::FLAT, :extension => true
73
+ optional :bool, :".test.Nested.NestedLevelOne.ext_nested_in_level_one", 105, :extension => true
74
+ optional :bool, :".test.Nested.NestedLevelOne.ext_dup_field", 106, :extension => true
75
75
  end
76
76
 
77
77
  class ResourceWithRequiredField
@@ -90,8 +90,8 @@ module Test
90
90
  optional :bool, :level_one, 1, :default => true
91
91
  # Extension Fields
92
92
  extensions 100...102
93
- optional :bool, :ext_nested_level_one_outer, 101, :extension => true
94
- optional :bool, :ext_nested_level_one, 100, :extension => true
93
+ optional :bool, :".test.ext_nested_level_one_outer", 101, :extension => true
94
+ optional :bool, :".test.Nested.ext_nested_level_one", 100, :extension => true
95
95
  end
96
96
 
97
97
  optional :string, :name, 1
@@ -100,8 +100,8 @@ module Test
100
100
  optional ::Test::StatusType, :status, 4
101
101
  # Extension Fields
102
102
  extensions 100...111
103
- optional :string, :foo, 100, :extension => true
104
- optional :int64, :bar, 101, :extension => true
103
+ optional :string, :".test.foo", 100, :extension => true
104
+ optional :int64, :".test.bar", 101, :extension => true
105
105
  end
106
106
 
107
107
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: protobuf
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.6.12
4
+ version: 3.7.0.pre0
5
5
  platform: ruby
6
6
  authors:
7
7
  - BJ Neilsen
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2016-08-17 00:00:00.000000000 Z
14
+ date: 2016-03-28 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: activesupport
@@ -356,9 +356,11 @@ files:
356
356
  - spec/lib/protobuf/code_generator_spec.rb
357
357
  - spec/lib/protobuf/enum_spec.rb
358
358
  - spec/lib/protobuf/field/bool_field_spec.rb
359
+ - spec/lib/protobuf/field/enum_field_spec.rb
359
360
  - spec/lib/protobuf/field/field_array_spec.rb
360
361
  - spec/lib/protobuf/field/float_field_spec.rb
361
362
  - spec/lib/protobuf/field/int32_field_spec.rb
363
+ - spec/lib/protobuf/field/message_field_spec.rb
362
364
  - spec/lib/protobuf/field/string_field_spec.rb
363
365
  - spec/lib/protobuf/field_spec.rb
364
366
  - spec/lib/protobuf/generators/base_spec.rb
@@ -430,14 +432,86 @@ required_ruby_version: !ruby/object:Gem::Requirement
430
432
  version: '0'
431
433
  required_rubygems_version: !ruby/object:Gem::Requirement
432
434
  requirements:
433
- - - ">="
435
+ - - ">"
434
436
  - !ruby/object:Gem::Version
435
- version: '0'
437
+ version: 1.3.1
436
438
  requirements: []
437
439
  rubyforge_project:
438
440
  rubygems_version: 2.5.1
439
441
  signing_key:
440
442
  specification_version: 4
441
443
  summary: Google Protocol Buffers serialization and RPC implementation for Ruby.
442
- test_files: []
444
+ test_files:
445
+ - spec/benchmark/tasks.rb
446
+ - spec/bin/protoc-gen-ruby_spec.rb
447
+ - spec/encoding/all_types_spec.rb
448
+ - spec/encoding/extreme_values_spec.rb
449
+ - spec/functional/class_inheritance_spec.rb
450
+ - spec/functional/socket_server_spec.rb
451
+ - spec/functional/zmq_server_spec.rb
452
+ - spec/lib/protobuf/cli_spec.rb
453
+ - spec/lib/protobuf/code_generator_spec.rb
454
+ - spec/lib/protobuf/enum_spec.rb
455
+ - spec/lib/protobuf/field/bool_field_spec.rb
456
+ - spec/lib/protobuf/field/enum_field_spec.rb
457
+ - spec/lib/protobuf/field/field_array_spec.rb
458
+ - spec/lib/protobuf/field/float_field_spec.rb
459
+ - spec/lib/protobuf/field/int32_field_spec.rb
460
+ - spec/lib/protobuf/field/message_field_spec.rb
461
+ - spec/lib/protobuf/field/string_field_spec.rb
462
+ - spec/lib/protobuf/field_spec.rb
463
+ - spec/lib/protobuf/generators/base_spec.rb
464
+ - spec/lib/protobuf/generators/enum_generator_spec.rb
465
+ - spec/lib/protobuf/generators/extension_generator_spec.rb
466
+ - spec/lib/protobuf/generators/field_generator_spec.rb
467
+ - spec/lib/protobuf/generators/file_generator_spec.rb
468
+ - spec/lib/protobuf/generators/message_generator_spec.rb
469
+ - spec/lib/protobuf/generators/service_generator_spec.rb
470
+ - spec/lib/protobuf/lifecycle_spec.rb
471
+ - spec/lib/protobuf/message_spec.rb
472
+ - spec/lib/protobuf/optionable_spec.rb
473
+ - spec/lib/protobuf/rpc/client_spec.rb
474
+ - spec/lib/protobuf/rpc/connector_spec.rb
475
+ - spec/lib/protobuf/rpc/connectors/base_spec.rb
476
+ - spec/lib/protobuf/rpc/connectors/common_spec.rb
477
+ - spec/lib/protobuf/rpc/connectors/ping_spec.rb
478
+ - spec/lib/protobuf/rpc/connectors/socket_spec.rb
479
+ - spec/lib/protobuf/rpc/connectors/zmq_spec.rb
480
+ - spec/lib/protobuf/rpc/middleware/exception_handler_spec.rb
481
+ - spec/lib/protobuf/rpc/middleware/logger_spec.rb
482
+ - spec/lib/protobuf/rpc/middleware/request_decoder_spec.rb
483
+ - spec/lib/protobuf/rpc/middleware/response_encoder_spec.rb
484
+ - spec/lib/protobuf/rpc/servers/socket_server_spec.rb
485
+ - spec/lib/protobuf/rpc/servers/zmq/server_spec.rb
486
+ - spec/lib/protobuf/rpc/servers/zmq/util_spec.rb
487
+ - spec/lib/protobuf/rpc/servers/zmq/worker_spec.rb
488
+ - spec/lib/protobuf/rpc/service_directory_spec.rb
489
+ - spec/lib/protobuf/rpc/service_dispatcher_spec.rb
490
+ - spec/lib/protobuf/rpc/service_filters_spec.rb
491
+ - spec/lib/protobuf/rpc/service_spec.rb
492
+ - spec/lib/protobuf/rpc/stat_spec.rb
493
+ - spec/lib/protobuf/varint_spec.rb
494
+ - spec/lib/protobuf_spec.rb
495
+ - spec/spec_helper.rb
496
+ - spec/support/all.rb
497
+ - spec/support/packed_field.rb
498
+ - spec/support/protos/all_types.data.bin
499
+ - spec/support/protos/all_types.data.txt
500
+ - spec/support/protos/enum.pb.rb
501
+ - spec/support/protos/enum.proto
502
+ - spec/support/protos/extreme_values.data.bin
503
+ - spec/support/protos/google_unittest.bin
504
+ - spec/support/protos/google_unittest.pb.rb
505
+ - spec/support/protos/google_unittest.proto
506
+ - spec/support/protos/google_unittest_import.pb.rb
507
+ - spec/support/protos/google_unittest_import.proto
508
+ - spec/support/protos/google_unittest_import_public.pb.rb
509
+ - spec/support/protos/google_unittest_import_public.proto
510
+ - spec/support/protos/multi_field_extensions.pb.rb
511
+ - spec/support/protos/multi_field_extensions.proto
512
+ - spec/support/protos/resource.pb.rb
513
+ - spec/support/protos/resource.proto
514
+ - spec/support/resource_service.rb
515
+ - spec/support/server.rb
516
+ - spec/support/test_app_file.rb
443
517
  has_rdoc: