Parcourir la source

Merge pull request #214 from cfallin/ruby-changelog

Updated CHANGES.txt to mention Ruby extension.
Chris Fallin il y a 10 ans
Parent
commit
5d9cc7d166
2 fichiers modifiés avec 27 ajouts et 3 suppressions
  1. 27 2
      CHANGES.txt
  2. 0 1
      ruby/README.md

+ 27 - 2
CHANGES.txt

@@ -1,10 +1,35 @@
-2015-2-22 version 3.0.0-alpha-2 (Ruby/JavaNano):
+2015-02-22 version 3.0.0-alpha-2 (Ruby/JavaNano):
   General
   * Introduced two new language implementations (Ruby and JavaNano) to proto3.
   * Various bug fixes since 3.0.0-alpha-1
 
   Ruby:
-    TODO(cfallin): Add descriptions here.
+    We have added proto3 support for Ruby via a native C extension.
+
+    The Ruby extension itself is included in the ruby/ directory, and details on
+    building and installing the extension are in ruby/README.md. The extension
+    will also be published as a Ruby gem. Code generator support is included as
+    part of `protoc` with the `--ruby_out` flag.
+
+    The Ruby extension implements a user-friendly DSL to define message types
+    (also generated by the code generator from `.proto` files).  Once a message
+    type is defined, the user may create instances of the message that behave in
+    ways idiomatic to Ruby. For example:
+
+    - Message fields are present as ordinary Ruby properties (getter method
+      `foo` and setter method `foo=`).
+    - Repeated field elements are stored in a container that acts like a native
+      Ruby array, and map elements are stored in a container that acts like a
+      native Ruby hashmap.
+    - The usual well-known methods, such as `#to_s`, `#dup`, and the like, are
+      present.
+
+    Unlike several existing third-party Ruby extensions for protobuf, this
+    extension is built on a "strongly-typed" philosophy: message fields and
+    array/map containers will throw exceptions eagerly when values of the
+    incorrect type are inserted.
+
+    See ruby/README.md for details.
 
   JavaNano:
     JavaNano is a special code generator and runtime library designed especially

+ 0 - 1
ruby/README.md

@@ -16,7 +16,6 @@ To build this Ruby extension, you will need:
 * Bundler
 * Ruby development headers
 * a C compiler
-* the upb submodule
 
 First, install the required Ruby gems: