|
@@ -3,61 +3,59 @@ gRPC in 3 minutes (Ruby)
|
|
|
|
|
|
|
|
BACKGROUND
|
|
BACKGROUND
|
|
|
-------------
|
|
-------------
|
|
|
-For this sample, we've already generated the server and client stubs from [helloworld.proto](https://github.com/grpc/grpc-common/blob/master/protos/helloworld.proto).
|
|
|
|
|
|
|
+For this sample, we've already generated the server and client stubs from [helloworld.proto][]
|
|
|
|
|
|
|
|
PREREQUISITES
|
|
PREREQUISITES
|
|
|
-------------
|
|
-------------
|
|
|
|
|
|
|
|
- Ruby 2.x
|
|
- Ruby 2.x
|
|
|
-
|
|
|
|
|
This requires Ruby 2.x, as the gRPC API surface uses keyword args.
|
|
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](https://www.rvm.io/) to use Ruby 2.x for testing without upgrading the version of Ruby on your whole system.
|
|
|
|
|
|
|
+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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
-- Homebrew/Linuxbrew
|
|
|
|
|
-
|
|
|
|
|
-The gRPC core will be installed using [Linuxbrew][Linuxbrew] for Linux and [Homebrew][Homebrew] on Macs.
|
|
|
|
|
-Please ensure these are installed before proceeding.
|
|
|
|
|
|
|
+ ```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
|
|
INSTALL
|
|
|
-------
|
|
-------
|
|
|
|
|
|
|
|
- Clone this repository
|
|
- Clone this repository
|
|
|
- Use bundler to install the example package's dependencies
|
|
- 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
|
|
|
|
|
-```
|
|
|
|
|
|
|
+
|
|
|
|
|
+ ```sh
|
|
|
|
|
+ $ # from this directory
|
|
|
|
|
+ $ gem install bundler # if you don't already have bundler available
|
|
|
|
|
+ $ bundle install
|
|
|
|
|
+ ```
|
|
|
|
|
|
|
|
Try it!
|
|
Try it!
|
|
|
-------
|
|
-------
|
|
|
|
|
|
|
|
- Run the server
|
|
- Run the server
|
|
|
-```sh
|
|
|
|
|
-$ # from this directory
|
|
|
|
|
-$ bundle exec ./greeter_server.rb &
|
|
|
|
|
-```
|
|
|
|
|
|
|
+
|
|
|
|
|
+ ```sh
|
|
|
|
|
+ $ # from this directory
|
|
|
|
|
+ $ bundle exec ./greeter_server.rb &
|
|
|
|
|
+ ```
|
|
|
|
|
|
|
|
- Run the client
|
|
- Run the client
|
|
|
-```sh
|
|
|
|
|
-$ # from this directory
|
|
|
|
|
-$ bundle exec ./greeter_client.rb
|
|
|
|
|
-```
|
|
|
|
|
|
|
+
|
|
|
|
|
+ ```sh
|
|
|
|
|
+ $ # from this directory
|
|
|
|
|
+ $ bundle exec ./greeter_client.rb
|
|
|
|
|
+ ```
|
|
|
|
|
|
|
|
Tutorial
|
|
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)
|
|
You can find a more detailed tutorial in [gRPC Basics: Ruby](https://github.com/grpc/grpc-common/blob/master/ruby/route_guide/README.md)
|
|
|
|
|
|
|
|
-[Homebrew]: https://github.com/Homebrew/homebrew
|
|
|
|
|
-[Linuxbrew]: https://github.com/Homebrew/linuxbrew
|
|
|
|
|
|
|
+[helloworld.proto]:https://github.com/grpc/grpc-common/blob/master/protos/helloworld.proto
|
|
|
|
|
+[RVM]:https://www.rvm.io/
|