protobuf_descriptor 1.1.1 → 1.1.2

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.
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