1. 06 Mar, 2019 2 commits
  2. 27 Sep, 2018 1 commit
    • Harshit Chopra's avatar
      Adds support for proto2 syntax for Ruby gem. · d0535cc0
      Harshit Chopra authored
      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
      d0535cc0
  3. 27 Jun, 2018 1 commit
    • Erik Benoist's avatar
      Adds a base class for all explicitly raised TypeErrors (#4255) · 74f8e242
      Erik Benoist authored
      * 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.
      74f8e242
  4. 07 Dec, 2017 1 commit
    • Paul Yang's avatar
      Add discard unknown API in ruby. (#3990) · 0e7b5895
      Paul Yang authored
      * 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
      0e7b5895
  5. 04 Oct, 2017 1 commit
    • Paul Yang's avatar
      Fix ruby segment fault (#3708) · cd5f49d0
      Paul Yang authored
      * 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
      cd5f49d0
  6. 13 Sep, 2017 1 commit
  7. 30 Aug, 2017 1 commit
  8. 30 Aug, 2016 1 commit
  9. 26 Aug, 2016 1 commit
  10. 16 Jul, 2015 1 commit
    • Josh Haberman's avatar
      Added Ruby to conformance tests. · 181c7f26
      Josh Haberman authored
      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
      181c7f26
  11. 10 Jul, 2015 1 commit
    • Josh Haberman's avatar
      Conform to C89/C90 variable declaration rules. · a1daeaba
      Josh Haberman authored
      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
      a1daeaba
  12. 19 May, 2015 1 commit
  13. 13 May, 2015 1 commit
    • Adam Greene's avatar
      adding and simplifying encoders/decoders · d1b52a00
      Adam Greene authored
      * 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
      d1b52a00
  14. 14 Jan, 2015 1 commit
  15. 06 Jan, 2015 1 commit
    • Chris Fallin's avatar
      Support for maps in the MRI C Ruby extension. · fd1a3ff1
      Chris Fallin authored
      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.
      fd1a3ff1
  16. 12 Dec, 2014 1 commit
  17. 10 Dec, 2014 1 commit
    • Chris Fallin's avatar
      Provide a Ruby extension. · 973f4257
      Chris Fallin authored
      This adds a Ruby extension in ruby/ that is based on the 'upb' library
      (now included as a submodule), and adds support for Ruby code generation
      to the protoc compiler.
      973f4257