google-protobuf 3.19.3-java → 3.20.0.rc.2-java

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.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f5c466d97c71914c370283dc800d740560c7e06602a13b27735990ad6596a4f6
4
- data.tar.gz: 271758c95ced1d96d82056190695a6cb27428dc3e8eafd86c2c8de8887a5f4ee
3
+ metadata.gz: b85d1d50a379213ed1ba8d305a4665c7a243521afe8216e947578951a46ff200
4
+ data.tar.gz: 1c59f0a64127262888baa011d9f0090a28bd927e324445b05ac678f9d547034c
5
5
  SHA512:
6
- metadata.gz: 62f6509ebfb8d7d7eba4eb665c7d9d25d1e489e3ea0240f01a8f7092d02a008276694409a153ed965c3a74bfd3be55414b1676580f6c670958da82d4783ac95c
7
- data.tar.gz: 5c90ecde9e547ad9cfdafb75511edf5368435aeb223de5594f5421c2b1a8001c9c50d419de29271d578c18ee63f2e8c63dda18ca63b1c681ce36cd1f97cf7a96
6
+ metadata.gz: '0844754cba06659b02bd958d12666f248cb221f83703be893c384a4b68ffc9be6efb59f54d1a6706b3ac6bfe67ec458cb7b32405a6844e6902c872c0efb3e5da'
7
+ data.tar.gz: 265b77bfe8432b8dcf920c12188f5361d2a267656cbd34f26cc2488d04a6274b4a24330446d02d096202a8ac45204fb2aefe6661fd209dd3ce1013e28a9b0e52
@@ -2,7 +2,14 @@
2
2
  #
3
3
  # Code that implements the DSL for defining proto messages.
4
4
 
5
- require 'google/protobuf/descriptor_pb'
5
+ # Suppress warning: loading in progress, circular require considered harmful.
6
+ # This circular require is intentional to avoid missing dependency.
7
+ begin
8
+ old_verbose, $VERBOSE = $VERBOSE, nil
9
+ require 'google/protobuf/descriptor_pb'
10
+ ensure
11
+ $VERBOSE = old_verbose
12
+ end
6
13
 
7
14
  module Google
8
15
  module Protobuf
@@ -192,12 +192,13 @@ deprecated (:false
192
192
  deprecated (:false
193
193
  map_entry (C
194
194
  uninterpreted_option� ( 2$.google.protobuf.UninterpretedOption* �����JJJJ J 
195
- "�
195
+ "�
196
196
  FieldOptions:
197
197
  ctype (2#.google.protobuf.FieldOptions.CType:STRING
198
198
  packed (?
199
199
  jstype (2$.google.protobuf.FieldOptions.JSType: JS_NORMAL
200
- lazy (:false
200
+ lazy (:false
201
+ unverified_lazy (:false
201
202
 
202
203
  deprecated (:false
203
204
  weak
@@ -44,8 +44,8 @@ module Google
44
44
  self.class.encode_json(self, options)
45
45
  end
46
46
 
47
- def to_proto
48
- self.class.encode(self)
47
+ def to_proto(options = {})
48
+ self.class.encode(self, options)
49
49
  end
50
50
 
51
51
  end
@@ -82,16 +82,16 @@ module Google
82
82
  end
83
83
  end
84
84
 
85
+ def self.from_time(time)
86
+ new.from_time(time)
87
+ end
88
+
85
89
  def from_time(time)
86
90
  self.seconds = time.to_i
87
91
  self.nanos = time.nsec
88
92
  self
89
93
  end
90
94
 
91
- def self.from_time(time)
92
- new.from_time(time)
93
- end
94
-
95
95
  def to_i
96
96
  self.seconds
97
97
  end
@@ -137,10 +137,14 @@ module Google
137
137
  end
138
138
  end
139
139
 
140
+ def self.from_ruby(value)
141
+ self.new.from_ruby(value)
142
+ end
143
+
140
144
  def from_ruby(value)
141
145
  case value
142
146
  when NilClass
143
- self.null_value = 0
147
+ self.null_value = :NULL_VALUE
144
148
  when Numeric
145
149
  self.number_value = value
146
150
  when String
@@ -160,6 +164,8 @@ module Google
160
164
  else
161
165
  raise UnexpectedStructType
162
166
  end
167
+
168
+ self
163
169
  end
164
170
  end
165
171
 
@@ -230,6 +236,5 @@ module Google
230
236
  ret
231
237
  end
232
238
  end
233
-
234
239
  end
235
240
  end
@@ -59,16 +59,16 @@ require 'google/protobuf/repeated_field'
59
59
  module Google
60
60
  module Protobuf
61
61
 
62
- def self.encode(msg)
63
- msg.to_proto
62
+ def self.encode(msg, options = {})
63
+ msg.to_proto(options)
64
64
  end
65
65
 
66
66
  def self.encode_json(msg, options = {})
67
67
  msg.to_json(options)
68
68
  end
69
69
 
70
- def self.decode(klass, proto)
71
- klass.decode(proto)
70
+ def self.decode(klass, proto, options = {})
71
+ klass.decode(proto, options)
72
72
  end
73
73
 
74
74
  def self.decode_json(klass, json, options = {})
Binary file
data/tests/basic.rb CHANGED
@@ -71,6 +71,14 @@ module BasicTest
71
71
  TestMessage.encode(msg)
72
72
  end
73
73
 
74
+ def test_issue_9440
75
+ msg = HelloRequest.new
76
+ msg.id = 8
77
+ assert_equal 8, msg.id
78
+ msg.version = '1'
79
+ assert_equal 8, msg.id
80
+ end
81
+
74
82
  def test_has_field
75
83
  m = TestSingularFields.new
76
84
  assert !m.has_singular_msg?
@@ -636,5 +644,27 @@ module BasicTest
636
644
  assert_equal 2, m.map_string_int32.size
637
645
  assert_equal 1, m.map_string_msg.size
638
646
  end
647
+
648
+ def test_string_with_singleton_class_enabled
649
+ str = 'foobar'
650
+ # NOTE: Accessing a singleton class of an object changes its low level class representation
651
+ # as far as the C API's CLASS_OF() method concerned, exposing the issue
652
+ str.singleton_class
653
+ m = proto_module::TestMessage.new(
654
+ optional_string: str,
655
+ optional_bytes: str
656
+ )
657
+
658
+ assert_equal str, m.optional_string
659
+ assert_equal str, m.optional_bytes
660
+ end
661
+
662
+ def test_utf8
663
+ m = proto_module::TestMessage.new(
664
+ optional_string: "µpb",
665
+ )
666
+ m2 = proto_module::TestMessage.decode(proto_module::TestMessage.encode(m))
667
+ assert_equal m2, m
668
+ end
639
669
  end
640
670
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-protobuf
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.19.3
4
+ version: 3.20.0.rc.2
5
5
  platform: java
6
6
  authors:
7
7
  - Protobuf Authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-11 00:00:00.000000000 Z
11
+ date: 2022-03-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -74,7 +74,7 @@ homepage: https://developers.google.com/protocol-buffers
74
74
  licenses:
75
75
  - BSD-3-Clause
76
76
  metadata:
77
- source_code_uri: https://github.com/protocolbuffers/protobuf/tree/v3.19.3/ruby
77
+ source_code_uri: https://github.com/protocolbuffers/protobuf/tree/v3.20.0-rc2/ruby
78
78
  post_install_message:
79
79
  rdoc_options: []
80
80
  require_paths:
@@ -86,9 +86,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
86
86
  version: '2.3'
87
87
  required_rubygems_version: !ruby/object:Gem::Requirement
88
88
  requirements:
89
- - - ">="
89
+ - - ">"
90
90
  - !ruby/object:Gem::Version
91
- version: '0'
91
+ version: 1.3.1
92
92
  requirements: []
93
93
  rubygems_version: 3.0.6
94
94
  signing_key: