aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ruby/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'src/ruby/README.md')
-rw-r--r--src/ruby/README.md80
1 files changed, 41 insertions, 39 deletions
diff --git a/src/ruby/README.md b/src/ruby/README.md
index 9c0eef49b0..4b657c0bd4 100644
--- a/src/ruby/README.md
+++ b/src/ruby/README.md
@@ -4,48 +4,44 @@ gRPC Ruby
A Ruby implementation of gRPC.
Status
--------
+------
Alpha : Ready for early adopters
-INSTALLATION PREREQUISITES
---------------------------
+PREREQUISITES
+-------------
-This requires Ruby 2.1, as the RPC API surface uses keyword args.
+- Ruby 2.x. The gRPC API uses keyword args.
+- [homebrew][] on Mac OS X, [linuxbrew][] on Linux. These simplify the installation of the gRPC C core.
-
-QUICK - INSTALL
+INSTALLATION
---------------
-
-- Clone this repository.
-- Follow the instructions in [INSTALL](../../INSTALL) to install the gRPC C core.
-- If you don't have Ruby 2.1 installed, switch to the more detailed instructions below
-- Use bundler to install
+On Mac OS X, install [homebrew][]. On Linux, install [linuxbrew][].
+Run the following command to install gRPC Ruby.
```sh
-$ # from this directory
-$ gem install bundler && bundle install
+$ curl -fsSL https://goo.gl/getgrpc | bash -s ruby
```
+This will download and run the [gRPC install script][], then install the latest version of gRPC Ruby gem. It also installs Protocol Buffers compiler (_protoc_) and the gRPC _protoc_ plugin for ruby.
-Installing from source
-----------------------
-
+BUILD FROM SOURCE
+---------------------
+- Clone this repository
- Build the gRPC C core
-E.g, from the root of the gRPC [git repo](https://github.com/google/grpc)
+E.g, from the root of the gRPC [Git repository](https://github.com/google/grpc)
```sh
$ cd ../..
$ make && sudo make install
```
-- Install Ruby 2.1. Consider doing this with [RVM](http://rvm.io), it's a nice way of controlling
+- Install Ruby 2.x. Consider doing this with [RVM](http://rvm.io), it's a nice way of controlling
the exact ruby version that's used.
```sh
$ command curl -sSL https://rvm.io/mpapis.asc | gpg --import -
-$ \curl -sSL https://get.rvm.io | bash -s stable --ruby=ruby-2.1
+$ \curl -sSL https://get.rvm.io | bash -s stable --ruby=ruby-2
$
$ # follow the instructions to ensure that your're using the latest stable version of Ruby
$ # and that the rvm command is installed
```
-
- Make sure your run `source $HOME/.rvm/scripts/rvm` as instructed to complete the set up of RVM
- Install [bundler](http://bundler.io/)
@@ -53,30 +49,36 @@ $ # and that the rvm command is installed
$ gem install bundler
```
-- Finally, install the gRPC gem locally.
+- Finally, build and install the gRPC gem locally.
```sh
$ # from this directory
$ bundle install # creates the ruby bundle, including building the grpc extension
$ rake # runs the unit tests, see rake -T for other options
```
+DOCUMENTATION
+-------------
+- rubydoc for the gRPC gem is available online at [rubydoc][].
+- the gRPC Ruby reference documentation is available online at [grpc.io][]
+
CONTENTS
--------
-
-Directory structure is the layout for [ruby extensions](http://guides.rubygems.org/gems-with-extensions/)
-
-- ext:
- the gRPC ruby extension
-- lib:
- the entrypoint gRPC ruby library to be used in a 'require' statement
-- spec:
- Rspec unittest
-- bin:
- example gRPC clients and servers, e.g,
-```ruby
-stub = Math::Math::Stub.new('my.test.math.server.com:8080')
-req = Math::DivArgs.new(dividend: 7, divisor: 3)
-logger.info("div(7/3): req=#{req.inspect}")
-resp = stub.div(req)
-logger.info("Answer: #{resp.inspect}")
-```
+Directory structure is the layout for [ruby extensions][]
+- ext: the gRPC ruby extension
+- lib: the entrypoint gRPC ruby library to be used in a 'require' statement
+- spec: Rspec unittests
+- bin: example gRPC clients and servers, e.g,
+
+ ```ruby
+ stub = Math::Math::Stub.new('my.test.math.server.com:8080')
+ req = Math::DivArgs.new(dividend: 7, divisor: 3)
+ GRPC.logger.info("div(7/3): req=#{req.inspect}")
+ resp = stub.div(req)
+ GRPC.logger.info("Answer: #{resp.inspect}")
+ ```
+[homebrew]:http://brew.sh
+[linuxbrew]:https://github.com/Homebrew/linuxbrew#installation
+[gRPC install script]:https://raw.githubusercontent.com/grpc/homebrew-grpc/master/scripts/install
+[ruby extensions]:http://guides.rubygems.org/gems-with-extensions/
+[rubydoc]: http://www.rubydoc.info/gems/grpc
+[grpc.io]: http://www.grpc.io/docs/installation/ruby.html