google-protobuf 3.6.1-universal-darwin → 3.7.0.rc.2-universal-darwin

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of google-protobuf might be problematic. Click here for more details.

@@ -33,7 +33,7 @@
33
33
  // On x86-64 Linux with glibc, we link against the 2.2.5 version of memcpy so
34
34
  // that we avoid depending on the 2.14 version of the symbol. This way,
35
35
  // distributions that are using pre-2.14 versions of glibc can successfully use
36
- // the gem we distribute (https://github.com/google/protobuf/issues/2783).
36
+ // the gem we distribute (https://github.com/protocolbuffers/protobuf/issues/2783).
37
37
  //
38
38
  // This wrapper is enabled by passing the linker flags -Wl,-wrap,memcpy in
39
39
  // extconf.rb.
@@ -37,6 +37,7 @@ module Google
37
37
  module Protobuf
38
38
  class Error < StandardError; end
39
39
  class ParseError < Error; end
40
+ class TypeError < ::TypeError; end
40
41
  end
41
42
  end
42
43
 
@@ -68,8 +69,8 @@ module Google
68
69
  klass.decode(proto)
69
70
  end
70
71
 
71
- def self.decode_json(klass, json)
72
- klass.decode_json(json)
72
+ def self.decode_json(klass, json, options = {})
73
+ klass.decode_json(json, options)
73
74
  end
74
75
 
75
76
  end
@@ -4,9 +4,11 @@
4
4
  require 'google/protobuf'
5
5
 
6
6
  Google::Protobuf::DescriptorPool.generated_pool.build do
7
- add_message "google.protobuf.Any" do
8
- optional :type_url, :string, 1
9
- optional :value, :bytes, 2
7
+ add_file("google/protobuf/any.proto", :syntax => :proto3) do
8
+ add_message "google.protobuf.Any" do
9
+ optional :type_url, :string, 1
10
+ optional :value, :bytes, 2
11
+ end
10
12
  end
11
13
  end
12
14
 
@@ -6,27 +6,29 @@ require 'google/protobuf'
6
6
  require 'google/protobuf/source_context_pb'
7
7
  require 'google/protobuf/type_pb'
8
8
  Google::Protobuf::DescriptorPool.generated_pool.build do
9
- add_message "google.protobuf.Api" do
10
- optional :name, :string, 1
11
- repeated :methods, :message, 2, "google.protobuf.Method"
12
- repeated :options, :message, 3, "google.protobuf.Option"
13
- optional :version, :string, 4
14
- optional :source_context, :message, 5, "google.protobuf.SourceContext"
15
- repeated :mixins, :message, 6, "google.protobuf.Mixin"
16
- optional :syntax, :enum, 7, "google.protobuf.Syntax"
17
- end
18
- add_message "google.protobuf.Method" do
19
- optional :name, :string, 1
20
- optional :request_type_url, :string, 2
21
- optional :request_streaming, :bool, 3
22
- optional :response_type_url, :string, 4
23
- optional :response_streaming, :bool, 5
24
- repeated :options, :message, 6, "google.protobuf.Option"
25
- optional :syntax, :enum, 7, "google.protobuf.Syntax"
26
- end
27
- add_message "google.protobuf.Mixin" do
28
- optional :name, :string, 1
29
- optional :root, :string, 2
9
+ add_file("google/protobuf/api.proto", :syntax => :proto3) do
10
+ add_message "google.protobuf.Api" do
11
+ optional :name, :string, 1
12
+ repeated :methods, :message, 2, "google.protobuf.Method"
13
+ repeated :options, :message, 3, "google.protobuf.Option"
14
+ optional :version, :string, 4
15
+ optional :source_context, :message, 5, "google.protobuf.SourceContext"
16
+ repeated :mixins, :message, 6, "google.protobuf.Mixin"
17
+ optional :syntax, :enum, 7, "google.protobuf.Syntax"
18
+ end
19
+ add_message "google.protobuf.Method" do
20
+ optional :name, :string, 1
21
+ optional :request_type_url, :string, 2
22
+ optional :request_streaming, :bool, 3
23
+ optional :response_type_url, :string, 4
24
+ optional :response_streaming, :bool, 5
25
+ repeated :options, :message, 6, "google.protobuf.Option"
26
+ optional :syntax, :enum, 7, "google.protobuf.Syntax"
27
+ end
28
+ add_message "google.protobuf.Mixin" do
29
+ optional :name, :string, 1
30
+ optional :root, :string, 2
31
+ end
30
32
  end
31
33
  end
32
34
 
@@ -4,9 +4,11 @@
4
4
  require 'google/protobuf'
5
5
 
6
6
  Google::Protobuf::DescriptorPool.generated_pool.build do
7
- add_message "google.protobuf.Duration" do
8
- optional :seconds, :int64, 1
9
- optional :nanos, :int32, 2
7
+ add_file("google/protobuf/duration.proto", :syntax => :proto3) do
8
+ add_message "google.protobuf.Duration" do
9
+ optional :seconds, :int64, 1
10
+ optional :nanos, :int32, 2
11
+ end
10
12
  end
11
13
  end
12
14
 
@@ -4,7 +4,9 @@
4
4
  require 'google/protobuf'
5
5
 
6
6
  Google::Protobuf::DescriptorPool.generated_pool.build do
7
- add_message "google.protobuf.Empty" do
7
+ add_file("google/protobuf/empty.proto", :syntax => :proto3) do
8
+ add_message "google.protobuf.Empty" do
9
+ end
8
10
  end
9
11
  end
10
12
 
@@ -4,8 +4,10 @@
4
4
  require 'google/protobuf'
5
5
 
6
6
  Google::Protobuf::DescriptorPool.generated_pool.build do
7
- add_message "google.protobuf.FieldMask" do
8
- repeated :paths, :string, 1
7
+ add_file("google/protobuf/field_mask.proto", :syntax => :proto3) do
8
+ add_message "google.protobuf.FieldMask" do
9
+ repeated :paths, :string, 1
10
+ end
9
11
  end
10
12
  end
11
13
 
@@ -79,7 +79,7 @@ module Google
79
79
 
80
80
 
81
81
  def first(n=nil)
82
- n ? self[0..n] : self[0]
82
+ n ? self[0...n] : self[0]
83
83
  end
84
84
 
85
85
 
@@ -4,8 +4,10 @@
4
4
  require 'google/protobuf'
5
5
 
6
6
  Google::Protobuf::DescriptorPool.generated_pool.build do
7
- add_message "google.protobuf.SourceContext" do
8
- optional :file_name, :string, 1
7
+ add_file("google/protobuf/source_context.proto", :syntax => :proto3) do
8
+ add_message "google.protobuf.SourceContext" do
9
+ optional :file_name, :string, 1
10
+ end
9
11
  end
10
12
  end
11
13
 
@@ -4,24 +4,26 @@
4
4
  require 'google/protobuf'
5
5
 
6
6
  Google::Protobuf::DescriptorPool.generated_pool.build do
7
- add_message "google.protobuf.Struct" do
8
- map :fields, :string, :message, 1, "google.protobuf.Value"
9
- end
10
- add_message "google.protobuf.Value" do
11
- oneof :kind do
12
- optional :null_value, :enum, 1, "google.protobuf.NullValue"
13
- optional :number_value, :double, 2
14
- optional :string_value, :string, 3
15
- optional :bool_value, :bool, 4
16
- optional :struct_value, :message, 5, "google.protobuf.Struct"
17
- optional :list_value, :message, 6, "google.protobuf.ListValue"
7
+ add_file("google/protobuf/struct.proto", :syntax => :proto3) do
8
+ add_message "google.protobuf.Struct" do
9
+ map :fields, :string, :message, 1, "google.protobuf.Value"
10
+ end
11
+ add_message "google.protobuf.Value" do
12
+ oneof :kind do
13
+ optional :null_value, :enum, 1, "google.protobuf.NullValue"
14
+ optional :number_value, :double, 2
15
+ optional :string_value, :string, 3
16
+ optional :bool_value, :bool, 4
17
+ optional :struct_value, :message, 5, "google.protobuf.Struct"
18
+ optional :list_value, :message, 6, "google.protobuf.ListValue"
19
+ end
20
+ end
21
+ add_message "google.protobuf.ListValue" do
22
+ repeated :values, :message, 1, "google.protobuf.Value"
23
+ end
24
+ add_enum "google.protobuf.NullValue" do
25
+ value :NULL_VALUE, 0
18
26
  end
19
- end
20
- add_message "google.protobuf.ListValue" do
21
- repeated :values, :message, 1, "google.protobuf.Value"
22
- end
23
- add_enum "google.protobuf.NullValue" do
24
- value :NULL_VALUE, 0
25
27
  end
26
28
  end
27
29
 
@@ -4,9 +4,11 @@
4
4
  require 'google/protobuf'
5
5
 
6
6
  Google::Protobuf::DescriptorPool.generated_pool.build do
7
- add_message "google.protobuf.Timestamp" do
8
- optional :seconds, :int64, 1
9
- optional :nanos, :int32, 2
7
+ add_file("google/protobuf/timestamp.proto", :syntax => :proto3) do
8
+ add_message "google.protobuf.Timestamp" do
9
+ optional :seconds, :int64, 1
10
+ optional :nanos, :int32, 2
11
+ end
10
12
  end
11
13
  end
12
14
 
@@ -6,72 +6,74 @@ require 'google/protobuf'
6
6
  require 'google/protobuf/any_pb'
7
7
  require 'google/protobuf/source_context_pb'
8
8
  Google::Protobuf::DescriptorPool.generated_pool.build do
9
- add_message "google.protobuf.Type" do
10
- optional :name, :string, 1
11
- repeated :fields, :message, 2, "google.protobuf.Field"
12
- repeated :oneofs, :string, 3
13
- repeated :options, :message, 4, "google.protobuf.Option"
14
- optional :source_context, :message, 5, "google.protobuf.SourceContext"
15
- optional :syntax, :enum, 6, "google.protobuf.Syntax"
16
- end
17
- add_message "google.protobuf.Field" do
18
- optional :kind, :enum, 1, "google.protobuf.Field.Kind"
19
- optional :cardinality, :enum, 2, "google.protobuf.Field.Cardinality"
20
- optional :number, :int32, 3
21
- optional :name, :string, 4
22
- optional :type_url, :string, 6
23
- optional :oneof_index, :int32, 7
24
- optional :packed, :bool, 8
25
- repeated :options, :message, 9, "google.protobuf.Option"
26
- optional :json_name, :string, 10
27
- optional :default_value, :string, 11
28
- end
29
- add_enum "google.protobuf.Field.Kind" do
30
- value :TYPE_UNKNOWN, 0
31
- value :TYPE_DOUBLE, 1
32
- value :TYPE_FLOAT, 2
33
- value :TYPE_INT64, 3
34
- value :TYPE_UINT64, 4
35
- value :TYPE_INT32, 5
36
- value :TYPE_FIXED64, 6
37
- value :TYPE_FIXED32, 7
38
- value :TYPE_BOOL, 8
39
- value :TYPE_STRING, 9
40
- value :TYPE_GROUP, 10
41
- value :TYPE_MESSAGE, 11
42
- value :TYPE_BYTES, 12
43
- value :TYPE_UINT32, 13
44
- value :TYPE_ENUM, 14
45
- value :TYPE_SFIXED32, 15
46
- value :TYPE_SFIXED64, 16
47
- value :TYPE_SINT32, 17
48
- value :TYPE_SINT64, 18
49
- end
50
- add_enum "google.protobuf.Field.Cardinality" do
51
- value :CARDINALITY_UNKNOWN, 0
52
- value :CARDINALITY_OPTIONAL, 1
53
- value :CARDINALITY_REQUIRED, 2
54
- value :CARDINALITY_REPEATED, 3
55
- end
56
- add_message "google.protobuf.Enum" do
57
- optional :name, :string, 1
58
- repeated :enumvalue, :message, 2, "google.protobuf.EnumValue"
59
- repeated :options, :message, 3, "google.protobuf.Option"
60
- optional :source_context, :message, 4, "google.protobuf.SourceContext"
61
- optional :syntax, :enum, 5, "google.protobuf.Syntax"
62
- end
63
- add_message "google.protobuf.EnumValue" do
64
- optional :name, :string, 1
65
- optional :number, :int32, 2
66
- repeated :options, :message, 3, "google.protobuf.Option"
67
- end
68
- add_message "google.protobuf.Option" do
69
- optional :name, :string, 1
70
- optional :value, :message, 2, "google.protobuf.Any"
71
- end
72
- add_enum "google.protobuf.Syntax" do
73
- value :SYNTAX_PROTO2, 0
74
- value :SYNTAX_PROTO3, 1
9
+ add_file("google/protobuf/type.proto", :syntax => :proto3) do
10
+ add_message "google.protobuf.Type" do
11
+ optional :name, :string, 1
12
+ repeated :fields, :message, 2, "google.protobuf.Field"
13
+ repeated :oneofs, :string, 3
14
+ repeated :options, :message, 4, "google.protobuf.Option"
15
+ optional :source_context, :message, 5, "google.protobuf.SourceContext"
16
+ optional :syntax, :enum, 6, "google.protobuf.Syntax"
17
+ end
18
+ add_message "google.protobuf.Field" do
19
+ optional :kind, :enum, 1, "google.protobuf.Field.Kind"
20
+ optional :cardinality, :enum, 2, "google.protobuf.Field.Cardinality"
21
+ optional :number, :int32, 3
22
+ optional :name, :string, 4
23
+ optional :type_url, :string, 6
24
+ optional :oneof_index, :int32, 7
25
+ optional :packed, :bool, 8
26
+ repeated :options, :message, 9, "google.protobuf.Option"
27
+ optional :json_name, :string, 10
28
+ optional :default_value, :string, 11
29
+ end
30
+ add_enum "google.protobuf.Field.Kind" do
31
+ value :TYPE_UNKNOWN, 0
32
+ value :TYPE_DOUBLE, 1
33
+ value :TYPE_FLOAT, 2
34
+ value :TYPE_INT64, 3
35
+ value :TYPE_UINT64, 4
36
+ value :TYPE_INT32, 5
37
+ value :TYPE_FIXED64, 6
38
+ value :TYPE_FIXED32, 7
39
+ value :TYPE_BOOL, 8
40
+ value :TYPE_STRING, 9
41
+ value :TYPE_GROUP, 10
42
+ value :TYPE_MESSAGE, 11
43
+ value :TYPE_BYTES, 12
44
+ value :TYPE_UINT32, 13
45
+ value :TYPE_ENUM, 14
46
+ value :TYPE_SFIXED32, 15
47
+ value :TYPE_SFIXED64, 16
48
+ value :TYPE_SINT32, 17
49
+ value :TYPE_SINT64, 18
50
+ end
51
+ add_enum "google.protobuf.Field.Cardinality" do
52
+ value :CARDINALITY_UNKNOWN, 0
53
+ value :CARDINALITY_OPTIONAL, 1
54
+ value :CARDINALITY_REQUIRED, 2
55
+ value :CARDINALITY_REPEATED, 3
56
+ end
57
+ add_message "google.protobuf.Enum" do
58
+ optional :name, :string, 1
59
+ repeated :enumvalue, :message, 2, "google.protobuf.EnumValue"
60
+ repeated :options, :message, 3, "google.protobuf.Option"
61
+ optional :source_context, :message, 4, "google.protobuf.SourceContext"
62
+ optional :syntax, :enum, 5, "google.protobuf.Syntax"
63
+ end
64
+ add_message "google.protobuf.EnumValue" do
65
+ optional :name, :string, 1
66
+ optional :number, :int32, 2
67
+ repeated :options, :message, 3, "google.protobuf.Option"
68
+ end
69
+ add_message "google.protobuf.Option" do
70
+ optional :name, :string, 1
71
+ optional :value, :message, 2, "google.protobuf.Any"
72
+ end
73
+ add_enum "google.protobuf.Syntax" do
74
+ value :SYNTAX_PROTO2, 0
75
+ value :SYNTAX_PROTO3, 1
76
+ end
75
77
  end
76
78
  end
77
79
 
@@ -39,6 +39,12 @@ module Google
39
39
  module Protobuf
40
40
 
41
41
  Any.class_eval do
42
+ def self.pack(msg, type_url_prefix='type.googleapis.com/')
43
+ any = self.new
44
+ any.pack(msg, type_url_prefix)
45
+ any
46
+ end
47
+
42
48
  def pack(msg, type_url_prefix='type.googleapis.com/')
43
49
  if type_url_prefix.empty? or type_url_prefix[-1] != '/' then
44
50
  self.type_url = "#{type_url_prefix}/#{msg.class.descriptor.name}"
@@ -149,6 +155,8 @@ module Google
149
155
  Struct.class_eval do
150
156
  def [](key)
151
157
  self.fields[key].to_ruby
158
+ rescue NoMethodError
159
+ nil
152
160
  end
153
161
 
154
162
  def []=(key, value)
@@ -170,6 +178,10 @@ module Google
170
178
  hash.each { |key, val| ret[key] = val }
171
179
  ret
172
180
  end
181
+
182
+ def has_key?(key)
183
+ self.fields.has_key?(key)
184
+ end
173
185
  end
174
186
 
175
187
  ListValue.class_eval do
@@ -4,32 +4,34 @@
4
4
  require 'google/protobuf'
5
5
 
6
6
  Google::Protobuf::DescriptorPool.generated_pool.build do
7
- add_message "google.protobuf.DoubleValue" do
8
- optional :value, :double, 1
9
- end
10
- add_message "google.protobuf.FloatValue" do
11
- optional :value, :float, 1
12
- end
13
- add_message "google.protobuf.Int64Value" do
14
- optional :value, :int64, 1
15
- end
16
- add_message "google.protobuf.UInt64Value" do
17
- optional :value, :uint64, 1
18
- end
19
- add_message "google.protobuf.Int32Value" do
20
- optional :value, :int32, 1
21
- end
22
- add_message "google.protobuf.UInt32Value" do
23
- optional :value, :uint32, 1
24
- end
25
- add_message "google.protobuf.BoolValue" do
26
- optional :value, :bool, 1
27
- end
28
- add_message "google.protobuf.StringValue" do
29
- optional :value, :string, 1
30
- end
31
- add_message "google.protobuf.BytesValue" do
32
- optional :value, :bytes, 1
7
+ add_file("google/protobuf/wrappers.proto", :syntax => :proto3) do
8
+ add_message "google.protobuf.DoubleValue" do
9
+ optional :value, :double, 1
10
+ end
11
+ add_message "google.protobuf.FloatValue" do
12
+ optional :value, :float, 1
13
+ end
14
+ add_message "google.protobuf.Int64Value" do
15
+ optional :value, :int64, 1
16
+ end
17
+ add_message "google.protobuf.UInt64Value" do
18
+ optional :value, :uint64, 1
19
+ end
20
+ add_message "google.protobuf.Int32Value" do
21
+ optional :value, :int32, 1
22
+ end
23
+ add_message "google.protobuf.UInt32Value" do
24
+ optional :value, :uint32, 1
25
+ end
26
+ add_message "google.protobuf.BoolValue" do
27
+ optional :value, :bool, 1
28
+ end
29
+ add_message "google.protobuf.StringValue" do
30
+ optional :value, :string, 1
31
+ end
32
+ add_message "google.protobuf.BytesValue" do
33
+ optional :value, :bytes, 1
34
+ end
33
35
  end
34
36
  end
35
37