From 1d4f321327dd0826211e0efb983a1087310a2ce3 Mon Sep 17 00:00:00 2001 From: Chris Fallin Date: Fri, 20 Feb 2015 17:32:06 -0800 Subject: Updated CHANGES.txt to mention Ruby extension. Change-Id: I3c3ec4aecf4ea2ce786d8d674baeca875e71801f --- CHANGES.txt | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 02c964cb..e0c02084 100644 --- a/CHANGES.txt +++ b/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 -- cgit v1.2.3 From 6ad8f547fee97798c11b37f5e887d02b6f3c8a2a Mon Sep 17 00:00:00 2001 From: Chris Fallin Date: Fri, 20 Feb 2015 17:49:14 -0800 Subject: Updated Ruby README. Change-Id: I8c3717f549c9b4e9d07c77ec5875c9cd62b296ac --- ruby/README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/ruby/README.md b/ruby/README.md index 88e9c0e1..59d5ace8 100644 --- a/ruby/README.md +++ b/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: -- cgit v1.2.3