Commit Graph

132 Commits

Author SHA1 Message Date
Feng Xiao
2649844cab Update version number.
[skip ci]

Change-Id: I1ba6f6372a08b5796570851336e1a548602f60da
2016-09-22 17:13:11 -07:00
Brendan Ribera
525c6327ab Fix hash computation for JRuby's RubyMessage
`System.identityHashCode` returns a hash that does not consider a
Message's values. This means two Messages with identical values will not
have identical hashCodes.

This patch uses the pattern from RubyMap to combine the hashCodes from
all values in a given message and produce a unique, consistent,
value-based hash.
2016-09-22 00:18:12 +00:00
Bo Yang
b8e7e892c8 Fix travis, jenkins environment issues. 2016-09-21 22:56:47 +00:00
Bo Yang
ebcda12102 Bump version number to 3.1.0-alpha-1. 2016-09-20 21:37:06 +00:00
Joshua Haberman
b5bbdb0967 Merge pull request #2037 from abscondment/fix-2036-ruby-hash
Fix #2036 (Ruby `hash` broken for Messages with repeated fields.)
2016-09-18 21:38:51 -07:00
Jisi Liu
58860c021f Merge remote-tracking branch 'origin/3.0.x' into merge 2016-09-14 09:37:48 -07:00
Jisi Liu
6e11540b32 Bump version number to 3.0.2 2016-09-02 11:57:49 -07:00
Brendan Ribera
de028631fc fix #2036: use rb_hash_* to accumulate hashes
Instead of shifting/xoring the hash at each field, use the built-in ruby
apis for generating a hash from multiple input values.

Now returns a Fixnum.
2016-08-30 16:22:49 -07:00
Brendan Ribera
047419a172 failing test for #2036:
* add a repeated field to the tested hash
* also assert that two messages with identical values produce identical hashes
2016-08-30 16:21:33 -07:00
Joshua Haberman
dd45c0b9fd Merge pull request #2012 from haberman/rubymapgcfix
Ruby: make sure map parsing frames are GC-rooted.
2016-08-30 09:57:50 -07:00
Josh Haberman
3a674ffe05 upb bugfix: JSON map entry keys were passing the wrong closure. 2016-08-29 15:28:59 -07:00
Josh Haberman
d4213d839f Ruby: make sure map parsing frames are GC-rooted. 2016-08-26 09:03:55 -07:00
Nicolas Noble
866d3e5327 Fixing regular expression...
This will allow loading the extension for Ruby 2.1.10...
2016-08-23 22:46:26 -07:00
Joshua Haberman
8d8115bf52 Merge pull request #1878 from haberman/rubywkt
Ruby: added API support for well-known types.
2016-08-01 17:31:00 -07:00
Josh Haberman
3cec2ea8d6 Ruby: added custom Struct exception type and fixed Makefile.am. 2016-08-01 14:34:54 -07:00
Josh Haberman
a207a2bd00 Fix for JRuby (assert_true is not present). 2016-07-28 17:54:16 -07:00
Josh Haberman
e3094a8d80 Ruby: added API support for well-known types. 2016-07-28 17:02:33 -07:00
Joshua Haberman
234ec01795 Merge pull request #1847 from haberman/GAfixes
GA fixes
2016-07-26 10:55:34 -07:00
Josh Haberman
6d92233e72 Added unit test for PascalCasing package names in Ruby. 2016-07-25 15:16:23 -07:00
Joshua Haberman
b1cecb6762 Merge pull request #1837 from haberman/rubygencodename
Ruby: generated foo.proto -> foo_pb.rb instead of foo.rb.
2016-07-25 14:58:41 -07:00
Jisi Liu
0973822d03 remove extra zeros. 2016-07-25 14:14:44 -07:00
Jisi Liu
5a6c921217 Make jruby still depend on beta-4 2016-07-25 13:19:52 -07:00
Jisi Liu
fb7a7c5f1f Bump version number for GA 2016-07-25 12:07:56 -07:00
Josh Haberman
4f19797baf Ruby: generated foo.proto -> foo_pb.rb instead of foo.rb.
This brings us more into line with other langauges, and makes it more
obvious when we are requiring protobuf generated code.
2016-07-25 11:09:23 -07:00
Joshua Haberman
44bd6bda58 Merge pull request #1821 from haberman/rubyfreezestr
Ruby: encode and freeze strings when the are assigned or decoded.
2016-07-25 10:09:15 -07:00
Josh Haberman
d07a9963df Ruby: fixed string freezing for JRuby. 2016-07-25 01:26:14 -07:00
Feng Xiao
20fbb357d0 Add more tests to jenkins.
1. Added ruby22 and jruby tests to jenkins.
2. Added javascript tests to jenkins.
3. Added golang tests to jenkins.
4. Removed ruby19/ruby20 tests from travis. Support for ruby 2.0 has
   ended since 2016/02/24.
   https://www.ruby-lang.org/en/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/

Change-Id: Ie984b06772335352a4be7067ab2485f923875685
2016-07-21 18:11:12 -07:00
Josh Haberman
ff7f68ae9f Ruby: encode and freeze strings when the are assigned or decoded. 2016-07-21 11:37:54 -07:00
Feng Xiao
932f94e16e Update version number to 3.0.0-beta-4 2016-07-13 16:08:47 -07:00
Otto Kekäläinen
3808d091f8 Fix spelling in strings and comments 2016-07-03 15:26:04 +03:00
Josh Haberman
2d514ce2d8 Fixed oneof behavior for enums and fixed JRuby. 2016-05-18 15:39:29 -07:00
Josh Haberman
545527e8cf Ruby oneofs: return default instead of nil for unset fields. 2016-05-18 10:58:02 -07:00
Jisi Liu
5dea2017db Update version numbers for other languages 2016-05-10 15:43:39 -07:00
Nicolas "Pixel" Noble
edd29498f4 Properly generating well known proto files for the macos build. 2016-05-04 02:40:25 +02:00
Joshua Haberman
7dda312224 Merge pull request #1473 from nicolasnoble/rake-tweaks
Few tweaks to the rakefile to permit native gems compilation with the proto files generation.
2016-05-03 13:10:02 -07:00
Nicolas "Pixel" Noble
236b93937f Addressing concerns. 2016-04-30 02:15:15 +02:00
Nicolas "Pixel" Noble
1f8b6da920 Few tweaks to the rakefile to permit native gems compilation with the proto files generation. 2016-04-29 20:00:43 +02:00
Adam Cozzette
b53417c735 Merge pull request #1462 from acozzette/ruby-2.3
Added dig and bsearch_index to RepeatedField methods forwarded to array
2016-04-28 08:26:26 -07:00
Adam Cozzette
bbb68fe63d Added dig and bsearch_index to RepeatedField methods forwarded to array
This fixes the test_acts_likes_an_array test in RepeatedFieldTest, which
checks that repeated fields respond to the same methods as regular Ruby
arrays. The bsearch_index and dig array methods seem to be new in Ruby
2.3 and so we should support those.
2016-04-27 10:51:22 -07:00
Josh Haberman
d419ca10b4 Updated upb and simplified ruby code a bit with new upb method. 2016-04-22 14:12:10 -07:00
Josh Haberman
e67ef3d449 Bugfix for JSON error case. 2016-04-14 20:27:45 -07:00
Josh Haberman
800e986012 Remove no longer applicable documentation from README.md. 2016-04-14 18:42:22 -07:00
Josh Haberman
194ad621bb Ruby JSON: always accept both camelCase and original field names.
For JSON encoding we provide a new option to decide at
encode time whether to use camelCase or original proto field
names:

  json = MapMessage.encode_json(m, :preserve_proto_fieldnames => true)
2016-04-14 18:33:17 -07:00
Josh Haberman
90c7f6e55e Documented the JSON change and compatibility flags. 2016-04-14 12:48:41 -07:00
Josh Haberman
94e54b39c8 Updated upb: picked up legacy JSON flags to help Ruby users migrate.
The flags are:

  UPB_JSON_ACCEPT_LEGACY_FIELD_NAMES
  UPB_JSON_WRITE_LEGACY_FIELD_NAMES

The first just allows the parser to accept the old field names.
The second makes the printer print the old field names.

These flags are intended to be temporary, as a migration aid
for users.
2016-04-14 12:06:09 -07:00
Joshua Haberman
e70f9256af Merge pull request #1139 from haberman/rubyjsoncamel
Changed Ruby to properly camelCase its JSON by default.
2016-03-04 17:31:11 -08:00
Josh Haberman
513875da77 Generate well-known types in Ruby extension and prune unneeded proto2 dependencies. 2016-03-03 14:08:54 -08:00
Josh Haberman
f654d49dd6 Updated upb from latest changes. 2016-02-18 11:48:54 -08:00
Josh Haberman
78da66698b Changed Ruby to properly camelCase its JSON by default. 2016-02-18 10:50:14 -08:00
Joshua Haberman
8fc045d8d2 Merge pull request #1224 from google/rubysentinel
Removed 'optional' from proto3 syntax file.
2016-02-16 15:43:21 -08:00