protobuf_descriptor 1.1.1 → 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 84506d4a039abe77dd0602841817b98a33e82799
4
- data.tar.gz: 120b9733dd88ddd0942f5f6b3a4731b6815fd32b
3
+ metadata.gz: 296e97d511914707ccd3932e5e8f3ce864a16598
4
+ data.tar.gz: fe8ac8d0b3fa63bf7c0c9ae29df5e994d72b26b1
5
5
  SHA512:
6
- metadata.gz: 8896840dcba7e62ce80d2b4d8ef8ee891523276010abdf59104a2ba2b6ecc6780f8400d7e74873eaf8bb961ceaf443aa338b52b698c6bb4f3a6f9b7fe9dce29f
7
- data.tar.gz: a90f11cc8456b52a9648601b2f2223ccfbc430ac52ef27893fc35286c8a7ab9dee8e3a48e701ff43dab0dd9e21f2766c12733f8556ad9524a40733d4d4108672
6
+ metadata.gz: 7a108af8813ec46c9c3250f4b9560e2bdeaef60c1677063a31b0b6b8a754cbe51e4bedce95bbcc819b076235a387aa6a886e95727f00858c6cede61b9b4db8e2
7
+ data.tar.gz: fa06805728c1c523a986e440e1761ce8f5f007fad4406c3e751c2719d0b480a428e89831e810c77cd786b57087512eff648a8ffb412b8bb59f20bf44465845f2
@@ -1,3 +1,8 @@
1
+ === 1.1.2 / 2014-05-15
2
+
3
+ * Fix bug handling named types contained within package-less protocol buffer files.
4
+ * Stop bundling quite so many test files.
5
+
1
6
  === 1.1.1 / 2014-05-14
2
7
 
3
8
  Change gem dependencies, removing rubyzip as a runtime dep.
data/Rakefile CHANGED
@@ -116,8 +116,17 @@ task :compile_spec_protos do
116
116
  (Dir[File.join(dir, "**", "**")] + Dir[File.join(dir, "**")]).uniq.each do |file|
117
117
  next if File.directory?(file)
118
118
  relative_path = Pathname.new(file).relative_path_from(dirpath)
119
- zipfile.add(relative_path, file)
119
+
120
120
  puts "#{dest} <- #{relative_path}" if VERBOSE
121
+
122
+ entry = zipfile.add(relative_path, file)
123
+
124
+ # This is kind of icky, but we clear the timestamp to prevent the zip
125
+ # files from changing all the time.
126
+ entry.time = ::Zip::DOSTime.at(0)
127
+ if entry.extra.member?("UniversalTime")
128
+ entry.extra.delete("UniversalTime")
129
+ end
121
130
  end
122
131
  end
123
132
  end
@@ -110,7 +110,10 @@ class ProtobufDescriptor
110
110
 
111
111
  # Returns the fully qualified Java class name.
112
112
  def fully_qualified_java_name
113
- return [java_package, java_outer_classname].compact.join('.')
113
+ return [
114
+ present?(java_package) ? java_package : nil,
115
+ present?(java_outer_classname) ? java_outer_classname : nil
116
+ ].compact.join('.')
114
117
  end
115
118
 
116
119
  # Returns the fully qualified Java name as Wire would generate it. Wire
@@ -5,19 +5,31 @@ class ProtobufDescriptor
5
5
  # Classes including this module *must* respond_to `name` and `parent`
6
6
  module NamedChild
7
7
  def fully_qualified_name
8
- return "#{parent.fully_qualified_name}.#{self.name}"
8
+ parent_name = parent.fully_qualified_name
9
+
10
+ return ".#{self.name}" if parent_name == "."
11
+ return "#{parent_name}.#{self.name}"
9
12
  end
10
13
 
11
14
  def fully_qualified_java_name
12
- return "#{parent.fully_qualified_java_name}.#{self.name}"
15
+ parent_name = parent.fully_qualified_java_name
16
+
17
+ return "#{self.name}" if parent_name == ""
18
+ return "#{parent_name}.#{self.name}"
13
19
  end
14
20
 
15
21
  def fully_qualified_wire_name
16
- return "#{parent.fully_qualified_wire_name}.#{self.name}"
22
+ parent_name = parent.fully_qualified_wire_name
23
+
24
+ return "#{self.name}" if parent_name == ""
25
+ return "#{parent_name}.#{self.name}"
17
26
  end
18
27
 
19
28
  def fully_qualified_ruby_name
20
- return "#{parent.fully_qualified_ruby_name}::#{self.name}"
29
+ parent_name = parent.fully_qualified_ruby_name
30
+
31
+ return "::#{self.name}" if parent_name == "::"
32
+ return "#{parent_name}::#{self.name}"
21
33
  end
22
34
 
23
35
  def inspect
@@ -1,4 +1,4 @@
1
1
  class ProtobufDescriptor
2
2
  # protobuf_descriptor version
3
- VERSION = "1.1.1"
3
+ VERSION = "1.1.2"
4
4
  end
@@ -12,7 +12,7 @@ Gem::Specification.new do |gem|
12
12
  gem.email = "hfwang@porkbuns.net"
13
13
  gem.homepage = "https://github.com/hfwang/protobuf_descriptor"
14
14
 
15
- gem.files = `git ls-files`.split($/)
15
+ gem.files = `git ls-files`.split($/).reject { |path| /spec\/.+\.(zip|desc)$/.match(path) }
16
16
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
18
  gem.require_paths = ['lib']
@@ -8,6 +8,11 @@ describe ProtobufDescriptor::MessageDescriptor do
8
8
  end
9
9
  end
10
10
 
11
+ it "handles package-less proto files" do
12
+ message_type = load_descriptor("generator_test")[:no_package].messages[:Mab]
13
+ expect(message_type.fully_qualified_name).to eq(".Mab")
14
+ end
15
+
11
16
  it "handles nested messages" do
12
17
  with_descriptor("service_rpc_test") do |descriptor|
13
18
  expect(descriptor[:wearabouts_pb].message_types[:UserProto].nested_type[:UserDetails].fully_qualified_name).to eq(".WearaboutsPb.UserProto.UserDetails")
@@ -36,6 +36,11 @@ describe ProtobufDescriptor do
36
36
  expect(descriptor.resolve_type_name("UnnestedEnum", ".porkbuns.FieldOptions.CType")).to eq(descriptor[:single_file].enums[:UnnestedEnum])
37
37
  end
38
38
  end
39
+
40
+ it "should handle fully qualified names for package-less proto files" do
41
+ descriptor = load_descriptor("generator_test")
42
+ expect(descriptor.resolve_type_name(".Mab")).to eq(descriptor[:no_package].messages[:Mab])
43
+ end
39
44
  end
40
45
 
41
46
  describe "Deserialization" do
@@ -0,0 +1,3 @@
1
+ message Mab {
2
+ optional int32 field = 1;
3
+ }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: protobuf_descriptor
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hsiu-Fan Wang
@@ -14,104 +14,104 @@ dependencies:
14
14
  name: protobuf
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
19
  version: '3.0'
20
- - - ">="
20
+ - - '>='
21
21
  - !ruby/object:Gem::Version
22
22
  version: 3.0.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - "~>"
27
+ - - ~>
28
28
  - !ruby/object:Gem::Version
29
29
  version: '3.0'
30
- - - ">="
30
+ - - '>='
31
31
  - !ruby/object:Gem::Version
32
32
  version: 3.0.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: pry
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - "~>"
37
+ - - ~>
38
38
  - !ruby/object:Gem::Version
39
39
  version: 0.9.12.6
40
40
  type: :development
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - "~>"
44
+ - - ~>
45
45
  - !ruby/object:Gem::Version
46
46
  version: 0.9.12.6
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rake
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - "~>"
51
+ - - ~>
52
52
  - !ruby/object:Gem::Version
53
53
  version: '10.3'
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - "~>"
58
+ - - ~>
59
59
  - !ruby/object:Gem::Version
60
60
  version: '10.3'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: rspec
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - "~>"
65
+ - - ~>
66
66
  - !ruby/object:Gem::Version
67
67
  version: 3.0.0.beta2
68
68
  type: :development
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
- - - "~>"
72
+ - - ~>
73
73
  - !ruby/object:Gem::Version
74
74
  version: 3.0.0.beta2
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: rubygems-tasks
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
- - - "~>"
79
+ - - ~>
80
80
  - !ruby/object:Gem::Version
81
81
  version: '0.2'
82
82
  type: :development
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
- - - "~>"
86
+ - - ~>
87
87
  - !ruby/object:Gem::Version
88
88
  version: '0.2'
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: rubyzip
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
- - - "~>"
93
+ - - ~>
94
94
  - !ruby/object:Gem::Version
95
95
  version: '1.1'
96
96
  type: :development
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
- - - "~>"
100
+ - - ~>
101
101
  - !ruby/object:Gem::Version
102
102
  version: '1.1'
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: yard
105
105
  requirement: !ruby/object:Gem::Requirement
106
106
  requirements:
107
- - - "~>"
107
+ - - ~>
108
108
  - !ruby/object:Gem::Version
109
109
  version: '0.8'
110
110
  type: :development
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
- - - "~>"
114
+ - - ~>
115
115
  - !ruby/object:Gem::Version
116
116
  version: '0.8'
117
117
  description: Wraps the protobuf FileDescriptorSet messages with happy features like
@@ -121,11 +121,11 @@ executables: []
121
121
  extensions: []
122
122
  extra_rdoc_files: []
123
123
  files:
124
- - ".document"
125
- - ".gitignore"
126
- - ".rspec"
127
- - ".travis.yml"
128
- - ".yardopts"
124
+ - .document
125
+ - .gitignore
126
+ - .rspec
127
+ - .travis.yml
128
+ - .yardopts
129
129
  - ChangeLog.rdoc
130
130
  - Gemfile
131
131
  - LICENSE.txt
@@ -152,33 +152,18 @@ files:
152
152
  - spec/method_descriptor_spec.rb
153
153
  - spec/protobuf_descriptor_spec.rb
154
154
  - spec/protoc_generator_spec.rb
155
- - spec/protos/custom_options.desc
156
- - spec/protos/custom_options.java.zip
157
- - spec/protos/custom_options.wire.zip
158
155
  - spec/protos/custom_options/custom_options.proto
159
156
  - spec/protos/custom_options/google/protobuf/descriptor.proto
160
- - spec/protos/generator_test.desc
161
- - spec/protos/generator_test.java.zip
162
- - spec/protos/generator_test.wire.zip
163
157
  - spec/protos/generator_test/aaa.proto
164
158
  - spec/protos/generator_test/foo/aab.proto
165
159
  - spec/protos/generator_test/java_package.proto
160
+ - spec/protos/generator_test/no_package.proto
166
161
  - spec/protos/generator_test/outer_class_name.proto
167
- - spec/protos/service_rpc_test.desc
168
- - spec/protos/service_rpc_test.java.zip
169
- - spec/protos/service_rpc_test.wire.zip
170
162
  - spec/protos/service_rpc_test/wearabouts_api/multiple_files.proto
171
163
  - spec/protos/service_rpc_test/wearabouts_api/outer_class_proto.proto
172
164
  - spec/protos/service_rpc_test/wearabouts_api/user.proto
173
165
  - spec/protos/service_rpc_test/wearabouts_pb.proto
174
- - spec/protos/single_file_test.desc
175
- - spec/protos/single_file_test.java.zip
176
- - spec/protos/single_file_test.wire.zip
177
166
  - spec/protos/single_file_test/single_file.proto
178
- - spec/protos/source_info.desc
179
- - spec/protos/source_info.java.zip
180
- - spec/protos/source_info.srcinfo.desc
181
- - spec/protos/source_info.wire.zip
182
167
  - spec/protos/source_info/foo.proto
183
168
  - spec/service_descriptor_spec.rb
184
169
  - spec/source_code_info_spec.rb
@@ -194,17 +179,17 @@ require_paths:
194
179
  - lib
195
180
  required_ruby_version: !ruby/object:Gem::Requirement
196
181
  requirements:
197
- - - ">="
182
+ - - '>='
198
183
  - !ruby/object:Gem::Version
199
184
  version: '0'
200
185
  required_rubygems_version: !ruby/object:Gem::Requirement
201
186
  requirements:
202
- - - ">="
187
+ - - '>='
203
188
  - !ruby/object:Gem::Version
204
189
  version: '0'
205
190
  requirements: []
206
191
  rubyforge_project:
207
- rubygems_version: 2.2.1
192
+ rubygems_version: 2.0.6
208
193
  signing_key:
209
194
  specification_version: 4
210
195
  summary: Protocol Buffer file descriptor parser
@@ -216,33 +201,18 @@ test_files:
216
201
  - spec/method_descriptor_spec.rb
217
202
  - spec/protobuf_descriptor_spec.rb
218
203
  - spec/protoc_generator_spec.rb
219
- - spec/protos/custom_options.desc
220
- - spec/protos/custom_options.java.zip
221
- - spec/protos/custom_options.wire.zip
222
204
  - spec/protos/custom_options/custom_options.proto
223
205
  - spec/protos/custom_options/google/protobuf/descriptor.proto
224
- - spec/protos/generator_test.desc
225
- - spec/protos/generator_test.java.zip
226
- - spec/protos/generator_test.wire.zip
227
206
  - spec/protos/generator_test/aaa.proto
228
207
  - spec/protos/generator_test/foo/aab.proto
229
208
  - spec/protos/generator_test/java_package.proto
209
+ - spec/protos/generator_test/no_package.proto
230
210
  - spec/protos/generator_test/outer_class_name.proto
231
- - spec/protos/service_rpc_test.desc
232
- - spec/protos/service_rpc_test.java.zip
233
- - spec/protos/service_rpc_test.wire.zip
234
211
  - spec/protos/service_rpc_test/wearabouts_api/multiple_files.proto
235
212
  - spec/protos/service_rpc_test/wearabouts_api/outer_class_proto.proto
236
213
  - spec/protos/service_rpc_test/wearabouts_api/user.proto
237
214
  - spec/protos/service_rpc_test/wearabouts_pb.proto
238
- - spec/protos/single_file_test.desc
239
- - spec/protos/single_file_test.java.zip
240
- - spec/protos/single_file_test.wire.zip
241
215
  - spec/protos/single_file_test/single_file.proto
242
- - spec/protos/source_info.desc
243
- - spec/protos/source_info.java.zip
244
- - spec/protos/source_info.srcinfo.desc
245
- - spec/protos/source_info.wire.zip
246
216
  - spec/protos/source_info/foo.proto
247
217
  - spec/service_descriptor_spec.rb
248
218
  - spec/source_code_info_spec.rb
@@ -1,24 +0,0 @@
1
-
2
- g
3
- aaa.protoaaa"E
4
- Maa&
5
-
6
- maa_nested ( 2.aaa.Maa.MaaNested
7
- MaaNested
8
- i (*
9
- Eaa
10
- FOO
11
- +
12
-
13
- aa_package*
14
- Eab
15
- FOO
16
- G
17
- java_package.protoaaa*
18
- Ead
19
- EADB
20
- net.porkbuns.customPackage
21
- F
22
- outer_class_name.protoaaa*
23
- Eac
24
- FOO2BBCustomOuterClassName
@@ -1,71 +0,0 @@
1
-
2
- �
3
- #wearabouts_api/multiple_files.protoWearaboutsApi.MultipleFiles"
4
- Icon
5
-
6
- id (*
7
- IconEnum
8
- FOOB$
9
- us.wearabouts.chatabout.multipleP
10
- �
11
- &wearabouts_api/outer_class_proto.protoWearaboutsApi.OuterClassProto"
12
- Icon
13
-
14
- id (*
15
- IconEnum
16
- FOOB/
17
- us.wearabouts.chatabout.outerBOuterClassName
18
- �
19
- wearabouts_api/user.protoWearaboutsApi.Userwearabouts_pb.proto"T
20
- AuthenticateRequest
21
- email ( 
22
- phone ( 
23
- device_id ( 
24
- name ( "�
25
- AuthenticateResponse%
26
- user ( 2.WearaboutsPb.UserProto2
27
- device_link ( 2.WearaboutsPb.DeviceLinkProto
28
-
29
- auth_token ( "
30
- MeRequest"g
31
-
32
- MeResponse%
33
- user ( 2.WearaboutsPb.UserProto2
34
- device_link ( 2.WearaboutsPb.DeviceLinkProto"!
35
- UpdateNameRequest
36
- name ( ";
37
- UpdateNameResponse%
38
- user ( 2.WearaboutsPb.UserProto2�
39
- UserServicea
40
- Authenticate'.WearaboutsApi.User.AuthenticateRequest(.WearaboutsApi.User.AuthenticateResponseC
41
- Me.WearaboutsApi.User.MeRequest.WearaboutsApi.User.MeResponse[
42
-
43
- UpdateName%.WearaboutsApi.User.UpdateNameRequest&.WearaboutsApi.User.UpdateNameResponseB$
44
- "us.wearabouts.chatabout.proto.user
45
- �
46
- wearabouts_pb.proto WearaboutsPb"�
47
- UserProto
48
-
49
- id ( 9
50
- user_details ( 2#.WearaboutsPb.UserProto.UserDetails9
51
- UserDetails
52
- email ( 
53
- phone ( 
54
- name ( "N
55
- ConversationProto
56
-
57
- id ( -
58
- participants ( 2.WearaboutsPb.UserProto"�
59
- PostProto
60
-
61
- id ( *
62
- kind (2.WearaboutsPb.PostProto.Kind
63
- textd ( 
64
- audio_url� ( "
65
- Kind
66
- TEXT
67
- AUDIO"6
68
- DeviceLinkProto
69
- device_id ( 
70
- verified (B
71
- us.wearabouts.chatabout.proto
@@ -1,22 +0,0 @@
1
-
2
- �
3
- foo.protofoo"�
4
- Bar
5
- foo (
6
- bar (
7
- baz ( 
8
- qux (
9
- corge ( 
10
- grault (b
11
- NestedBar0
12
- foo (2#.foo.Bar.NestedBar.NestedNestedEnum"#
13
- NestedNestedEnum
14
- VALUE_THREE"
15
-
16
- NestedEnum
17
- VALUE_TWO*
18
- BaseEnum
19
- VALUE_ONE2'
20
-
21
- FooService
22
- Baz.foo.Bar.foo.Bar