• 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
generated_code_proto2.proto 2.09 KB