aboutsummaryrefslogtreecommitdiff
path: root/ruby/ext/google/protobuf_c/message.c
Commit message (Collapse)AuthorAgeFilesLines
* Adds support for proto2 syntax for Ruby gem.Harshit Chopra2018-09-271-64/+127
| | | | | | | | | | | | | | | | | | | | | This change only adds basic proto2 support without advanced features like extensions, custom options, maps, etc. The protoc binary now generates ruby code for proto2 syntax. However, for now, it is restricted to proto2 files without advanced features like extensions, in which case it still errors out. This change also modifies the DSL to add proto messages to the DescriptorPool. There is a new DSL Builder#add_file to create a new FileDescriptor. With this, the generated ruby DSL looks something like: Google::Protobuf::DescriptorPool.generated_pool.build do add_file "test.proto" do add_message "foo" do optional :val, :int32, 1 end end end
* When initializing a message, skip a field if value is nil (#3693)Zachary Anker2018-06-261-0/+4
|
* Adds a base class for all explicitly raised TypeErrors (#4255)Erik Benoist2018-06-261-1/+1
| | | | | | | | | * This allows for ruby code to catch and handle Protobuf TypeErrors separately from the standard Ruby TypeError * Maintains backwards compatibility by having the new Google::Protobuf::TypeError inherit from the base TypeError. Any code that was catching TypeError should continue to work.
* Fix scope resolution for MessageExts in RubyMichael Collis2018-01-121-2/+2
|
* Reserve unknown in Ruby (#3763)Paul Yang2017-10-261-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | * Reserve unknown in ruby * Revert ruby tests. Wait for cpp impl for conformance test * Add conformance test for preserving unknown * Add unknown field conformance test to csharp failure list. * Fix comments * Fix comment * Fix comments * Fix typo * Use stringsink_string directly * Mark hd unused * Remove unused encodeunknown_handlerfunc
* Merge pull request #3627 from zanker/zanker/add-submsg-hash-initJoshua Haberman2017-09-211-7/+28
|\ | | | | Allow initializing a chain of protos using only a hash in Ruby
| * Update message.cZachary Anker2017-09-211-2/+1
| |
| * Allow initializing a chain of protos using only a hashZachary Anker2017-09-201-7/+29
| |
* | Update message.cZachary Anker2017-09-201-1/+1
| |
* | Fixed to_h with repeated messages to return hashes in RubyZachary Anker2017-09-201-0/+7
|/
* Ruby: fixed Message#to_h for map fields.Josh Haberman2017-03-141-2/+12
|
* Move variable declarations before actual codeMarcin Wyszynski2016-11-141-2/+2
|
* More Ruby-eqsue interfaceMarcin Wyszynski2016-11-031-0/+44
|
* Updated upb and simplified ruby code a bit with new upb method.Josh Haberman2016-04-221-20/+18
|
* Ruby JSON: always accept both camelCase and original field names.Josh Haberman2016-04-141-1/+1
| | | | | | | | 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)
* Add field name to initialization map exceptionsAnders Carling2015-11-201-3/+3
|
* Raise NoMethodError for unknown fieldsAnders Carling2015-11-201-1/+1
| | | | More informative and more ruby-like
* Conform to C89/C90 variable declaration rules.Josh Haberman2015-07-101-34/+63
| | | | | | | | | | | | 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.Chris Fallin2015-05-191-10/+14
| | | | Also fixed lines with > 80 char length.
* Merge pull request #387 from cfallin/ruby-upb-updateJoshua Haberman2015-05-181-1/+1
|\ | | | | Update MRI C Ruby extension to use new version of upb (with upb_env).
| * Update MRI C Ruby extension to use new version of upb.Chris Fallin2015-05-151-1/+1
| | | | | | | | | | | | | | | | | | - Alter encode/decode paths to use the `upb_env` (environment) abstraction. - Update upb amalgamation to upstream `93791bfe`. - Fix a compilation warning (void*->char* cast). - Modify build flags so that upb doesn't produce warnings -- the Travis build logs were pretty cluttered previously.
* | adding and simplifying encoders/decodersAdam Greene2015-05-131-0/+31
|/ | | | | | * 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
* Updated based on code-review comments.Chris Fallin2015-02-021-2/+1
|
* Ruby extension: added oneof accessor.Chris Fallin2015-01-141-0/+45
|
* Addressed code-review comments.Chris Fallin2015-01-061-1/+1
|
* Support for maps in the MRI C Ruby extension.Chris Fallin2015-01-061-3/+12
| | | | | | | | 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 buildChris Fallin2014-12-121-0/+463
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'.