ruby_protobuf 0.3.2 → 0.3.3

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 (39) hide show
  1. data/History.txt +7 -2
  2. data/Manifest.txt +74 -0
  3. data/README.txt +1 -1
  4. data/Rakefile +5 -5
  5. data/bin/rprotoc +25 -10
  6. data/{test/proto → examples}/addressbook.pb.rb +1 -14
  7. data/examples/addressbook.proto +24 -0
  8. data/examples/reading_a_message.rb +32 -0
  9. data/examples/writing_a_message.rb +46 -0
  10. data/lib/protobuf/compiler/compiler.rb +9 -11
  11. data/lib/protobuf/compiler/nodes.rb +15 -7
  12. data/lib/protobuf/compiler/proto.y +56 -36
  13. data/lib/protobuf/compiler/proto_parser.rb +373 -236
  14. data/lib/protobuf/compiler/visitors.rb +5 -1
  15. data/lib/protobuf/descriptor/enum_descriptor.rb +1 -1
  16. data/lib/protobuf/message/decoder.rb +12 -19
  17. data/lib/protobuf/message/encoder.rb +5 -2
  18. data/lib/protobuf/message/enum.rb +1 -1
  19. data/lib/protobuf/message/field.rb +302 -298
  20. data/lib/protobuf/message/message.rb +63 -35
  21. data/lib/ruby_protobuf.rb +1 -1
  22. data/{bin → script}/mk_parser +0 -0
  23. data/test/merge.rb +1 -1
  24. data/test/proto/types.proto +20 -0
  25. data/test/test_addressbook.rb +1 -0
  26. data/test/test_compiler.rb +21 -7
  27. data/test/test_message.rb +19 -0
  28. data/test/test_optional_field.rb +80 -0
  29. data/test/test_repeated_types.rb +106 -0
  30. data/test/test_serialize.rb +34 -0
  31. data/test/test_standard_message.rb +10 -0
  32. data/test/test_types.rb +49 -4
  33. data/test/types.rb +23 -2
  34. metadata +22 -20
  35. data/lib/protobuf/compiler/compiler_old.rb +0 -123
  36. data/test/proto/addressbook.rb +0 -69
  37. data/test/proto/bool_default.pb.rb +0 -16
  38. data/test/proto/bool_default.proto +0 -3
  39. data/test/proto/float_default.proto +0 -2
@@ -1,69 +0,0 @@
1
- ### Generated by rprotoc. DO NOT EDIT!
2
- ### <proto file: test/proto/addressbook.proto>
3
- # package tutorial;
4
- #
5
- # message Person {
6
- # required string name = 1;
7
- # required int32 id = 2;
8
- # optional string email = 3;
9
- #
10
- # enum PhoneType {
11
- # MOBILE = 0;
12
- # HOME = 1;
13
- # WORK = 2;
14
- # }
15
- #
16
- # message PhoneNumber {
17
- # required string number = 1;
18
- # optional PhoneType type = 2 [default = HOME];
19
- # }
20
- #
21
- # repeated PhoneNumber phone = 4;
22
- # optional uint32 age = 5 [default = 20];
23
- #
24
- # extensions 100 to 200;
25
- # }
26
- #
27
- # extend Person {
28
- # optional int32 age = 100;
29
- # }
30
- #
31
- # message AddressBook {
32
- # repeated Person person = 1;
33
- # }
34
-
35
- require 'protobuf/message/message'
36
- require 'protobuf/message/enum'
37
- require 'protobuf/message/service'
38
- require 'protobuf/message/extend'
39
-
40
- module Tutorial
41
- class Person < ::Protobuf::Message
42
- defined_in __FILE__
43
- required :string, :name, 1
44
- required :int32, :id, 2
45
- optional :string, :email, 3
46
- class PhoneType < ::Protobuf::Enum
47
- defined_in __FILE__
48
- MOBILE = 0
49
- HOME = 1
50
- WORK = 2
51
- end
52
- class PhoneNumber < ::Protobuf::Message
53
- defined_in __FILE__
54
- required :string, :number, 1
55
- optional :PhoneType, :type, 2, :default => :HOME
56
- end
57
- repeated :PhoneNumber, :phone, 4
58
- optional :uint32, :age, 5, :default => 20
59
- extensions 100..200
60
- end
61
- class Person < ::Protobuf::Message
62
- defined_in __FILE__
63
- optional :int32, :age, 100, :extension => true
64
- end
65
- class AddressBook < ::Protobuf::Message
66
- defined_in __FILE__
67
- repeated :Person, :person, 1
68
- end
69
- end
@@ -1,16 +0,0 @@
1
- ### Generated by rprotoc. DO NOT EDIT!
2
- ### <proto file: test/proto/bool_default.proto>
3
- # message BoolDefault {
4
- # required bool enabled = 1 [default = true];
5
- # }
6
-
7
- require 'protobuf/message/message'
8
- require 'protobuf/message/enum'
9
- require 'protobuf/message/service'
10
- require 'protobuf/message/extend'
11
-
12
- class BoolDefault < ::Protobuf::Message
13
- defined_in __FILE__
14
- #required :bool, :enabled, 1, :default => true
15
- optional :bool, :enabled, 1, :default => true
16
- end
@@ -1,3 +0,0 @@
1
- message BoolDefault {
2
- required bool enabled = 1 [default = true];
3
- }
@@ -1,2 +0,0 @@
1
- message M { optional float f = 1 [default = 4.2]; }
2
-