aboutsummaryrefslogtreecommitdiffhomepage
path: root/examples/ruby/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'examples/ruby/README.md')
-rw-r--r--examples/ruby/README.md61
1 files changed, 61 insertions, 0 deletions
diff --git a/examples/ruby/README.md b/examples/ruby/README.md
new file mode 100644
index 0000000000..fecd8041e0
--- /dev/null
+++ b/examples/ruby/README.md
@@ -0,0 +1,61 @@
+gRPC in 3 minutes (Ruby)
+========================
+
+BACKGROUND
+-------------
+For this sample, we've already generated the server and client stubs from [helloworld.proto][]
+
+PREREQUISITES
+-------------
+
+- Ruby 2.x
+This requires Ruby 2.x, as the gRPC API surface uses keyword args.
+If you don't have that installed locally, you can use [RVM][] to use Ruby 2.x for testing without upgrading the version of Ruby on your whole system.
+RVM is also useful if you don't have the necessary privileges to update your system's Ruby.
+
+ ```sh
+ $ # RVM installation as specified at https://rvm.io/rvm/install
+ $ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
+ $ \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
+ ```
+- *N.B* Make sure your run `source $HOME/.rvm/scripts/rvm` as instructed to complete the set-up of RVM.
+
+INSTALL
+-------
+
+- Clone this repository
+- Use bundler to install the example package's dependencies
+
+ ```sh
+ $ # from this directory
+ $ gem install bundler # if you don't already have bundler available
+ $ bundle install
+ ```
+
+Try it!
+-------
+
+- Run the server
+
+ ```sh
+ $ # from this directory
+ $ bundle exec ./greeter_server.rb &
+ ```
+
+- Run the client
+
+ ```sh
+ $ # from this directory
+ $ bundle exec ./greeter_client.rb
+ ```
+
+Tutorial
+--------
+
+You can find a more detailed tutorial in [gRPC Basics: Ruby](https://github.com/grpc/grpc-common/blob/master/ruby/route_guide/README.md)
+
+[helloworld.proto]:https://github.com/grpc/grpc-common/blob/master/protos/helloworld.proto
+[RVM]:https://www.rvm.io/