protobuf 3.6.12 → 3.7.0.pre0

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