aboutsummaryrefslogtreecommitdiff
path: root/ruby/ext
Commit message (Collapse)AuthorAgeFilesLines
* Move variable declarations before actual codeMarcin Wyszynski2016-11-141-2/+2
|
* More Ruby-eqsue interfaceMarcin Wyszynski2016-11-031-0/+44
|
* fix #2036: use `rb_hash_*` to accumulate hashesBrendan Ribera2016-08-301-7/+5
| | | | | | | 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.
* upb bugfix: JSON map entry keys were passing the wrong closure.Josh Haberman2016-08-291-1/+1
|
* Ruby: make sure map parsing frames are GC-rooted.Josh Haberman2016-08-263-8/+58
|
* Ruby: encode and freeze strings when the are assigned or decoded.Josh Haberman2016-07-216-42/+80
|
* Fix spelling in strings and commentsOtto Kekäläinen2016-07-031-1/+1
|
* Fixed oneof behavior for enums and fixed JRuby.Josh Haberman2016-05-181-2/+11
|
* Ruby oneofs: return default instead of nil for unset fields.Josh Haberman2016-05-181-1/+23
|
* Updated upb and simplified ruby code a bit with new upb method.Josh Haberman2016-04-224-1222/+1552
|
* Bugfix for JSON error case.Josh Haberman2016-04-141-1/+1
|
* Ruby JSON: always accept both camelCase and original field names.Josh Haberman2016-04-146-33/+77
| | | | | | | | 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)
* Updated upb: picked up legacy JSON flags to help Ruby users migrate.Josh Haberman2016-04-142-1354/+1573
| | | | | | | | | | | | | 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.
* Updated upb from latest changes.Josh Haberman2016-02-182-244/+133
|
* Changed Ruby to properly camelCase its JSON by default.Josh Haberman2016-02-185-416/+1151
|
* Merge pull request #1144 from dongjoon-hyun/remove_redundant_theJoshua Haberman2016-02-111-1/+1
|\ | | | | Remove redundant `the`.
| * Remove redundant `the` in comments.Dongjoon Hyun2016-02-031-1/+1
| |
* | 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
* A very small fix to silence some warnings.Josh Haberman2015-09-281-1/+3
| | | | | | | Also updated the Gemfile.lock since alpha-4 has been pushed to RubyGems. Change-Id: I8ddc5f125f28aa9a33c88dfe48251a75a877e1d3
* Merge pull request #584 from haberman/cwarningsJoshua Haberman2015-08-217-249/+354
|\ | | | | Ruby: Conform to C89/C90 variable declaration rules.
| * Return TypedData_Wrap_Struct directly.Josh Haberman2015-08-202-4/+2
| | | | | | | | Change-Id: I6cf77f01370204ad4bc7b345a040a9a3de1706a0
| * Conform to C89/C90 variable declaration rules.Josh Haberman2015-07-107-247/+354
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | Fixed several Ruby conformance test cases through upb update.Josh Haberman2015-08-122-108/+141
| | | | | | | | Change-Id: Ief77de7134e05e07b1a7e3970d49880c2d5e6fe9
* | Added Ruby to conformance tests.Josh Haberman2015-07-166-540/+486
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Worked around memory leak bug in Ruby interpreter.Josh Haberman2015-07-081-1/+13
|/ | | | | Change-Id: I8e2b425f9008e6b82d41d59783bb8b04af1f886f Fixes: https://github.com/google/protobuf/issues/474.
* Update upb to fix two bugs in the Ruby library.Josh Haberman2015-06-222-19/+54
| | | | | | Fixes: https://github.com/google/protobuf/issues/502 https://github.com/google/protobuf/issues/425
* Fixed compiler warnings and added -std=c99.Josh Haberman2015-06-092-10/+7
| | | | | upb no longer requires -std=c99 but the Ruby/C code still uses C99 features.
* Updated upb to latest version (C89).Josh Haberman2015-06-084-5473/+5849
| | | | | Since this version of upb supports C89, all of the extra compiler flags are no longer required.
* Ruby C extension speedup: don't re-intern constant string needlessly.Chris Fallin2015-05-197-29/+45
| | | | Also fixed lines with > 80 char length.
* Merge pull request #387 from cfallin/ruby-upb-updateJoshua Haberman2015-05-186-749/+1408
|\ | | | | 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-156-749/+1408
| | | | | | | | | | | | | | | | | | - 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.
* | Merge pull request #338 from skippy/encode-decode-helpersChris Fallin2015-05-154-59/+32
|\ \ | |/ |/| ruby: Encode decode cleanup and behavior normalization
| * adding and simplifying encoders/decodersAdam Greene2015-05-134-59/+32
| | | | | | | | | | | | * 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
* | make repeated_field quack like an arrayAdam Greene2015-05-142-49/+80
|/
* Merge pull request #334 from skippy/allow-msg-to-accept-nilChris Fallin2015-05-021-1/+3
|\ | | | | ruby: allow a message field to be unset
| * allow a message field to be unsetAdam Greene2015-05-021-1/+3
| |
* | return nil if array index indicie is out of boundsAdam Greene2015-05-011-6/+14
|/ | | | | | | ruby arrays don't throw an exception; they return nil. Lets do the same! this fix also includes the ability to use negative array indicies
* Fixed issue #283: crash in JSON handler cleanup.Chris Fallin2015-04-131-1/+1
| | | | Includes repro test case from @wfarr.
* Merge pull request #211 from isaiah/map_inspectChris Fallin2015-02-171-1/+1
|\ | | | | Ruby implementation Map#inspect should be consistent with Hash#inspect
| * Google::Protobuf::Map#inspect should be consistent with Hash#inspectIsaiah Peng2015-02-141-1/+1
| |
* | Addressed code-review comment.Chris Fallin2015-02-131-0/+4
| |
* | Properly support maps in Ruby protoc and another bugfix.Chris Fallin2015-02-121-13/+10
| | | | | | | | | | | | | | | | | | | | Previously, we supported map fields in the Ruby DSL. However, we never connected the final link in the chain and generated `map` DSL commands for map fields in `.proto` files. My apologies -- I had been testing with the DSL directly so I missed this. Also fixed a handlerdata-setup-infinite-loop when a map value field's type is its containing message.
* | Merge pull request #189 from cfallin/update-ruby-upbJoshua Haberman2015-02-052-104/+552
|\ \ | |/ |/| Updated to latest upb and added test for JSON map operation.
| * Updated to latest upb and added test for JSON map operation.Chris Fallin2015-02-022-104/+552
| |
* | Merge pull request #190 from isaiah/to_aryChris Fallin2015-02-031-31/+28
|\ \ | |/ |/| add #to_ary to RepeatedField
| * add #to_ary to RepeatedFieldIsaiah Peng2015-02-031-31/+28
| |
* | Updated based on code-review comments.Chris Fallin2015-02-021-2/+1
| |
* | Updated based on code-review comments.Chris Fallin2015-02-023-16/+51
| |
* | Addressed code-review comments.Chris Fallin2015-01-262-12/+26
| |