aboutsummaryrefslogtreecommitdiffhomepage
path: root/ruby/ext/google/protobuf_c/protobuf.c
Commit message (Collapse)AuthorAge
* Add discard unknown API in ruby. (#3990)Gravatar Paul Yang2017-12-07
| | | | | | | | | | | | * Add discard unknown API in ruby. * Add test for oneof message field. * Add TestUnknown to represent unknown field data clearly. * Only serialize the message with unknown fields itself in test. * Move discard_unknown from Message to Google.Protobuf
* Fix ruby segment fault (#3708)Gravatar Paul Yang2017-10-03
| | | | | | | | | | | | | | | | * Fix ruby segment fault 1) rb_ary_new cannot be called during allocate function. During allocate fucntion, the containing object hasn't been marked and rb_ary_new may invoke gc to collect containing object. 2) The global map should be marked before allocating it. Otherwise it may be garbage collected. * Add test * Remove commented code * Fix grammer error
* Move parse frame array to the Map objectGravatar Aaron Patterson2017-08-30
| | | | This makes the frame stack per-parser, and per-thread. Fixes #3250
* Ruby: make sure map parsing frames are GC-rooted.Gravatar Josh Haberman2016-08-26
|
* Merge pull request #584 from haberman/cwarningsGravatar Joshua Haberman2015-08-21
|\ | | | | Ruby: Conform to C89/C90 variable declaration rules.
* | Added Ruby to conformance tests.Gravatar Josh Haberman2015-07-16
| | | | | | | | | | | | | | | | | | | | | | | | | | This involved fixing a few important bugs in the Ruby implementation -- mostly cases of mixing upb field types and descriptor types (upb field types do not distinguish between int/sint/fixed/sfixed like descriptor types do). Also added protobuf-specific exceptions so parse errors can be caught specifically. Change-Id: Ib49d3db976900b2c6f3455c8b88af52cfb86e036
| * Conform to C89/C90 variable declaration rules.Gravatar Josh Haberman2015-07-10
|/ | | | | | | | | | | | While we are C99 in general, the Ruby build system for building C extensions enables several flags that throw warnings for C89/C90 variable ordering rules. To avoid spewing a million warnings (or trying to specifically override these warnings with command-line flags, which would be tricky and possibly fragile) we conform to Ruby's world of C89/C90. Change-Id: I0e03e62d95068dfdfde112df0fb16a248a2f32a0
* Ruby C extension speedup: don't re-intern constant string needlessly.Gravatar Chris Fallin2015-05-19
| | | | Also fixed lines with > 80 char length.
* adding and simplifying encoders/decodersGravatar Adam Greene2015-05-13
| | | | | | * make consistent between mri and jruby * create a #to_h and have it use symbols for keys * add #to_json and #to_proto helpers on the Google::Protobuf message classes
* Support oneofs in MRI Ruby C extension.Gravatar Chris Fallin2015-01-14
|
* Support for maps in the MRI C Ruby extension.Gravatar Chris Fallin2015-01-06
| | | | | | | | This adds the Map container and support for parsing and serializing maps in the protobuf wire format (as defined by the C++ implementation, with MapEntry submessages in a repeated field). JSON map serialization/parsing are not yet supported as these will require some changes to upb as well.
* Rename protobuf Ruby module to google/protobuf and rework its buildGravatar Chris Fallin2014-12-12
system. The Ruby module build now uses an amalgamated distribution of upb, and successfully builds a Ruby gem called 'google-protobuf' with module 'google/protobuf'.