mirror of https://github.com/grpc/grpc.git
The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
https://grpc.io/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.7 KiB
61 lines
1.7 KiB
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/
|
|
|